@m3ui-vue/m3ui-vue 0.5.1 → 0.5.2
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/dist/{MMenuItem-Dw2ARZic.js → MMenuItem-DyY4zhRA.js} +217 -294
- package/dist/MMenuItem-DyY4zhRA.js.map +1 -0
- package/dist/code-editor.js +88 -74
- package/dist/code-editor.js.map +1 -1
- package/dist/components/MJsonEditor.vue.d.ts +7 -0
- package/dist/components/MJsonViewer.vue.d.ts +5 -0
- package/dist/composables/useLocale.d.ts +6 -0
- package/dist/locales/index.js +49 -7
- package/dist/locales/index.js.map +1 -1
- package/dist/m3ui-vue.css +1 -1
- package/dist/m3ui.js +1590 -1582
- package/dist/m3ui.js.map +1 -1
- package/dist/rich-text-editor.js +24 -23
- package/dist/rich-text-editor.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/useLocale-QCIVDYWx.js +88 -0
- package/dist/useLocale-QCIVDYWx.js.map +1 -0
- package/package.json +1 -1
- package/src/components/MCircleProgressBar.vue +2 -2
- package/src/components/MCodeEditor.vue +1 -0
- package/src/components/MJsonEditor.vue +35 -9
- package/src/components/MJsonViewer.vue +17 -1
- package/src/composables/useLocale.ts +18 -0
- package/src/locales/de.ts +10 -0
- package/src/locales/es.ts +10 -0
- package/src/locales/fr.ts +10 -0
- package/src/locales/ja.ts +10 -0
- package/src/locales/ko.ts +10 -0
- package/src/locales/pt.ts +10 -0
- package/src/locales/zh.ts +10 -0
- package/dist/MMenuItem-Dw2ARZic.js.map +0 -1
package/dist/code-editor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-editor.js","names":[],"sources":["../src/components/MCodeEditor.vue","../src/components/MCodeEditor.vue","../src/components/MJsonEditor.vue","../src/components/MJsonEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch, onMounted, onBeforeUnmount, computed } from 'vue'\nimport MIcon from './MIcon.vue'\n\ntype Language = 'javascript' | 'typescript' | 'json' | 'html' | 'css' | 'python' | 'vue' | 'plain'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string\n language?: Language\n readonly?: boolean\n lineNumbers?: boolean\n theme?: 'light' | 'dark'\n minHeight?: string\n maxHeight?: string\n placeholder?: string\n wrap?: boolean\n }>(),\n {\n language: 'javascript',\n readonly: false,\n lineNumbers: true,\n theme: 'light',\n minHeight: '200px',\n maxHeight: '600px',\n wrap: true,\n },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [string] }>()\n\nconst containerRef = ref<HTMLElement | null>(null)\nlet view: any = null\nlet cmModules: any = null\nconst copied = ref(false)\n\nasync function copyCode() {\n await navigator.clipboard.writeText(props.modelValue)\n copied.value = true\n setTimeout(() => { copied.value = false }, 1500)\n}\n\nconst langLabel = computed(() => {\n const labels: Record<Language, string> = {\n javascript: 'JavaScript',\n typescript: 'TypeScript',\n json: 'JSON',\n html: 'HTML',\n css: 'CSS',\n python: 'Python',\n vue: 'Vue',\n plain: 'Texto',\n }\n return labels[props.language]\n})\n\nasync function loadModules() {\n if (cmModules) return cmModules\n\n const [viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/state'),\n import('@codemirror/commands'),\n import('@codemirror/language'),\n import('@lezer/highlight'),\n import('@codemirror/theme-one-dark'),\n import('@codemirror/lang-javascript'),\n import('@codemirror/lang-json'),\n import('@codemirror/lang-html'),\n import('@codemirror/lang-css'),\n import('@codemirror/lang-python'),\n import('@codemirror/lang-vue'),\n ])\n\n cmModules = { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod }\n return cmModules\n}\n\nfunction buildM3HighlightStyle(languageMod: any, tags: any) {\n return languageMod.HighlightStyle.define([\n { tag: tags.keyword, color: 'var(--color-primary)' },\n { tag: tags.controlKeyword, color: 'var(--color-primary)', fontWeight: '500' },\n { tag: tags.operatorKeyword, color: 'var(--color-primary)' },\n { tag: tags.definitionKeyword, color: 'var(--color-primary)' },\n { tag: tags.moduleKeyword, color: 'var(--color-primary)' },\n\n { tag: tags.string, color: 'var(--color-tertiary)' },\n { tag: tags.regexp, color: 'var(--color-tertiary)' },\n\n { tag: tags.number, color: 'var(--color-error)' },\n { tag: tags.bool, color: 'var(--color-error)' },\n\n { tag: tags.function(tags.variableName), color: 'var(--color-secondary)' },\n { tag: tags.function(tags.definition(tags.variableName)), color: 'var(--color-secondary)', fontWeight: '500' },\n\n { tag: tags.typeName, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.className, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.namespace, color: 'var(--color-on-surface-variant)' },\n\n { tag: tags.propertyName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.propertyName), color: 'var(--color-on-surface)' },\n\n { tag: tags.variableName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.variableName), color: 'var(--color-on-surface)' },\n\n { tag: tags.comment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.lineComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.blockComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n\n { tag: tags.meta, color: 'var(--color-on-surface-variant)' },\n { tag: tags.tagName, color: 'var(--color-primary)' },\n { tag: tags.attributeName, color: 'var(--color-tertiary)' },\n { tag: tags.attributeValue, color: 'var(--color-secondary)' },\n\n { tag: tags.atom, color: 'var(--color-error)' },\n { tag: tags.null, color: 'var(--color-error)' },\n\n { tag: tags.punctuation, color: 'var(--color-on-surface-variant)' },\n { tag: tags.bracket, color: 'var(--color-on-surface-variant)' },\n { tag: tags.operator, color: 'var(--color-on-surface-variant)' },\n { tag: tags.separator, color: 'var(--color-on-surface-variant)' },\n ])\n}\n\nfunction getLangExtension(mods: any) {\n switch (props.language) {\n case 'javascript': return mods.jsMod.javascript()\n case 'typescript': return mods.jsMod.javascript({ typescript: true })\n case 'json': return mods.jsonMod.json()\n case 'html': return mods.htmlMod.html()\n case 'css': return mods.cssMod.css()\n case 'python': return mods.pyMod.python()\n case 'vue': return mods.vueMod.vue()\n default: return []\n }\n}\n\nfunction buildExtensions(mods: any) {\n const { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod } = mods\n\n const m3Style = buildM3HighlightStyle(languageMod, highlightMod.tags)\n\n const exts = [\n viewMod.keymap.of([...commandsMod.defaultKeymap, ...commandsMod.historyKeymap, commandsMod.indentWithTab]),\n commandsMod.history(),\n languageMod.bracketMatching(),\n languageMod.indentOnInput(),\n languageMod.foldGutter(),\n viewMod.highlightActiveLine(),\n viewMod.highlightActiveLineGutter(),\n languageMod.syntaxHighlighting(m3Style),\n languageMod.syntaxHighlighting(languageMod.defaultHighlightStyle, { fallback: true }),\n getLangExtension(mods),\n viewMod.EditorView.updateListener.of((update: any) => {\n if (update.docChanged) emit('update:modelValue', update.state.doc.toString())\n }),\n stateMod.EditorState.readOnly.of(props.readonly),\n ]\n\n if (props.wrap) exts.push(viewMod.EditorView.lineWrapping)\n if (props.lineNumbers) exts.push(viewMod.lineNumbers())\n if (props.theme === 'dark') exts.push(oneDarkMod.oneDark)\n\n return exts\n}\n\nasync function createEditor() {\n if (!containerRef.value) return\n const mods = await loadModules()\n const { viewMod, stateMod } = mods\n\n view?.destroy()\n\n view = new viewMod.EditorView({\n state: stateMod.EditorState.create({\n doc: props.modelValue,\n extensions: buildExtensions(mods),\n }),\n parent: containerRef.value,\n })\n}\n\nonMounted(createEditor)\n\nwatch(() => props.modelValue, (val) => {\n if (view && view.state.doc.toString() !== val) {\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: val } })\n }\n})\n\nwatch([() => props.language, () => props.theme, () => props.readonly, () => props.lineNumbers, () => props.wrap], createEditor)\n\nonBeforeUnmount(() => view?.destroy())\n</script>\n\n<template>\n <div class=\"overflow-hidden rounded-lg border border-outline-variant\">\n <!-- Header bar -->\n <div class=\"flex items-center justify-between border-b border-outline-variant bg-surface-container px-4 py-2\">\n <span class=\"text-label-medium text-on-surface-variant\">{{ langLabel }}</span>\n <div class=\"flex items-center gap-2\">\n <slot name=\"actions\" />\n <button\n type=\"button\"\n class=\"flex h-7 cursor-pointer items-center gap-1.5 rounded-md px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n :title=\"copied ? 'Copied!' : 'Copy code'\"\n @click=\"copyCode\"\n >\n <MIcon :name=\"copied ? 'check' : 'content_copy'\" :size=\"16\" :class=\"copied ? 'text-primary' : ''\" />\n <span v-if=\"copied\" class=\"text-primary\">Copied</span>\n </button>\n </div>\n </div>\n\n <!-- Editor -->\n <div\n ref=\"containerRef\"\n class=\"code-editor-container overflow-auto bg-surface text-on-surface\"\n :style=\"{ minHeight, maxHeight }\"\n />\n </div>\n</template>\n\n<style scoped>\n.code-editor-container :deep(.cm-editor) {\n height: 100%;\n min-height: inherit;\n font-family: 'Roboto Mono', 'Fira Code', 'Consolas', monospace;\n font-size: 0.8125rem;\n line-height: 1.6;\n}\n\n.code-editor-container :deep(.cm-editor.cm-focused) {\n outline: none;\n}\n\n.code-editor-container :deep(.cm-scroller) {\n min-height: inherit;\n}\n\n.code-editor-container :deep(.cm-content) {\n padding: 12px 0;\n}\n\n.code-editor-container :deep(.cm-line) {\n padding: 0 16px;\n}\n\n.code-editor-container :deep(.cm-gutters) {\n background: var(--color-surface-container);\n border-right: 1px solid var(--color-outline-variant);\n color: var(--color-outline);\n font-size: 0.75rem;\n padding: 0 4px;\n}\n\n.code-editor-container :deep(.cm-activeLineGutter) {\n background: var(--color-surface-container-high);\n color: var(--color-on-surface-variant);\n}\n\n.code-editor-container :deep(.cm-activeLine) {\n background: var(--color-surface-container-lowest);\n}\n\n.code-editor-container :deep(.cm-selectionBackground) {\n background: var(--color-primary-container) !important;\n}\n\n.code-editor-container :deep(.cm-cursor) {\n border-left-color: var(--color-primary);\n border-left-width: 2px;\n}\n\n.code-editor-container :deep(.cm-matchingBracket) {\n background: var(--color-tertiary-container);\n color: var(--color-on-tertiary-container);\n border-radius: 2px;\n}\n\n.code-editor-container :deep(.cm-foldGutter span) {\n color: var(--color-on-surface-variant);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, watch, onMounted, onBeforeUnmount, computed } from 'vue'\nimport MIcon from './MIcon.vue'\n\ntype Language = 'javascript' | 'typescript' | 'json' | 'html' | 'css' | 'python' | 'vue' | 'plain'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string\n language?: Language\n readonly?: boolean\n lineNumbers?: boolean\n theme?: 'light' | 'dark'\n minHeight?: string\n maxHeight?: string\n placeholder?: string\n wrap?: boolean\n }>(),\n {\n language: 'javascript',\n readonly: false,\n lineNumbers: true,\n theme: 'light',\n minHeight: '200px',\n maxHeight: '600px',\n wrap: true,\n },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [string] }>()\n\nconst containerRef = ref<HTMLElement | null>(null)\nlet view: any = null\nlet cmModules: any = null\nconst copied = ref(false)\n\nasync function copyCode() {\n await navigator.clipboard.writeText(props.modelValue)\n copied.value = true\n setTimeout(() => { copied.value = false }, 1500)\n}\n\nconst langLabel = computed(() => {\n const labels: Record<Language, string> = {\n javascript: 'JavaScript',\n typescript: 'TypeScript',\n json: 'JSON',\n html: 'HTML',\n css: 'CSS',\n python: 'Python',\n vue: 'Vue',\n plain: 'Texto',\n }\n return labels[props.language]\n})\n\nasync function loadModules() {\n if (cmModules) return cmModules\n\n const [viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/state'),\n import('@codemirror/commands'),\n import('@codemirror/language'),\n import('@lezer/highlight'),\n import('@codemirror/theme-one-dark'),\n import('@codemirror/lang-javascript'),\n import('@codemirror/lang-json'),\n import('@codemirror/lang-html'),\n import('@codemirror/lang-css'),\n import('@codemirror/lang-python'),\n import('@codemirror/lang-vue'),\n ])\n\n cmModules = { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod }\n return cmModules\n}\n\nfunction buildM3HighlightStyle(languageMod: any, tags: any) {\n return languageMod.HighlightStyle.define([\n { tag: tags.keyword, color: 'var(--color-primary)' },\n { tag: tags.controlKeyword, color: 'var(--color-primary)', fontWeight: '500' },\n { tag: tags.operatorKeyword, color: 'var(--color-primary)' },\n { tag: tags.definitionKeyword, color: 'var(--color-primary)' },\n { tag: tags.moduleKeyword, color: 'var(--color-primary)' },\n\n { tag: tags.string, color: 'var(--color-tertiary)' },\n { tag: tags.regexp, color: 'var(--color-tertiary)' },\n\n { tag: tags.number, color: 'var(--color-error)' },\n { tag: tags.bool, color: 'var(--color-error)' },\n\n { tag: tags.function(tags.variableName), color: 'var(--color-secondary)' },\n { tag: tags.function(tags.definition(tags.variableName)), color: 'var(--color-secondary)', fontWeight: '500' },\n\n { tag: tags.typeName, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.className, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.namespace, color: 'var(--color-on-surface-variant)' },\n\n { tag: tags.propertyName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.propertyName), color: 'var(--color-on-surface)' },\n\n { tag: tags.variableName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.variableName), color: 'var(--color-on-surface)' },\n\n { tag: tags.comment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.lineComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.blockComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n\n { tag: tags.meta, color: 'var(--color-on-surface-variant)' },\n { tag: tags.tagName, color: 'var(--color-primary)' },\n { tag: tags.attributeName, color: 'var(--color-tertiary)' },\n { tag: tags.attributeValue, color: 'var(--color-secondary)' },\n\n { tag: tags.atom, color: 'var(--color-error)' },\n { tag: tags.null, color: 'var(--color-error)' },\n\n { tag: tags.punctuation, color: 'var(--color-on-surface-variant)' },\n { tag: tags.bracket, color: 'var(--color-on-surface-variant)' },\n { tag: tags.operator, color: 'var(--color-on-surface-variant)' },\n { tag: tags.separator, color: 'var(--color-on-surface-variant)' },\n ])\n}\n\nfunction getLangExtension(mods: any) {\n switch (props.language) {\n case 'javascript': return mods.jsMod.javascript()\n case 'typescript': return mods.jsMod.javascript({ typescript: true })\n case 'json': return mods.jsonMod.json()\n case 'html': return mods.htmlMod.html()\n case 'css': return mods.cssMod.css()\n case 'python': return mods.pyMod.python()\n case 'vue': return mods.vueMod.vue()\n default: return []\n }\n}\n\nfunction buildExtensions(mods: any) {\n const { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod } = mods\n\n const m3Style = buildM3HighlightStyle(languageMod, highlightMod.tags)\n\n const exts = [\n viewMod.keymap.of([...commandsMod.defaultKeymap, ...commandsMod.historyKeymap, commandsMod.indentWithTab]),\n commandsMod.history(),\n languageMod.bracketMatching(),\n languageMod.indentOnInput(),\n languageMod.foldGutter(),\n viewMod.highlightActiveLine(),\n viewMod.highlightActiveLineGutter(),\n languageMod.syntaxHighlighting(m3Style),\n languageMod.syntaxHighlighting(languageMod.defaultHighlightStyle, { fallback: true }),\n getLangExtension(mods),\n viewMod.EditorView.updateListener.of((update: any) => {\n if (update.docChanged) emit('update:modelValue', update.state.doc.toString())\n }),\n stateMod.EditorState.readOnly.of(props.readonly),\n ]\n\n if (props.wrap) exts.push(viewMod.EditorView.lineWrapping)\n if (props.lineNumbers) exts.push(viewMod.lineNumbers())\n if (props.theme === 'dark') exts.push(oneDarkMod.oneDark)\n\n return exts\n}\n\nasync function createEditor() {\n if (!containerRef.value) return\n const mods = await loadModules()\n const { viewMod, stateMod } = mods\n\n view?.destroy()\n\n view = new viewMod.EditorView({\n state: stateMod.EditorState.create({\n doc: props.modelValue,\n extensions: buildExtensions(mods),\n }),\n parent: containerRef.value,\n })\n}\n\nonMounted(createEditor)\n\nwatch(() => props.modelValue, (val) => {\n if (view && view.state.doc.toString() !== val) {\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: val } })\n }\n})\n\nwatch([() => props.language, () => props.theme, () => props.readonly, () => props.lineNumbers, () => props.wrap], createEditor)\n\nonBeforeUnmount(() => view?.destroy())\n</script>\n\n<template>\n <div class=\"overflow-hidden rounded-lg border border-outline-variant\">\n <!-- Header bar -->\n <div class=\"flex items-center justify-between border-b border-outline-variant bg-surface-container px-4 py-2\">\n <span class=\"text-label-medium text-on-surface-variant\">{{ langLabel }}</span>\n <div class=\"flex items-center gap-2\">\n <slot name=\"actions\" />\n <button\n type=\"button\"\n class=\"flex h-7 cursor-pointer items-center gap-1.5 rounded-md px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n :title=\"copied ? 'Copied!' : 'Copy code'\"\n @click=\"copyCode\"\n >\n <MIcon :name=\"copied ? 'check' : 'content_copy'\" :size=\"16\" :class=\"copied ? 'text-primary' : ''\" />\n <span v-if=\"copied\" class=\"text-primary\">Copied</span>\n </button>\n </div>\n </div>\n\n <!-- Editor -->\n <div\n ref=\"containerRef\"\n class=\"code-editor-container overflow-auto bg-surface text-on-surface\"\n :style=\"{ minHeight, maxHeight }\"\n />\n </div>\n</template>\n\n<style scoped>\n.code-editor-container :deep(.cm-editor) {\n height: 100%;\n min-height: inherit;\n font-family: 'Roboto Mono', 'Fira Code', 'Consolas', monospace;\n font-size: 0.8125rem;\n line-height: 1.6;\n}\n\n.code-editor-container :deep(.cm-editor.cm-focused) {\n outline: none;\n}\n\n.code-editor-container :deep(.cm-scroller) {\n min-height: inherit;\n}\n\n.code-editor-container :deep(.cm-content) {\n padding: 12px 0;\n}\n\n.code-editor-container :deep(.cm-line) {\n padding: 0 16px;\n}\n\n.code-editor-container :deep(.cm-gutters) {\n background: var(--color-surface-container);\n border-right: 1px solid var(--color-outline-variant);\n color: var(--color-outline);\n font-size: 0.75rem;\n padding: 0 4px;\n}\n\n.code-editor-container :deep(.cm-activeLineGutter) {\n background: var(--color-surface-container-high);\n color: var(--color-on-surface-variant);\n}\n\n.code-editor-container :deep(.cm-activeLine) {\n background: var(--color-surface-container-lowest);\n}\n\n.code-editor-container :deep(.cm-selectionBackground) {\n background: var(--color-primary-container) !important;\n}\n\n.code-editor-container :deep(.cm-cursor) {\n border-left-color: var(--color-primary);\n border-left-width: 2px;\n}\n\n.code-editor-container :deep(.cm-matchingBracket) {\n background: var(--color-tertiary-container);\n color: var(--color-on-tertiary-container);\n border-radius: 2px;\n}\n\n.code-editor-container :deep(.cm-foldGutter span) {\n color: var(--color-on-surface-variant);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport MCodeEditor from './MCodeEditor.vue'\nimport MIcon from './MIcon.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: unknown\n readonly?: boolean\n minHeight?: string\n maxHeight?: string\n }>(),\n {\n readonly: false,\n minHeight: '200px',\n maxHeight: '600px',\n },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [unknown] }>()\n\nconst rawText = ref(JSON.stringify(props.modelValue, null, 2))\nconst parseError = ref<string | null>(null)\n\nconst isValid = computed(() => !parseError.value)\n\nwatch(() => props.modelValue, (val) => {\n const incoming = JSON.stringify(val, null, 2)\n if (incoming !== rawText.value) {\n rawText.value = incoming\n parseError.value = null\n }\n})\n\nfunction onTextUpdate(text: string) {\n rawText.value = text\n try {\n const parsed = JSON.parse(text)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch (e) {\n parseError.value = (e as Error).message\n }\n}\n\nfunction formatJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed, null, 2)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n\nfunction minifyJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n</script>\n\n<template>\n <div class=\"flex flex-col gap-0\">\n <MCodeEditor\n :model-value=\"rawText\"\n language=\"json\"\n :readonly=\"readonly\"\n :min-height=\"minHeight\"\n :max-height=\"maxHeight\"\n @update:model-value=\"onTextUpdate\"\n >\n <template #actions>\n <div class=\"flex items-center gap-2\">\n <!-- Validation badge -->\n <span\n class=\"flex items-center gap-1 rounded-full px-2.5 py-0.5 text-label-small\"\n :class=\"isValid ? 'bg-success-container text-on-success-container' : 'bg-error-container text-on-error-container'\"\n >\n <MIcon :name=\"isValid ? 'check_circle' : 'error'\" :size=\"14\" />\n {{ isValid ? 'Válido' : 'Inválido' }}\n </span>\n\n <button\n v-if=\"!readonly\"\n type=\"button\"\n title=\"Formatear\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"formatJson\"\n >\n <MIcon name=\"format_indent_increase\" :size=\"16\" />\n Formatear\n </button>\n <button\n v-if=\"!readonly\"\n type=\"button\"\n title=\"Minificar\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"minifyJson\"\n >\n <MIcon name=\"compress\" :size=\"16\" />\n Minificar\n </button>\n </div>\n </template>\n </MCodeEditor>\n\n <p v-if=\"parseError\" class=\"px-3 py-1.5 text-body-small text-error\">\n {{ parseError }}\n </p>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport MCodeEditor from './MCodeEditor.vue'\nimport MIcon from './MIcon.vue'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: unknown\n readonly?: boolean\n minHeight?: string\n maxHeight?: string\n }>(),\n {\n readonly: false,\n minHeight: '200px',\n maxHeight: '600px',\n },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [unknown] }>()\n\nconst rawText = ref(JSON.stringify(props.modelValue, null, 2))\nconst parseError = ref<string | null>(null)\n\nconst isValid = computed(() => !parseError.value)\n\nwatch(() => props.modelValue, (val) => {\n const incoming = JSON.stringify(val, null, 2)\n if (incoming !== rawText.value) {\n rawText.value = incoming\n parseError.value = null\n }\n})\n\nfunction onTextUpdate(text: string) {\n rawText.value = text\n try {\n const parsed = JSON.parse(text)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch (e) {\n parseError.value = (e as Error).message\n }\n}\n\nfunction formatJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed, null, 2)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n\nfunction minifyJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n</script>\n\n<template>\n <div class=\"flex flex-col gap-0\">\n <MCodeEditor\n :model-value=\"rawText\"\n language=\"json\"\n :readonly=\"readonly\"\n :min-height=\"minHeight\"\n :max-height=\"maxHeight\"\n @update:model-value=\"onTextUpdate\"\n >\n <template #actions>\n <div class=\"flex items-center gap-2\">\n <!-- Validation badge -->\n <span\n class=\"flex items-center gap-1 rounded-full px-2.5 py-0.5 text-label-small\"\n :class=\"isValid ? 'bg-success-container text-on-success-container' : 'bg-error-container text-on-error-container'\"\n >\n <MIcon :name=\"isValid ? 'check_circle' : 'error'\" :size=\"14\" />\n {{ isValid ? 'Válido' : 'Inválido' }}\n </span>\n\n <button\n v-if=\"!readonly\"\n type=\"button\"\n title=\"Formatear\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"formatJson\"\n >\n <MIcon name=\"format_indent_increase\" :size=\"16\" />\n Formatear\n </button>\n <button\n v-if=\"!readonly\"\n type=\"button\"\n title=\"Minificar\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"minifyJson\"\n >\n <MIcon name=\"compress\" :size=\"16\" />\n Minificar\n </button>\n </div>\n </template>\n </MCodeEditor>\n\n <p v-if=\"parseError\" class=\"px-3 py-1.5 text-body-small text-error\">\n {{ parseError }}\n </p>\n </div>\n</template>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-editor.js","names":[],"sources":["../src/components/MCodeEditor.vue","../src/components/MCodeEditor.vue","../src/components/MJsonEditor.vue","../src/components/MJsonEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, watch, onMounted, onBeforeUnmount, computed } from 'vue'\nimport MIcon from './MIcon.vue'\n\ntype Language = 'javascript' | 'typescript' | 'json' | 'html' | 'css' | 'python' | 'vue' | 'plain'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string\n language?: Language\n readonly?: boolean\n lineNumbers?: boolean\n theme?: 'light' | 'dark'\n minHeight?: string\n maxHeight?: string\n placeholder?: string\n wrap?: boolean\n }>(),\n {\n language: 'javascript',\n readonly: false,\n lineNumbers: true,\n theme: 'light',\n minHeight: '200px',\n maxHeight: '600px',\n wrap: true,\n },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [string] }>()\n\nconst containerRef = ref<HTMLElement | null>(null)\nlet view: any = null\nlet cmModules: any = null\nconst copied = ref(false)\n\nasync function copyCode() {\n await navigator.clipboard.writeText(props.modelValue)\n copied.value = true\n setTimeout(() => { copied.value = false }, 1500)\n}\n\nconst langLabel = computed(() => {\n const labels: Record<Language, string> = {\n javascript: 'JavaScript',\n typescript: 'TypeScript',\n json: 'JSON',\n html: 'HTML',\n css: 'CSS',\n python: 'Python',\n vue: 'Vue',\n plain: 'Texto',\n }\n return labels[props.language]\n})\n\nasync function loadModules() {\n if (cmModules) return cmModules\n\n const [viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/state'),\n import('@codemirror/commands'),\n import('@codemirror/language'),\n import('@lezer/highlight'),\n import('@codemirror/theme-one-dark'),\n import('@codemirror/lang-javascript'),\n import('@codemirror/lang-json'),\n import('@codemirror/lang-html'),\n import('@codemirror/lang-css'),\n import('@codemirror/lang-python'),\n import('@codemirror/lang-vue'),\n ])\n\n cmModules = { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod }\n return cmModules\n}\n\nfunction buildM3HighlightStyle(languageMod: any, tags: any) {\n return languageMod.HighlightStyle.define([\n { tag: tags.keyword, color: 'var(--color-primary)' },\n { tag: tags.controlKeyword, color: 'var(--color-primary)', fontWeight: '500' },\n { tag: tags.operatorKeyword, color: 'var(--color-primary)' },\n { tag: tags.definitionKeyword, color: 'var(--color-primary)' },\n { tag: tags.moduleKeyword, color: 'var(--color-primary)' },\n\n { tag: tags.string, color: 'var(--color-tertiary)' },\n { tag: tags.regexp, color: 'var(--color-tertiary)' },\n\n { tag: tags.number, color: 'var(--color-error)' },\n { tag: tags.bool, color: 'var(--color-error)' },\n\n { tag: tags.function(tags.variableName), color: 'var(--color-secondary)' },\n { tag: tags.function(tags.definition(tags.variableName)), color: 'var(--color-secondary)', fontWeight: '500' },\n\n { tag: tags.typeName, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.className, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.namespace, color: 'var(--color-on-surface-variant)' },\n\n { tag: tags.propertyName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.propertyName), color: 'var(--color-on-surface)' },\n\n { tag: tags.variableName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.variableName), color: 'var(--color-on-surface)' },\n\n { tag: tags.comment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.lineComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.blockComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n\n { tag: tags.meta, color: 'var(--color-on-surface-variant)' },\n { tag: tags.tagName, color: 'var(--color-primary)' },\n { tag: tags.attributeName, color: 'var(--color-tertiary)' },\n { tag: tags.attributeValue, color: 'var(--color-secondary)' },\n\n { tag: tags.atom, color: 'var(--color-error)' },\n { tag: tags.null, color: 'var(--color-error)' },\n\n { tag: tags.punctuation, color: 'var(--color-on-surface-variant)' },\n { tag: tags.bracket, color: 'var(--color-on-surface-variant)' },\n { tag: tags.operator, color: 'var(--color-on-surface-variant)' },\n { tag: tags.separator, color: 'var(--color-on-surface-variant)' },\n ])\n}\n\nfunction getLangExtension(mods: any) {\n switch (props.language) {\n case 'javascript': return mods.jsMod.javascript()\n case 'typescript': return mods.jsMod.javascript({ typescript: true })\n case 'json': return mods.jsonMod.json()\n case 'html': return mods.htmlMod.html()\n case 'css': return mods.cssMod.css()\n case 'python': return mods.pyMod.python()\n case 'vue': return mods.vueMod.vue()\n default: return []\n }\n}\n\nfunction buildExtensions(mods: any) {\n const { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod } = mods\n\n const m3Style = buildM3HighlightStyle(languageMod, highlightMod.tags)\n\n const exts = [\n viewMod.keymap.of([...commandsMod.defaultKeymap, ...commandsMod.historyKeymap, commandsMod.indentWithTab]),\n commandsMod.history(),\n languageMod.bracketMatching(),\n languageMod.indentOnInput(),\n languageMod.foldGutter(),\n viewMod.drawSelection(),\n viewMod.highlightActiveLine(),\n viewMod.highlightActiveLineGutter(),\n languageMod.syntaxHighlighting(m3Style),\n languageMod.syntaxHighlighting(languageMod.defaultHighlightStyle, { fallback: true }),\n getLangExtension(mods),\n viewMod.EditorView.updateListener.of((update: any) => {\n if (update.docChanged) emit('update:modelValue', update.state.doc.toString())\n }),\n stateMod.EditorState.readOnly.of(props.readonly),\n ]\n\n if (props.wrap) exts.push(viewMod.EditorView.lineWrapping)\n if (props.lineNumbers) exts.push(viewMod.lineNumbers())\n if (props.theme === 'dark') exts.push(oneDarkMod.oneDark)\n\n return exts\n}\n\nasync function createEditor() {\n if (!containerRef.value) return\n const mods = await loadModules()\n const { viewMod, stateMod } = mods\n\n view?.destroy()\n\n view = new viewMod.EditorView({\n state: stateMod.EditorState.create({\n doc: props.modelValue,\n extensions: buildExtensions(mods),\n }),\n parent: containerRef.value,\n })\n}\n\nonMounted(createEditor)\n\nwatch(() => props.modelValue, (val) => {\n if (view && view.state.doc.toString() !== val) {\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: val } })\n }\n})\n\nwatch([() => props.language, () => props.theme, () => props.readonly, () => props.lineNumbers, () => props.wrap], createEditor)\n\nonBeforeUnmount(() => view?.destroy())\n</script>\n\n<template>\n <div class=\"overflow-hidden rounded-lg border border-outline-variant\">\n <!-- Header bar -->\n <div class=\"flex items-center justify-between border-b border-outline-variant bg-surface-container px-4 py-2\">\n <span class=\"text-label-medium text-on-surface-variant\">{{ langLabel }}</span>\n <div class=\"flex items-center gap-2\">\n <slot name=\"actions\" />\n <button\n type=\"button\"\n class=\"flex h-7 cursor-pointer items-center gap-1.5 rounded-md px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n :title=\"copied ? 'Copied!' : 'Copy code'\"\n @click=\"copyCode\"\n >\n <MIcon :name=\"copied ? 'check' : 'content_copy'\" :size=\"16\" :class=\"copied ? 'text-primary' : ''\" />\n <span v-if=\"copied\" class=\"text-primary\">Copied</span>\n </button>\n </div>\n </div>\n\n <!-- Editor -->\n <div\n ref=\"containerRef\"\n class=\"code-editor-container overflow-auto bg-surface text-on-surface\"\n :style=\"{ minHeight, maxHeight }\"\n />\n </div>\n</template>\n\n<style scoped>\n.code-editor-container :deep(.cm-editor) {\n height: 100%;\n min-height: inherit;\n font-family: 'Roboto Mono', 'Fira Code', 'Consolas', monospace;\n font-size: 0.8125rem;\n line-height: 1.6;\n}\n\n.code-editor-container :deep(.cm-editor.cm-focused) {\n outline: none;\n}\n\n.code-editor-container :deep(.cm-scroller) {\n min-height: inherit;\n}\n\n.code-editor-container :deep(.cm-content) {\n padding: 12px 0;\n}\n\n.code-editor-container :deep(.cm-line) {\n padding: 0 16px;\n}\n\n.code-editor-container :deep(.cm-gutters) {\n background: var(--color-surface-container);\n border-right: 1px solid var(--color-outline-variant);\n color: var(--color-outline);\n font-size: 0.75rem;\n padding: 0 4px;\n}\n\n.code-editor-container :deep(.cm-activeLineGutter) {\n background: var(--color-surface-container-high);\n color: var(--color-on-surface-variant);\n}\n\n.code-editor-container :deep(.cm-activeLine) {\n background: var(--color-surface-container-lowest);\n}\n\n.code-editor-container :deep(.cm-selectionBackground) {\n background: var(--color-primary-container) !important;\n}\n\n.code-editor-container :deep(.cm-cursor) {\n border-left-color: var(--color-primary);\n border-left-width: 2px;\n}\n\n.code-editor-container :deep(.cm-matchingBracket) {\n background: var(--color-tertiary-container);\n color: var(--color-on-tertiary-container);\n border-radius: 2px;\n}\n\n.code-editor-container :deep(.cm-foldGutter span) {\n color: var(--color-on-surface-variant);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, watch, onMounted, onBeforeUnmount, computed } from 'vue'\nimport MIcon from './MIcon.vue'\n\ntype Language = 'javascript' | 'typescript' | 'json' | 'html' | 'css' | 'python' | 'vue' | 'plain'\n\nconst props = withDefaults(\n defineProps<{\n modelValue: string\n language?: Language\n readonly?: boolean\n lineNumbers?: boolean\n theme?: 'light' | 'dark'\n minHeight?: string\n maxHeight?: string\n placeholder?: string\n wrap?: boolean\n }>(),\n {\n language: 'javascript',\n readonly: false,\n lineNumbers: true,\n theme: 'light',\n minHeight: '200px',\n maxHeight: '600px',\n wrap: true,\n },\n)\n\nconst emit = defineEmits<{ 'update:modelValue': [string] }>()\n\nconst containerRef = ref<HTMLElement | null>(null)\nlet view: any = null\nlet cmModules: any = null\nconst copied = ref(false)\n\nasync function copyCode() {\n await navigator.clipboard.writeText(props.modelValue)\n copied.value = true\n setTimeout(() => { copied.value = false }, 1500)\n}\n\nconst langLabel = computed(() => {\n const labels: Record<Language, string> = {\n javascript: 'JavaScript',\n typescript: 'TypeScript',\n json: 'JSON',\n html: 'HTML',\n css: 'CSS',\n python: 'Python',\n vue: 'Vue',\n plain: 'Texto',\n }\n return labels[props.language]\n})\n\nasync function loadModules() {\n if (cmModules) return cmModules\n\n const [viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod] = await Promise.all([\n import('@codemirror/view'),\n import('@codemirror/state'),\n import('@codemirror/commands'),\n import('@codemirror/language'),\n import('@lezer/highlight'),\n import('@codemirror/theme-one-dark'),\n import('@codemirror/lang-javascript'),\n import('@codemirror/lang-json'),\n import('@codemirror/lang-html'),\n import('@codemirror/lang-css'),\n import('@codemirror/lang-python'),\n import('@codemirror/lang-vue'),\n ])\n\n cmModules = { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod, jsMod, jsonMod, htmlMod, cssMod, pyMod, vueMod }\n return cmModules\n}\n\nfunction buildM3HighlightStyle(languageMod: any, tags: any) {\n return languageMod.HighlightStyle.define([\n { tag: tags.keyword, color: 'var(--color-primary)' },\n { tag: tags.controlKeyword, color: 'var(--color-primary)', fontWeight: '500' },\n { tag: tags.operatorKeyword, color: 'var(--color-primary)' },\n { tag: tags.definitionKeyword, color: 'var(--color-primary)' },\n { tag: tags.moduleKeyword, color: 'var(--color-primary)' },\n\n { tag: tags.string, color: 'var(--color-tertiary)' },\n { tag: tags.regexp, color: 'var(--color-tertiary)' },\n\n { tag: tags.number, color: 'var(--color-error)' },\n { tag: tags.bool, color: 'var(--color-error)' },\n\n { tag: tags.function(tags.variableName), color: 'var(--color-secondary)' },\n { tag: tags.function(tags.definition(tags.variableName)), color: 'var(--color-secondary)', fontWeight: '500' },\n\n { tag: tags.typeName, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.className, color: 'var(--color-primary)', fontStyle: 'italic' },\n { tag: tags.namespace, color: 'var(--color-on-surface-variant)' },\n\n { tag: tags.propertyName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.propertyName), color: 'var(--color-on-surface)' },\n\n { tag: tags.variableName, color: 'var(--color-on-surface)' },\n { tag: tags.definition(tags.variableName), color: 'var(--color-on-surface)' },\n\n { tag: tags.comment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.lineComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n { tag: tags.blockComment, color: 'var(--color-outline)', fontStyle: 'italic' },\n\n { tag: tags.meta, color: 'var(--color-on-surface-variant)' },\n { tag: tags.tagName, color: 'var(--color-primary)' },\n { tag: tags.attributeName, color: 'var(--color-tertiary)' },\n { tag: tags.attributeValue, color: 'var(--color-secondary)' },\n\n { tag: tags.atom, color: 'var(--color-error)' },\n { tag: tags.null, color: 'var(--color-error)' },\n\n { tag: tags.punctuation, color: 'var(--color-on-surface-variant)' },\n { tag: tags.bracket, color: 'var(--color-on-surface-variant)' },\n { tag: tags.operator, color: 'var(--color-on-surface-variant)' },\n { tag: tags.separator, color: 'var(--color-on-surface-variant)' },\n ])\n}\n\nfunction getLangExtension(mods: any) {\n switch (props.language) {\n case 'javascript': return mods.jsMod.javascript()\n case 'typescript': return mods.jsMod.javascript({ typescript: true })\n case 'json': return mods.jsonMod.json()\n case 'html': return mods.htmlMod.html()\n case 'css': return mods.cssMod.css()\n case 'python': return mods.pyMod.python()\n case 'vue': return mods.vueMod.vue()\n default: return []\n }\n}\n\nfunction buildExtensions(mods: any) {\n const { viewMod, stateMod, commandsMod, languageMod, highlightMod, oneDarkMod } = mods\n\n const m3Style = buildM3HighlightStyle(languageMod, highlightMod.tags)\n\n const exts = [\n viewMod.keymap.of([...commandsMod.defaultKeymap, ...commandsMod.historyKeymap, commandsMod.indentWithTab]),\n commandsMod.history(),\n languageMod.bracketMatching(),\n languageMod.indentOnInput(),\n languageMod.foldGutter(),\n viewMod.drawSelection(),\n viewMod.highlightActiveLine(),\n viewMod.highlightActiveLineGutter(),\n languageMod.syntaxHighlighting(m3Style),\n languageMod.syntaxHighlighting(languageMod.defaultHighlightStyle, { fallback: true }),\n getLangExtension(mods),\n viewMod.EditorView.updateListener.of((update: any) => {\n if (update.docChanged) emit('update:modelValue', update.state.doc.toString())\n }),\n stateMod.EditorState.readOnly.of(props.readonly),\n ]\n\n if (props.wrap) exts.push(viewMod.EditorView.lineWrapping)\n if (props.lineNumbers) exts.push(viewMod.lineNumbers())\n if (props.theme === 'dark') exts.push(oneDarkMod.oneDark)\n\n return exts\n}\n\nasync function createEditor() {\n if (!containerRef.value) return\n const mods = await loadModules()\n const { viewMod, stateMod } = mods\n\n view?.destroy()\n\n view = new viewMod.EditorView({\n state: stateMod.EditorState.create({\n doc: props.modelValue,\n extensions: buildExtensions(mods),\n }),\n parent: containerRef.value,\n })\n}\n\nonMounted(createEditor)\n\nwatch(() => props.modelValue, (val) => {\n if (view && view.state.doc.toString() !== val) {\n view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: val } })\n }\n})\n\nwatch([() => props.language, () => props.theme, () => props.readonly, () => props.lineNumbers, () => props.wrap], createEditor)\n\nonBeforeUnmount(() => view?.destroy())\n</script>\n\n<template>\n <div class=\"overflow-hidden rounded-lg border border-outline-variant\">\n <!-- Header bar -->\n <div class=\"flex items-center justify-between border-b border-outline-variant bg-surface-container px-4 py-2\">\n <span class=\"text-label-medium text-on-surface-variant\">{{ langLabel }}</span>\n <div class=\"flex items-center gap-2\">\n <slot name=\"actions\" />\n <button\n type=\"button\"\n class=\"flex h-7 cursor-pointer items-center gap-1.5 rounded-md px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n :title=\"copied ? 'Copied!' : 'Copy code'\"\n @click=\"copyCode\"\n >\n <MIcon :name=\"copied ? 'check' : 'content_copy'\" :size=\"16\" :class=\"copied ? 'text-primary' : ''\" />\n <span v-if=\"copied\" class=\"text-primary\">Copied</span>\n </button>\n </div>\n </div>\n\n <!-- Editor -->\n <div\n ref=\"containerRef\"\n class=\"code-editor-container overflow-auto bg-surface text-on-surface\"\n :style=\"{ minHeight, maxHeight }\"\n />\n </div>\n</template>\n\n<style scoped>\n.code-editor-container :deep(.cm-editor) {\n height: 100%;\n min-height: inherit;\n font-family: 'Roboto Mono', 'Fira Code', 'Consolas', monospace;\n font-size: 0.8125rem;\n line-height: 1.6;\n}\n\n.code-editor-container :deep(.cm-editor.cm-focused) {\n outline: none;\n}\n\n.code-editor-container :deep(.cm-scroller) {\n min-height: inherit;\n}\n\n.code-editor-container :deep(.cm-content) {\n padding: 12px 0;\n}\n\n.code-editor-container :deep(.cm-line) {\n padding: 0 16px;\n}\n\n.code-editor-container :deep(.cm-gutters) {\n background: var(--color-surface-container);\n border-right: 1px solid var(--color-outline-variant);\n color: var(--color-outline);\n font-size: 0.75rem;\n padding: 0 4px;\n}\n\n.code-editor-container :deep(.cm-activeLineGutter) {\n background: var(--color-surface-container-high);\n color: var(--color-on-surface-variant);\n}\n\n.code-editor-container :deep(.cm-activeLine) {\n background: var(--color-surface-container-lowest);\n}\n\n.code-editor-container :deep(.cm-selectionBackground) {\n background: var(--color-primary-container) !important;\n}\n\n.code-editor-container :deep(.cm-cursor) {\n border-left-color: var(--color-primary);\n border-left-width: 2px;\n}\n\n.code-editor-container :deep(.cm-matchingBracket) {\n background: var(--color-tertiary-container);\n color: var(--color-on-tertiary-container);\n border-radius: 2px;\n}\n\n.code-editor-container :deep(.cm-foldGutter span) {\n color: var(--color-on-surface-variant);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport MCodeEditor from './MCodeEditor.vue'\nimport MIcon from './MIcon.vue'\nimport { useLocale } from '../composables/useLocale'\n\nexport interface JsonEditorLabels {\n valid?: string\n invalid?: string\n format?: string\n minify?: string\n}\n\nconst locale = useLocale()\n\nconst props = withDefaults(\n defineProps<{\n modelValue: unknown\n readonly?: boolean\n minHeight?: string\n maxHeight?: string\n labels?: JsonEditorLabels\n }>(),\n {\n readonly: false,\n minHeight: '200px',\n maxHeight: '600px',\n },\n)\n\nconst l = computed<Required<JsonEditorLabels>>(() => ({\n valid: locale.jsonValid,\n invalid: locale.jsonInvalid,\n format: locale.jsonFormat,\n minify: locale.jsonMinify,\n ...props.labels,\n}))\n\nconst emit = defineEmits<{ 'update:modelValue': [unknown] }>()\n\nconst rawText = ref(JSON.stringify(props.modelValue, null, 2))\nconst parseError = ref<string | null>(null)\n\nconst isValid = computed(() => !parseError.value)\n\nwatch(() => props.modelValue, (val) => {\n let current: unknown\n try {\n current = JSON.parse(rawText.value)\n } catch {\n current = undefined\n }\n // Only resync from outside when the actual data changed, not just its formatting —\n // otherwise the round-trip from formatJson/minifyJson emitting would immediately\n // overwrite the newly (re)formatted text with a pretty-printed copy.\n if (JSON.stringify(current) === JSON.stringify(val)) return\n rawText.value = JSON.stringify(val, null, 2)\n parseError.value = null\n})\n\nfunction onTextUpdate(text: string) {\n rawText.value = text\n try {\n const parsed = JSON.parse(text)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch (e) {\n parseError.value = (e as Error).message\n }\n}\n\nfunction formatJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed, null, 2)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n\nfunction minifyJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n</script>\n\n<template>\n <div class=\"flex flex-col gap-0\">\n <MCodeEditor\n :model-value=\"rawText\"\n language=\"json\"\n :readonly=\"readonly\"\n :min-height=\"minHeight\"\n :max-height=\"maxHeight\"\n @update:model-value=\"onTextUpdate\"\n >\n <template #actions>\n <div class=\"flex items-center gap-2\">\n <!-- Validation badge -->\n <span\n class=\"flex items-center gap-1 rounded-full px-2.5 py-0.5 text-label-small\"\n :class=\"isValid ? 'bg-success-container text-on-success-container' : 'bg-error-container text-on-error-container'\"\n >\n <MIcon :name=\"isValid ? 'check_circle' : 'error'\" :size=\"14\" />\n {{ isValid ? l.valid : l.invalid }}\n </span>\n\n <button\n v-if=\"!readonly\"\n type=\"button\"\n :title=\"l.format\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"formatJson\"\n >\n <MIcon name=\"format_indent_increase\" :size=\"16\" />\n {{ l.format }}\n </button>\n <button\n v-if=\"!readonly\"\n type=\"button\"\n :title=\"l.minify\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"minifyJson\"\n >\n <MIcon name=\"compress\" :size=\"16\" />\n {{ l.minify }}\n </button>\n </div>\n </template>\n </MCodeEditor>\n\n <p v-if=\"parseError\" class=\"px-3 py-1.5 text-body-small text-error\">\n {{ parseError }}\n </p>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport MCodeEditor from './MCodeEditor.vue'\nimport MIcon from './MIcon.vue'\nimport { useLocale } from '../composables/useLocale'\n\nexport interface JsonEditorLabels {\n valid?: string\n invalid?: string\n format?: string\n minify?: string\n}\n\nconst locale = useLocale()\n\nconst props = withDefaults(\n defineProps<{\n modelValue: unknown\n readonly?: boolean\n minHeight?: string\n maxHeight?: string\n labels?: JsonEditorLabels\n }>(),\n {\n readonly: false,\n minHeight: '200px',\n maxHeight: '600px',\n },\n)\n\nconst l = computed<Required<JsonEditorLabels>>(() => ({\n valid: locale.jsonValid,\n invalid: locale.jsonInvalid,\n format: locale.jsonFormat,\n minify: locale.jsonMinify,\n ...props.labels,\n}))\n\nconst emit = defineEmits<{ 'update:modelValue': [unknown] }>()\n\nconst rawText = ref(JSON.stringify(props.modelValue, null, 2))\nconst parseError = ref<string | null>(null)\n\nconst isValid = computed(() => !parseError.value)\n\nwatch(() => props.modelValue, (val) => {\n let current: unknown\n try {\n current = JSON.parse(rawText.value)\n } catch {\n current = undefined\n }\n // Only resync from outside when the actual data changed, not just its formatting —\n // otherwise the round-trip from formatJson/minifyJson emitting would immediately\n // overwrite the newly (re)formatted text with a pretty-printed copy.\n if (JSON.stringify(current) === JSON.stringify(val)) return\n rawText.value = JSON.stringify(val, null, 2)\n parseError.value = null\n})\n\nfunction onTextUpdate(text: string) {\n rawText.value = text\n try {\n const parsed = JSON.parse(text)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch (e) {\n parseError.value = (e as Error).message\n }\n}\n\nfunction formatJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed, null, 2)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n\nfunction minifyJson() {\n try {\n const parsed = JSON.parse(rawText.value)\n rawText.value = JSON.stringify(parsed)\n parseError.value = null\n emit('update:modelValue', parsed)\n } catch {\n // keep error state\n }\n}\n</script>\n\n<template>\n <div class=\"flex flex-col gap-0\">\n <MCodeEditor\n :model-value=\"rawText\"\n language=\"json\"\n :readonly=\"readonly\"\n :min-height=\"minHeight\"\n :max-height=\"maxHeight\"\n @update:model-value=\"onTextUpdate\"\n >\n <template #actions>\n <div class=\"flex items-center gap-2\">\n <!-- Validation badge -->\n <span\n class=\"flex items-center gap-1 rounded-full px-2.5 py-0.5 text-label-small\"\n :class=\"isValid ? 'bg-success-container text-on-success-container' : 'bg-error-container text-on-error-container'\"\n >\n <MIcon :name=\"isValid ? 'check_circle' : 'error'\" :size=\"14\" />\n {{ isValid ? l.valid : l.invalid }}\n </span>\n\n <button\n v-if=\"!readonly\"\n type=\"button\"\n :title=\"l.format\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"formatJson\"\n >\n <MIcon name=\"format_indent_increase\" :size=\"16\" />\n {{ l.format }}\n </button>\n <button\n v-if=\"!readonly\"\n type=\"button\"\n :title=\"l.minify\"\n class=\"flex h-7 cursor-pointer items-center gap-1 rounded px-2 text-label-medium text-on-surface-variant transition-colors hover:bg-on-surface/8\"\n @click=\"minifyJson\"\n >\n <MIcon name=\"compress\" :size=\"16\" />\n {{ l.minify }}\n </button>\n </div>\n </template>\n </MCodeEditor>\n\n <p v-if=\"parseError\" class=\"px-3 py-1.5 text-body-small text-error\">\n {{ parseError }}\n </p>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
export interface JsonEditorLabels {
|
|
2
|
+
valid?: string;
|
|
3
|
+
invalid?: string;
|
|
4
|
+
format?: string;
|
|
5
|
+
minify?: string;
|
|
6
|
+
}
|
|
1
7
|
type __VLS_Props = {
|
|
2
8
|
modelValue: unknown;
|
|
3
9
|
readonly?: boolean;
|
|
4
10
|
minHeight?: string;
|
|
5
11
|
maxHeight?: string;
|
|
12
|
+
labels?: JsonEditorLabels;
|
|
6
13
|
};
|
|
7
14
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
15
|
"update:modelValue": (args_0: unknown) => any;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
export interface JsonViewerLabels {
|
|
2
|
+
elements?: string;
|
|
3
|
+
fields?: string;
|
|
4
|
+
}
|
|
1
5
|
type __VLS_Props = {
|
|
2
6
|
data: unknown;
|
|
3
7
|
rootName?: string;
|
|
4
8
|
expandDepth?: number;
|
|
9
|
+
labels?: JsonViewerLabels;
|
|
5
10
|
/** @internal — used by recursive instances */
|
|
6
11
|
_depth?: number;
|
|
7
12
|
};
|
|
@@ -68,6 +68,12 @@ export interface M3Locale {
|
|
|
68
68
|
insertImage: string;
|
|
69
69
|
imageUrlLabel: string;
|
|
70
70
|
insert: string;
|
|
71
|
+
jsonValid: string;
|
|
72
|
+
jsonInvalid: string;
|
|
73
|
+
jsonFormat: string;
|
|
74
|
+
jsonMinify: string;
|
|
75
|
+
jsonElements: string;
|
|
76
|
+
jsonFields: string;
|
|
71
77
|
}
|
|
72
78
|
export declare const defaultLocale: M3Locale;
|
|
73
79
|
export declare const M3_LOCALE_KEY: InjectionKey<MaybeRef<Partial<M3Locale>>>;
|
package/dist/locales/index.js
CHANGED
|
@@ -67,7 +67,13 @@ var e = {
|
|
|
67
67
|
insertLink: "Insertar enlace",
|
|
68
68
|
insertImage: "Insertar imagen",
|
|
69
69
|
imageUrlLabel: "URL de la imagen",
|
|
70
|
-
insert: "Insertar"
|
|
70
|
+
insert: "Insertar",
|
|
71
|
+
jsonValid: "Válido",
|
|
72
|
+
jsonInvalid: "Inválido",
|
|
73
|
+
jsonFormat: "Formatear",
|
|
74
|
+
jsonMinify: "Minificar",
|
|
75
|
+
jsonElements: "elementos",
|
|
76
|
+
jsonFields: "campos"
|
|
71
77
|
}, t = {
|
|
72
78
|
search: "Rechercher...",
|
|
73
79
|
noResults: "Aucun résultat",
|
|
@@ -136,7 +142,13 @@ var e = {
|
|
|
136
142
|
insertLink: "Insérer un lien",
|
|
137
143
|
insertImage: "Insérer une image",
|
|
138
144
|
imageUrlLabel: "URL de l'image",
|
|
139
|
-
insert: "Insérer"
|
|
145
|
+
insert: "Insérer",
|
|
146
|
+
jsonValid: "Valide",
|
|
147
|
+
jsonInvalid: "Invalide",
|
|
148
|
+
jsonFormat: "Formater",
|
|
149
|
+
jsonMinify: "Minifier",
|
|
150
|
+
jsonElements: "éléments",
|
|
151
|
+
jsonFields: "champs"
|
|
140
152
|
}, n = {
|
|
141
153
|
search: "Pesquisar...",
|
|
142
154
|
noResults: "Sem resultados",
|
|
@@ -205,7 +217,13 @@ var e = {
|
|
|
205
217
|
insertLink: "Inserir link",
|
|
206
218
|
insertImage: "Inserir imagem",
|
|
207
219
|
imageUrlLabel: "URL da imagem",
|
|
208
|
-
insert: "Inserir"
|
|
220
|
+
insert: "Inserir",
|
|
221
|
+
jsonValid: "Válido",
|
|
222
|
+
jsonInvalid: "Inválido",
|
|
223
|
+
jsonFormat: "Formatar",
|
|
224
|
+
jsonMinify: "Minificar",
|
|
225
|
+
jsonElements: "elementos",
|
|
226
|
+
jsonFields: "campos"
|
|
209
227
|
}, r = {
|
|
210
228
|
search: "Suchen...",
|
|
211
229
|
noResults: "Keine Ergebnisse",
|
|
@@ -274,7 +292,13 @@ var e = {
|
|
|
274
292
|
insertLink: "Link einfügen",
|
|
275
293
|
insertImage: "Bild einfügen",
|
|
276
294
|
imageUrlLabel: "Bild-URL",
|
|
277
|
-
insert: "Einfügen"
|
|
295
|
+
insert: "Einfügen",
|
|
296
|
+
jsonValid: "Gültig",
|
|
297
|
+
jsonInvalid: "Ungültig",
|
|
298
|
+
jsonFormat: "Formatieren",
|
|
299
|
+
jsonMinify: "Minimieren",
|
|
300
|
+
jsonElements: "Elemente",
|
|
301
|
+
jsonFields: "Felder"
|
|
278
302
|
}, i = {
|
|
279
303
|
search: "検索...",
|
|
280
304
|
noResults: "結果なし",
|
|
@@ -343,7 +367,13 @@ var e = {
|
|
|
343
367
|
insertLink: "リンクを挿入",
|
|
344
368
|
insertImage: "画像を挿入",
|
|
345
369
|
imageUrlLabel: "画像 URL",
|
|
346
|
-
insert: "挿入"
|
|
370
|
+
insert: "挿入",
|
|
371
|
+
jsonValid: "有効",
|
|
372
|
+
jsonInvalid: "無効",
|
|
373
|
+
jsonFormat: "整形",
|
|
374
|
+
jsonMinify: "圧縮",
|
|
375
|
+
jsonElements: "要素",
|
|
376
|
+
jsonFields: "フィールド"
|
|
347
377
|
}, a = {
|
|
348
378
|
search: "搜索...",
|
|
349
379
|
noResults: "无结果",
|
|
@@ -412,7 +442,13 @@ var e = {
|
|
|
412
442
|
insertLink: "插入链接",
|
|
413
443
|
insertImage: "插入图片",
|
|
414
444
|
imageUrlLabel: "图片 URL",
|
|
415
|
-
insert: "插入"
|
|
445
|
+
insert: "插入",
|
|
446
|
+
jsonValid: "有效",
|
|
447
|
+
jsonInvalid: "无效",
|
|
448
|
+
jsonFormat: "格式化",
|
|
449
|
+
jsonMinify: "压缩",
|
|
450
|
+
jsonElements: "个元素",
|
|
451
|
+
jsonFields: "个字段"
|
|
416
452
|
}, o = {
|
|
417
453
|
search: "검색...",
|
|
418
454
|
noResults: "결과 없음",
|
|
@@ -481,7 +517,13 @@ var e = {
|
|
|
481
517
|
insertLink: "링크 삽입",
|
|
482
518
|
insertImage: "이미지 삽입",
|
|
483
519
|
imageUrlLabel: "이미지 URL",
|
|
484
|
-
insert: "삽입"
|
|
520
|
+
insert: "삽입",
|
|
521
|
+
jsonValid: "유효함",
|
|
522
|
+
jsonInvalid: "유효하지 않음",
|
|
523
|
+
jsonFormat: "서식 지정",
|
|
524
|
+
jsonMinify: "압축",
|
|
525
|
+
jsonElements: "요소",
|
|
526
|
+
jsonFields: "필드"
|
|
485
527
|
};
|
|
486
528
|
//#endregion
|
|
487
529
|
export { r as deLocale, e as esLocale, t as frLocale, i as jaLocale, o as koLocale, n as ptLocale, a as zhLocale };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/locales/es.ts","../../src/locales/fr.ts","../../src/locales/pt.ts","../../src/locales/de.ts","../../src/locales/ja.ts","../../src/locales/zh.ts","../../src/locales/ko.ts"],"sourcesContent":["import type { M3Locale } from '../composables/useLocale'\n\nexport const esLocale: M3Locale = {\n // Common\n search: 'Buscar...',\n noResults: 'Sin resultados',\n close: 'Cerrar',\n cancel: 'Cancelar',\n confirm: 'Confirmar',\n loading: 'Cargando',\n\n // Navigation\n previous: 'Anterior',\n next: 'Siguiente',\n today: 'Hoy',\n more: 'más',\n\n // Tables\n selectedCount: 'seleccionados',\n recordCount: 'registro',\n expand: 'Expandir',\n columns: 'Columnas',\n exportCsv: 'Exportar CSV',\n noGroup: 'Sin grupo',\n\n // Tour\n finish: 'Finalizar',\n\n // File upload\n dropText: 'Arrastra archivos aquí o',\n selectText: 'explorar',\n maxSizePrefix: 'Máx.',\n remove: 'Eliminar',\n\n // Pickers\n selectDate: 'Seleccionar fecha',\n selectTime: 'Seleccionar hora',\n selectRange: 'Seleccionar rango',\n pickStart: 'Seleccionar inicio',\n pickEnd: 'Seleccionar fin',\n previousMonth: 'Mes anterior',\n nextMonth: 'Mes siguiente',\n\n // Scheduler\n dayView: 'Día',\n weekView: 'Semana',\n\n // Transfer list\n available: 'Disponibles',\n selected: 'Seleccionados',\n noItems: 'Sin elementos',\n moveAllRight: 'Mover todos a la derecha',\n moveRight: 'Mover seleccionados a la derecha',\n moveLeft: 'Mover seleccionados a la izquierda',\n moveAllLeft: 'Mover todos a la izquierda',\n\n // Command palette / Spotlight\n searchCommand: 'Buscar comando...',\n navigateHint: 'navegar',\n selectHint: 'seleccionar',\n openHint: 'abrir',\n closeHint: 'cerrar',\n\n // Infinite scroll\n loadingMore: 'Cargando...',\n noMoreItems: 'No hay más elementos',\n\n // Rich text editor\n bold: 'Negrita',\n italic: 'Cursiva',\n underline: 'Subrayado',\n strikethrough: 'Tachado',\n highlight: 'Resaltar',\n bulletList: 'Lista con viñetas',\n orderedList: 'Lista ordenada',\n blockquote: 'Cita',\n code: 'Código',\n alignLeft: 'Alinear a la izquierda',\n alignCenter: 'Centrar',\n alignRight: 'Alinear a la derecha',\n undo: 'Deshacer',\n redo: 'Rehacer',\n link: 'Enlace',\n image: 'Imagen',\n paragraph: 'Párrafo',\n heading1: 'Encabezado 1',\n heading2: 'Encabezado 2',\n heading3: 'Encabezado 3',\n insertLink: 'Insertar enlace',\n insertImage: 'Insertar imagen',\n imageUrlLabel: 'URL de la imagen',\n insert: 'Insertar',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const frLocale: M3Locale = {\n // Common\n search: 'Rechercher...',\n noResults: 'Aucun résultat',\n close: 'Fermer',\n cancel: 'Annuler',\n confirm: 'Confirmer',\n loading: 'Chargement',\n\n // Navigation\n previous: 'Précédent',\n next: 'Suivant',\n today: \"Aujourd'hui\",\n more: 'plus',\n\n // Tables\n selectedCount: 'sélectionnés',\n recordCount: 'enregistrement',\n expand: 'Développer',\n columns: 'Colonnes',\n exportCsv: 'Exporter CSV',\n noGroup: 'Sans groupe',\n\n // Tour\n finish: 'Terminer',\n\n // File upload\n dropText: 'Déposez les fichiers ici ou',\n selectText: 'parcourir',\n maxSizePrefix: 'Max.',\n remove: 'Supprimer',\n\n // Pickers\n selectDate: 'Sélectionner la date',\n selectTime: \"Sélectionner l'heure\",\n selectRange: 'Sélectionner la plage',\n pickStart: 'Sélectionner le début',\n pickEnd: 'Sélectionner la fin',\n previousMonth: 'Mois précédent',\n nextMonth: 'Mois suivant',\n\n // Scheduler\n dayView: 'Jour',\n weekView: 'Semaine',\n\n // Transfer list\n available: 'Disponibles',\n selected: 'Sélectionnés',\n noItems: 'Aucun élément',\n moveAllRight: 'Tout déplacer à droite',\n moveRight: 'Déplacer la sélection à droite',\n moveLeft: 'Déplacer la sélection à gauche',\n moveAllLeft: 'Tout déplacer à gauche',\n\n // Command palette / Spotlight\n searchCommand: 'Rechercher une commande...',\n navigateHint: 'naviguer',\n selectHint: 'sélectionner',\n openHint: 'ouvrir',\n closeHint: 'fermer',\n\n // Infinite scroll\n loadingMore: 'Chargement...',\n noMoreItems: \"Plus d'éléments\",\n\n // Rich text editor\n bold: 'Gras',\n italic: 'Italique',\n underline: 'Souligné',\n strikethrough: 'Barré',\n highlight: 'Surligner',\n bulletList: 'Liste à puces',\n orderedList: 'Liste numérotée',\n blockquote: 'Citation',\n code: 'Code',\n alignLeft: 'Aligner à gauche',\n alignCenter: 'Centrer',\n alignRight: 'Aligner à droite',\n undo: 'Annuler',\n redo: 'Rétablir',\n link: 'Lien',\n image: 'Image',\n paragraph: 'Paragraphe',\n heading1: 'Titre 1',\n heading2: 'Titre 2',\n heading3: 'Titre 3',\n insertLink: 'Insérer un lien',\n insertImage: 'Insérer une image',\n imageUrlLabel: \"URL de l'image\",\n insert: 'Insérer',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const ptLocale: M3Locale = {\n // Common\n search: 'Pesquisar...',\n noResults: 'Sem resultados',\n close: 'Fechar',\n cancel: 'Cancelar',\n confirm: 'Confirmar',\n loading: 'Carregando',\n\n // Navigation\n previous: 'Anterior',\n next: 'Próximo',\n today: 'Hoje',\n more: 'mais',\n\n // Tables\n selectedCount: 'selecionados',\n recordCount: 'registro',\n expand: 'Expandir',\n columns: 'Colunas',\n exportCsv: 'Exportar CSV',\n noGroup: 'Sem grupo',\n\n // Tour\n finish: 'Finalizar',\n\n // File upload\n dropText: 'Arraste arquivos aqui ou',\n selectText: 'procurar',\n maxSizePrefix: 'Máx.',\n remove: 'Remover',\n\n // Pickers\n selectDate: 'Selecionar data',\n selectTime: 'Selecionar hora',\n selectRange: 'Selecionar intervalo',\n pickStart: 'Selecionar início',\n pickEnd: 'Selecionar fim',\n previousMonth: 'Mês anterior',\n nextMonth: 'Próximo mês',\n\n // Scheduler\n dayView: 'Dia',\n weekView: 'Semana',\n\n // Transfer list\n available: 'Disponíveis',\n selected: 'Selecionados',\n noItems: 'Sem itens',\n moveAllRight: 'Mover todos para a direita',\n moveRight: 'Mover selecionados para a direita',\n moveLeft: 'Mover selecionados para a esquerda',\n moveAllLeft: 'Mover todos para a esquerda',\n\n // Command palette / Spotlight\n searchCommand: 'Pesquisar comando...',\n navigateHint: 'navegar',\n selectHint: 'selecionar',\n openHint: 'abrir',\n closeHint: 'fechar',\n\n // Infinite scroll\n loadingMore: 'Carregando...',\n noMoreItems: 'Não há mais itens',\n\n // Rich text editor\n bold: 'Negrito',\n italic: 'Itálico',\n underline: 'Sublinhado',\n strikethrough: 'Tachado',\n highlight: 'Realçar',\n bulletList: 'Lista com marcadores',\n orderedList: 'Lista ordenada',\n blockquote: 'Citação',\n code: 'Código',\n alignLeft: 'Alinhar à esquerda',\n alignCenter: 'Centralizar',\n alignRight: 'Alinhar à direita',\n undo: 'Desfazer',\n redo: 'Refazer',\n link: 'Link',\n image: 'Imagem',\n paragraph: 'Parágrafo',\n heading1: 'Título 1',\n heading2: 'Título 2',\n heading3: 'Título 3',\n insertLink: 'Inserir link',\n insertImage: 'Inserir imagem',\n imageUrlLabel: 'URL da imagem',\n insert: 'Inserir',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const deLocale: M3Locale = {\n // Common\n search: 'Suchen...',\n noResults: 'Keine Ergebnisse',\n close: 'Schließen',\n cancel: 'Abbrechen',\n confirm: 'Bestätigen',\n loading: 'Laden',\n\n // Navigation\n previous: 'Zurück',\n next: 'Weiter',\n today: 'Heute',\n more: 'mehr',\n\n // Tables\n selectedCount: 'ausgewählt',\n recordCount: 'Datensatz',\n expand: 'Erweitern',\n columns: 'Spalten',\n exportCsv: 'CSV exportieren',\n noGroup: 'Keine Gruppe',\n\n // Tour\n finish: 'Fertig',\n\n // File upload\n dropText: 'Dateien hierher ziehen oder',\n selectText: 'durchsuchen',\n maxSizePrefix: 'Max.',\n remove: 'Entfernen',\n\n // Pickers\n selectDate: 'Datum auswählen',\n selectTime: 'Uhrzeit auswählen',\n selectRange: 'Bereich auswählen',\n pickStart: 'Anfang auswählen',\n pickEnd: 'Ende auswählen',\n previousMonth: 'Vorheriger Monat',\n nextMonth: 'Nächster Monat',\n\n // Scheduler\n dayView: 'Tag',\n weekView: 'Woche',\n\n // Transfer list\n available: 'Verfügbar',\n selected: 'Ausgewählt',\n noItems: 'Keine Elemente',\n moveAllRight: 'Alle nach rechts verschieben',\n moveRight: 'Auswahl nach rechts verschieben',\n moveLeft: 'Auswahl nach links verschieben',\n moveAllLeft: 'Alle nach links verschieben',\n\n // Command palette / Spotlight\n searchCommand: 'Befehl suchen...',\n navigateHint: 'navigieren',\n selectHint: 'auswählen',\n openHint: 'öffnen',\n closeHint: 'schließen',\n\n // Infinite scroll\n loadingMore: 'Laden...',\n noMoreItems: 'Keine weiteren Elemente',\n\n // Rich text editor\n bold: 'Fett',\n italic: 'Kursiv',\n underline: 'Unterstrichen',\n strikethrough: 'Durchgestrichen',\n highlight: 'Hervorheben',\n bulletList: 'Aufzählungsliste',\n orderedList: 'Nummerierte Liste',\n blockquote: 'Zitat',\n code: 'Code',\n alignLeft: 'Linksbündig',\n alignCenter: 'Zentriert',\n alignRight: 'Rechtsbündig',\n undo: 'Rückgängig',\n redo: 'Wiederholen',\n link: 'Link',\n image: 'Bild',\n paragraph: 'Absatz',\n heading1: 'Überschrift 1',\n heading2: 'Überschrift 2',\n heading3: 'Überschrift 3',\n insertLink: 'Link einfügen',\n insertImage: 'Bild einfügen',\n imageUrlLabel: 'Bild-URL',\n insert: 'Einfügen',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const jaLocale: M3Locale = {\n // Common\n search: '検索...',\n noResults: '結果なし',\n close: '閉じる',\n cancel: 'キャンセル',\n confirm: '確認',\n loading: '読み込み中',\n\n // Navigation\n previous: '前へ',\n next: '次へ',\n today: '今日',\n more: '件',\n\n // Tables\n selectedCount: '件選択中',\n recordCount: '件',\n expand: '展開',\n columns: '列',\n exportCsv: 'CSV エクスポート',\n noGroup: 'グループなし',\n\n // Tour\n finish: '完了',\n\n // File upload\n dropText: 'ここにファイルをドロップ、または',\n selectText: '参照',\n maxSizePrefix: '最大',\n remove: '削除',\n\n // Pickers\n selectDate: '日付を選択',\n selectTime: '時刻を選択',\n selectRange: '範囲を選択',\n pickStart: '開始を選択',\n pickEnd: '終了を選択',\n previousMonth: '前月',\n nextMonth: '翌月',\n\n // Scheduler\n dayView: '日',\n weekView: '週',\n\n // Transfer list\n available: '利用可能',\n selected: '選択済み',\n noItems: '項目なし',\n moveAllRight: 'すべて右へ移動',\n moveRight: '選択項目を右へ移動',\n moveLeft: '選択項目を左へ移動',\n moveAllLeft: 'すべて左へ移動',\n\n // Command palette / Spotlight\n searchCommand: 'コマンドを検索...',\n navigateHint: '移動',\n selectHint: '選択',\n openHint: '開く',\n closeHint: '閉じる',\n\n // Infinite scroll\n loadingMore: '読み込み中...',\n noMoreItems: 'これ以上の項目はありません',\n\n // Rich text editor\n bold: '太字',\n italic: '斜体',\n underline: '下線',\n strikethrough: '取り消し線',\n highlight: 'ハイライト',\n bulletList: '箇条書きリスト',\n orderedList: '番号付きリスト',\n blockquote: '引用',\n code: 'コード',\n alignLeft: '左揃え',\n alignCenter: '中央揃え',\n alignRight: '右揃え',\n undo: '元に戻す',\n redo: 'やり直し',\n link: 'リンク',\n image: '画像',\n paragraph: '段落',\n heading1: '見出し 1',\n heading2: '見出し 2',\n heading3: '見出し 3',\n insertLink: 'リンクを挿入',\n insertImage: '画像を挿入',\n imageUrlLabel: '画像 URL',\n insert: '挿入',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const zhLocale: M3Locale = {\n // Common\n search: '搜索...',\n noResults: '无结果',\n close: '关闭',\n cancel: '取消',\n confirm: '确认',\n loading: '加载中',\n\n // Navigation\n previous: '上一个',\n next: '下一个',\n today: '今天',\n more: '更多',\n\n // Tables\n selectedCount: '已选择',\n recordCount: '条记录',\n expand: '展开',\n columns: '列',\n exportCsv: '导出 CSV',\n noGroup: '无分组',\n\n // Tour\n finish: '完成',\n\n // File upload\n dropText: '将文件拖放到此处或',\n selectText: '浏览',\n maxSizePrefix: '最大',\n remove: '移除',\n\n // Pickers\n selectDate: '选择日期',\n selectTime: '选择时间',\n selectRange: '选择范围',\n pickStart: '选择开始',\n pickEnd: '选择结束',\n previousMonth: '上个月',\n nextMonth: '下个月',\n\n // Scheduler\n dayView: '日',\n weekView: '周',\n\n // Transfer list\n available: '可用',\n selected: '已选',\n noItems: '无项目',\n moveAllRight: '全部移至右侧',\n moveRight: '将选中项移至右侧',\n moveLeft: '将选中项移至左侧',\n moveAllLeft: '全部移至左侧',\n\n // Command palette / Spotlight\n searchCommand: '搜索命令...',\n navigateHint: '导航',\n selectHint: '选择',\n openHint: '打开',\n closeHint: '关闭',\n\n // Infinite scroll\n loadingMore: '加载中...',\n noMoreItems: '没有更多项目',\n\n // Rich text editor\n bold: '粗体',\n italic: '斜体',\n underline: '下划线',\n strikethrough: '删除线',\n highlight: '高亮',\n bulletList: '无序列表',\n orderedList: '有序列表',\n blockquote: '引用',\n code: '代码',\n alignLeft: '左对齐',\n alignCenter: '居中对齐',\n alignRight: '右对齐',\n undo: '撤销',\n redo: '重做',\n link: '链接',\n image: '图片',\n paragraph: '段落',\n heading1: '标题 1',\n heading2: '标题 2',\n heading3: '标题 3',\n insertLink: '插入链接',\n insertImage: '插入图片',\n imageUrlLabel: '图片 URL',\n insert: '插入',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const koLocale: M3Locale = {\n // Common\n search: '검색...',\n noResults: '결과 없음',\n close: '닫기',\n cancel: '취소',\n confirm: '확인',\n loading: '로딩 중',\n\n // Navigation\n previous: '이전',\n next: '다음',\n today: '오늘',\n more: '더보기',\n\n // Tables\n selectedCount: '선택됨',\n recordCount: '개 레코드',\n expand: '펼치기',\n columns: '열',\n exportCsv: 'CSV 내보내기',\n noGroup: '그룹 없음',\n\n // Tour\n finish: '완료',\n\n // File upload\n dropText: '여기에 파일을 놓거나',\n selectText: '찾아보기',\n maxSizePrefix: '최대',\n remove: '삭제',\n\n // Pickers\n selectDate: '날짜 선택',\n selectTime: '시간 선택',\n selectRange: '범위 선택',\n pickStart: '시작 선택',\n pickEnd: '종료 선택',\n previousMonth: '이전 달',\n nextMonth: '다음 달',\n\n // Scheduler\n dayView: '일',\n weekView: '주',\n\n // Transfer list\n available: '사용 가능',\n selected: '선택됨',\n noItems: '항목 없음',\n moveAllRight: '모두 오른쪽으로 이동',\n moveRight: '선택 항목 오른쪽으로 이동',\n moveLeft: '선택 항목 왼쪽으로 이동',\n moveAllLeft: '모두 왼쪽으로 이동',\n\n // Command palette / Spotlight\n searchCommand: '명령 검색...',\n navigateHint: '탐색',\n selectHint: '선택',\n openHint: '열기',\n closeHint: '닫기',\n\n // Infinite scroll\n loadingMore: '로딩 중...',\n noMoreItems: '더 이상 항목이 없습니다',\n\n // Rich text editor\n bold: '굵게',\n italic: '기울임꼴',\n underline: '밑줄',\n strikethrough: '취소선',\n highlight: '강조',\n bulletList: '글머리 기호 목록',\n orderedList: '번호 매기기 목록',\n blockquote: '인용',\n code: '코드',\n alignLeft: '왼쪽 정렬',\n alignCenter: '가운데 정렬',\n alignRight: '오른쪽 정렬',\n undo: '실행 취소',\n redo: '다시 실행',\n link: '링크',\n image: '이미지',\n paragraph: '문단',\n heading1: '제목 1',\n heading2: '제목 2',\n heading3: '제목 3',\n insertLink: '링크 삽입',\n insertImage: '이미지 삽입',\n imageUrlLabel: '이미지 URL',\n insert: '삽입',\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/locales/es.ts","../../src/locales/fr.ts","../../src/locales/pt.ts","../../src/locales/de.ts","../../src/locales/ja.ts","../../src/locales/zh.ts","../../src/locales/ko.ts"],"sourcesContent":["import type { M3Locale } from '../composables/useLocale'\n\nexport const esLocale: M3Locale = {\n // Common\n search: 'Buscar...',\n noResults: 'Sin resultados',\n close: 'Cerrar',\n cancel: 'Cancelar',\n confirm: 'Confirmar',\n loading: 'Cargando',\n\n // Navigation\n previous: 'Anterior',\n next: 'Siguiente',\n today: 'Hoy',\n more: 'más',\n\n // Tables\n selectedCount: 'seleccionados',\n recordCount: 'registro',\n expand: 'Expandir',\n columns: 'Columnas',\n exportCsv: 'Exportar CSV',\n noGroup: 'Sin grupo',\n\n // Tour\n finish: 'Finalizar',\n\n // File upload\n dropText: 'Arrastra archivos aquí o',\n selectText: 'explorar',\n maxSizePrefix: 'Máx.',\n remove: 'Eliminar',\n\n // Pickers\n selectDate: 'Seleccionar fecha',\n selectTime: 'Seleccionar hora',\n selectRange: 'Seleccionar rango',\n pickStart: 'Seleccionar inicio',\n pickEnd: 'Seleccionar fin',\n previousMonth: 'Mes anterior',\n nextMonth: 'Mes siguiente',\n\n // Scheduler\n dayView: 'Día',\n weekView: 'Semana',\n\n // Transfer list\n available: 'Disponibles',\n selected: 'Seleccionados',\n noItems: 'Sin elementos',\n moveAllRight: 'Mover todos a la derecha',\n moveRight: 'Mover seleccionados a la derecha',\n moveLeft: 'Mover seleccionados a la izquierda',\n moveAllLeft: 'Mover todos a la izquierda',\n\n // Command palette / Spotlight\n searchCommand: 'Buscar comando...',\n navigateHint: 'navegar',\n selectHint: 'seleccionar',\n openHint: 'abrir',\n closeHint: 'cerrar',\n\n // Infinite scroll\n loadingMore: 'Cargando...',\n noMoreItems: 'No hay más elementos',\n\n // Rich text editor\n bold: 'Negrita',\n italic: 'Cursiva',\n underline: 'Subrayado',\n strikethrough: 'Tachado',\n highlight: 'Resaltar',\n bulletList: 'Lista con viñetas',\n orderedList: 'Lista ordenada',\n blockquote: 'Cita',\n code: 'Código',\n alignLeft: 'Alinear a la izquierda',\n alignCenter: 'Centrar',\n alignRight: 'Alinear a la derecha',\n undo: 'Deshacer',\n redo: 'Rehacer',\n link: 'Enlace',\n image: 'Imagen',\n paragraph: 'Párrafo',\n heading1: 'Encabezado 1',\n heading2: 'Encabezado 2',\n heading3: 'Encabezado 3',\n insertLink: 'Insertar enlace',\n insertImage: 'Insertar imagen',\n imageUrlLabel: 'URL de la imagen',\n insert: 'Insertar',\n\n // JSON editor\n jsonValid: 'Válido',\n jsonInvalid: 'Inválido',\n jsonFormat: 'Formatear',\n jsonMinify: 'Minificar',\n\n // JSON viewer\n jsonElements: 'elementos',\n jsonFields: 'campos',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const frLocale: M3Locale = {\n // Common\n search: 'Rechercher...',\n noResults: 'Aucun résultat',\n close: 'Fermer',\n cancel: 'Annuler',\n confirm: 'Confirmer',\n loading: 'Chargement',\n\n // Navigation\n previous: 'Précédent',\n next: 'Suivant',\n today: \"Aujourd'hui\",\n more: 'plus',\n\n // Tables\n selectedCount: 'sélectionnés',\n recordCount: 'enregistrement',\n expand: 'Développer',\n columns: 'Colonnes',\n exportCsv: 'Exporter CSV',\n noGroup: 'Sans groupe',\n\n // Tour\n finish: 'Terminer',\n\n // File upload\n dropText: 'Déposez les fichiers ici ou',\n selectText: 'parcourir',\n maxSizePrefix: 'Max.',\n remove: 'Supprimer',\n\n // Pickers\n selectDate: 'Sélectionner la date',\n selectTime: \"Sélectionner l'heure\",\n selectRange: 'Sélectionner la plage',\n pickStart: 'Sélectionner le début',\n pickEnd: 'Sélectionner la fin',\n previousMonth: 'Mois précédent',\n nextMonth: 'Mois suivant',\n\n // Scheduler\n dayView: 'Jour',\n weekView: 'Semaine',\n\n // Transfer list\n available: 'Disponibles',\n selected: 'Sélectionnés',\n noItems: 'Aucun élément',\n moveAllRight: 'Tout déplacer à droite',\n moveRight: 'Déplacer la sélection à droite',\n moveLeft: 'Déplacer la sélection à gauche',\n moveAllLeft: 'Tout déplacer à gauche',\n\n // Command palette / Spotlight\n searchCommand: 'Rechercher une commande...',\n navigateHint: 'naviguer',\n selectHint: 'sélectionner',\n openHint: 'ouvrir',\n closeHint: 'fermer',\n\n // Infinite scroll\n loadingMore: 'Chargement...',\n noMoreItems: \"Plus d'éléments\",\n\n // Rich text editor\n bold: 'Gras',\n italic: 'Italique',\n underline: 'Souligné',\n strikethrough: 'Barré',\n highlight: 'Surligner',\n bulletList: 'Liste à puces',\n orderedList: 'Liste numérotée',\n blockquote: 'Citation',\n code: 'Code',\n alignLeft: 'Aligner à gauche',\n alignCenter: 'Centrer',\n alignRight: 'Aligner à droite',\n undo: 'Annuler',\n redo: 'Rétablir',\n link: 'Lien',\n image: 'Image',\n paragraph: 'Paragraphe',\n heading1: 'Titre 1',\n heading2: 'Titre 2',\n heading3: 'Titre 3',\n insertLink: 'Insérer un lien',\n insertImage: 'Insérer une image',\n imageUrlLabel: \"URL de l'image\",\n insert: 'Insérer',\n\n // JSON editor\n jsonValid: 'Valide',\n jsonInvalid: 'Invalide',\n jsonFormat: 'Formater',\n jsonMinify: 'Minifier',\n\n // JSON viewer\n jsonElements: 'éléments',\n jsonFields: 'champs',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const ptLocale: M3Locale = {\n // Common\n search: 'Pesquisar...',\n noResults: 'Sem resultados',\n close: 'Fechar',\n cancel: 'Cancelar',\n confirm: 'Confirmar',\n loading: 'Carregando',\n\n // Navigation\n previous: 'Anterior',\n next: 'Próximo',\n today: 'Hoje',\n more: 'mais',\n\n // Tables\n selectedCount: 'selecionados',\n recordCount: 'registro',\n expand: 'Expandir',\n columns: 'Colunas',\n exportCsv: 'Exportar CSV',\n noGroup: 'Sem grupo',\n\n // Tour\n finish: 'Finalizar',\n\n // File upload\n dropText: 'Arraste arquivos aqui ou',\n selectText: 'procurar',\n maxSizePrefix: 'Máx.',\n remove: 'Remover',\n\n // Pickers\n selectDate: 'Selecionar data',\n selectTime: 'Selecionar hora',\n selectRange: 'Selecionar intervalo',\n pickStart: 'Selecionar início',\n pickEnd: 'Selecionar fim',\n previousMonth: 'Mês anterior',\n nextMonth: 'Próximo mês',\n\n // Scheduler\n dayView: 'Dia',\n weekView: 'Semana',\n\n // Transfer list\n available: 'Disponíveis',\n selected: 'Selecionados',\n noItems: 'Sem itens',\n moveAllRight: 'Mover todos para a direita',\n moveRight: 'Mover selecionados para a direita',\n moveLeft: 'Mover selecionados para a esquerda',\n moveAllLeft: 'Mover todos para a esquerda',\n\n // Command palette / Spotlight\n searchCommand: 'Pesquisar comando...',\n navigateHint: 'navegar',\n selectHint: 'selecionar',\n openHint: 'abrir',\n closeHint: 'fechar',\n\n // Infinite scroll\n loadingMore: 'Carregando...',\n noMoreItems: 'Não há mais itens',\n\n // Rich text editor\n bold: 'Negrito',\n italic: 'Itálico',\n underline: 'Sublinhado',\n strikethrough: 'Tachado',\n highlight: 'Realçar',\n bulletList: 'Lista com marcadores',\n orderedList: 'Lista ordenada',\n blockquote: 'Citação',\n code: 'Código',\n alignLeft: 'Alinhar à esquerda',\n alignCenter: 'Centralizar',\n alignRight: 'Alinhar à direita',\n undo: 'Desfazer',\n redo: 'Refazer',\n link: 'Link',\n image: 'Imagem',\n paragraph: 'Parágrafo',\n heading1: 'Título 1',\n heading2: 'Título 2',\n heading3: 'Título 3',\n insertLink: 'Inserir link',\n insertImage: 'Inserir imagem',\n imageUrlLabel: 'URL da imagem',\n insert: 'Inserir',\n\n // JSON editor\n jsonValid: 'Válido',\n jsonInvalid: 'Inválido',\n jsonFormat: 'Formatar',\n jsonMinify: 'Minificar',\n\n // JSON viewer\n jsonElements: 'elementos',\n jsonFields: 'campos',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const deLocale: M3Locale = {\n // Common\n search: 'Suchen...',\n noResults: 'Keine Ergebnisse',\n close: 'Schließen',\n cancel: 'Abbrechen',\n confirm: 'Bestätigen',\n loading: 'Laden',\n\n // Navigation\n previous: 'Zurück',\n next: 'Weiter',\n today: 'Heute',\n more: 'mehr',\n\n // Tables\n selectedCount: 'ausgewählt',\n recordCount: 'Datensatz',\n expand: 'Erweitern',\n columns: 'Spalten',\n exportCsv: 'CSV exportieren',\n noGroup: 'Keine Gruppe',\n\n // Tour\n finish: 'Fertig',\n\n // File upload\n dropText: 'Dateien hierher ziehen oder',\n selectText: 'durchsuchen',\n maxSizePrefix: 'Max.',\n remove: 'Entfernen',\n\n // Pickers\n selectDate: 'Datum auswählen',\n selectTime: 'Uhrzeit auswählen',\n selectRange: 'Bereich auswählen',\n pickStart: 'Anfang auswählen',\n pickEnd: 'Ende auswählen',\n previousMonth: 'Vorheriger Monat',\n nextMonth: 'Nächster Monat',\n\n // Scheduler\n dayView: 'Tag',\n weekView: 'Woche',\n\n // Transfer list\n available: 'Verfügbar',\n selected: 'Ausgewählt',\n noItems: 'Keine Elemente',\n moveAllRight: 'Alle nach rechts verschieben',\n moveRight: 'Auswahl nach rechts verschieben',\n moveLeft: 'Auswahl nach links verschieben',\n moveAllLeft: 'Alle nach links verschieben',\n\n // Command palette / Spotlight\n searchCommand: 'Befehl suchen...',\n navigateHint: 'navigieren',\n selectHint: 'auswählen',\n openHint: 'öffnen',\n closeHint: 'schließen',\n\n // Infinite scroll\n loadingMore: 'Laden...',\n noMoreItems: 'Keine weiteren Elemente',\n\n // Rich text editor\n bold: 'Fett',\n italic: 'Kursiv',\n underline: 'Unterstrichen',\n strikethrough: 'Durchgestrichen',\n highlight: 'Hervorheben',\n bulletList: 'Aufzählungsliste',\n orderedList: 'Nummerierte Liste',\n blockquote: 'Zitat',\n code: 'Code',\n alignLeft: 'Linksbündig',\n alignCenter: 'Zentriert',\n alignRight: 'Rechtsbündig',\n undo: 'Rückgängig',\n redo: 'Wiederholen',\n link: 'Link',\n image: 'Bild',\n paragraph: 'Absatz',\n heading1: 'Überschrift 1',\n heading2: 'Überschrift 2',\n heading3: 'Überschrift 3',\n insertLink: 'Link einfügen',\n insertImage: 'Bild einfügen',\n imageUrlLabel: 'Bild-URL',\n insert: 'Einfügen',\n\n // JSON editor\n jsonValid: 'Gültig',\n jsonInvalid: 'Ungültig',\n jsonFormat: 'Formatieren',\n jsonMinify: 'Minimieren',\n\n // JSON viewer\n jsonElements: 'Elemente',\n jsonFields: 'Felder',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const jaLocale: M3Locale = {\n // Common\n search: '検索...',\n noResults: '結果なし',\n close: '閉じる',\n cancel: 'キャンセル',\n confirm: '確認',\n loading: '読み込み中',\n\n // Navigation\n previous: '前へ',\n next: '次へ',\n today: '今日',\n more: '件',\n\n // Tables\n selectedCount: '件選択中',\n recordCount: '件',\n expand: '展開',\n columns: '列',\n exportCsv: 'CSV エクスポート',\n noGroup: 'グループなし',\n\n // Tour\n finish: '完了',\n\n // File upload\n dropText: 'ここにファイルをドロップ、または',\n selectText: '参照',\n maxSizePrefix: '最大',\n remove: '削除',\n\n // Pickers\n selectDate: '日付を選択',\n selectTime: '時刻を選択',\n selectRange: '範囲を選択',\n pickStart: '開始を選択',\n pickEnd: '終了を選択',\n previousMonth: '前月',\n nextMonth: '翌月',\n\n // Scheduler\n dayView: '日',\n weekView: '週',\n\n // Transfer list\n available: '利用可能',\n selected: '選択済み',\n noItems: '項目なし',\n moveAllRight: 'すべて右へ移動',\n moveRight: '選択項目を右へ移動',\n moveLeft: '選択項目を左へ移動',\n moveAllLeft: 'すべて左へ移動',\n\n // Command palette / Spotlight\n searchCommand: 'コマンドを検索...',\n navigateHint: '移動',\n selectHint: '選択',\n openHint: '開く',\n closeHint: '閉じる',\n\n // Infinite scroll\n loadingMore: '読み込み中...',\n noMoreItems: 'これ以上の項目はありません',\n\n // Rich text editor\n bold: '太字',\n italic: '斜体',\n underline: '下線',\n strikethrough: '取り消し線',\n highlight: 'ハイライト',\n bulletList: '箇条書きリスト',\n orderedList: '番号付きリスト',\n blockquote: '引用',\n code: 'コード',\n alignLeft: '左揃え',\n alignCenter: '中央揃え',\n alignRight: '右揃え',\n undo: '元に戻す',\n redo: 'やり直し',\n link: 'リンク',\n image: '画像',\n paragraph: '段落',\n heading1: '見出し 1',\n heading2: '見出し 2',\n heading3: '見出し 3',\n insertLink: 'リンクを挿入',\n insertImage: '画像を挿入',\n imageUrlLabel: '画像 URL',\n insert: '挿入',\n\n // JSON editor\n jsonValid: '有効',\n jsonInvalid: '無効',\n jsonFormat: '整形',\n jsonMinify: '圧縮',\n\n // JSON viewer\n jsonElements: '要素',\n jsonFields: 'フィールド',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const zhLocale: M3Locale = {\n // Common\n search: '搜索...',\n noResults: '无结果',\n close: '关闭',\n cancel: '取消',\n confirm: '确认',\n loading: '加载中',\n\n // Navigation\n previous: '上一个',\n next: '下一个',\n today: '今天',\n more: '更多',\n\n // Tables\n selectedCount: '已选择',\n recordCount: '条记录',\n expand: '展开',\n columns: '列',\n exportCsv: '导出 CSV',\n noGroup: '无分组',\n\n // Tour\n finish: '完成',\n\n // File upload\n dropText: '将文件拖放到此处或',\n selectText: '浏览',\n maxSizePrefix: '最大',\n remove: '移除',\n\n // Pickers\n selectDate: '选择日期',\n selectTime: '选择时间',\n selectRange: '选择范围',\n pickStart: '选择开始',\n pickEnd: '选择结束',\n previousMonth: '上个月',\n nextMonth: '下个月',\n\n // Scheduler\n dayView: '日',\n weekView: '周',\n\n // Transfer list\n available: '可用',\n selected: '已选',\n noItems: '无项目',\n moveAllRight: '全部移至右侧',\n moveRight: '将选中项移至右侧',\n moveLeft: '将选中项移至左侧',\n moveAllLeft: '全部移至左侧',\n\n // Command palette / Spotlight\n searchCommand: '搜索命令...',\n navigateHint: '导航',\n selectHint: '选择',\n openHint: '打开',\n closeHint: '关闭',\n\n // Infinite scroll\n loadingMore: '加载中...',\n noMoreItems: '没有更多项目',\n\n // Rich text editor\n bold: '粗体',\n italic: '斜体',\n underline: '下划线',\n strikethrough: '删除线',\n highlight: '高亮',\n bulletList: '无序列表',\n orderedList: '有序列表',\n blockquote: '引用',\n code: '代码',\n alignLeft: '左对齐',\n alignCenter: '居中对齐',\n alignRight: '右对齐',\n undo: '撤销',\n redo: '重做',\n link: '链接',\n image: '图片',\n paragraph: '段落',\n heading1: '标题 1',\n heading2: '标题 2',\n heading3: '标题 3',\n insertLink: '插入链接',\n insertImage: '插入图片',\n imageUrlLabel: '图片 URL',\n insert: '插入',\n\n // JSON editor\n jsonValid: '有效',\n jsonInvalid: '无效',\n jsonFormat: '格式化',\n jsonMinify: '压缩',\n\n // JSON viewer\n jsonElements: '个元素',\n jsonFields: '个字段',\n}\n","import type { M3Locale } from '../composables/useLocale'\n\nexport const koLocale: M3Locale = {\n // Common\n search: '검색...',\n noResults: '결과 없음',\n close: '닫기',\n cancel: '취소',\n confirm: '확인',\n loading: '로딩 중',\n\n // Navigation\n previous: '이전',\n next: '다음',\n today: '오늘',\n more: '더보기',\n\n // Tables\n selectedCount: '선택됨',\n recordCount: '개 레코드',\n expand: '펼치기',\n columns: '열',\n exportCsv: 'CSV 내보내기',\n noGroup: '그룹 없음',\n\n // Tour\n finish: '완료',\n\n // File upload\n dropText: '여기에 파일을 놓거나',\n selectText: '찾아보기',\n maxSizePrefix: '최대',\n remove: '삭제',\n\n // Pickers\n selectDate: '날짜 선택',\n selectTime: '시간 선택',\n selectRange: '범위 선택',\n pickStart: '시작 선택',\n pickEnd: '종료 선택',\n previousMonth: '이전 달',\n nextMonth: '다음 달',\n\n // Scheduler\n dayView: '일',\n weekView: '주',\n\n // Transfer list\n available: '사용 가능',\n selected: '선택됨',\n noItems: '항목 없음',\n moveAllRight: '모두 오른쪽으로 이동',\n moveRight: '선택 항목 오른쪽으로 이동',\n moveLeft: '선택 항목 왼쪽으로 이동',\n moveAllLeft: '모두 왼쪽으로 이동',\n\n // Command palette / Spotlight\n searchCommand: '명령 검색...',\n navigateHint: '탐색',\n selectHint: '선택',\n openHint: '열기',\n closeHint: '닫기',\n\n // Infinite scroll\n loadingMore: '로딩 중...',\n noMoreItems: '더 이상 항목이 없습니다',\n\n // Rich text editor\n bold: '굵게',\n italic: '기울임꼴',\n underline: '밑줄',\n strikethrough: '취소선',\n highlight: '강조',\n bulletList: '글머리 기호 목록',\n orderedList: '번호 매기기 목록',\n blockquote: '인용',\n code: '코드',\n alignLeft: '왼쪽 정렬',\n alignCenter: '가운데 정렬',\n alignRight: '오른쪽 정렬',\n undo: '실행 취소',\n redo: '다시 실행',\n link: '링크',\n image: '이미지',\n paragraph: '문단',\n heading1: '제목 1',\n heading2: '제목 2',\n heading3: '제목 3',\n insertLink: '링크 삽입',\n insertImage: '이미지 삽입',\n imageUrlLabel: '이미지 URL',\n insert: '삽입',\n\n // JSON editor\n jsonValid: '유효함',\n jsonInvalid: '유효하지 않음',\n jsonFormat: '서식 지정',\n jsonMinify: '압축',\n\n // JSON viewer\n jsonElements: '요소',\n jsonFields: '필드',\n}\n"],"mappings":"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"}
|
package/dist/m3ui-vue.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
.code-editor-container[data-v-b0a66a4b] .cm-editor{height:100%;min-height:inherit;font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.6}.code-editor-container[data-v-b0a66a4b] .cm-editor.cm-focused{outline:none}.code-editor-container[data-v-b0a66a4b] .cm-scroller{min-height:inherit}.code-editor-container[data-v-b0a66a4b] .cm-content{padding:12px 0}.code-editor-container[data-v-b0a66a4b] .cm-line{padding:0 16px}.code-editor-container[data-v-b0a66a4b] .cm-gutters{background:var(--color-surface-container);border-right:1px solid var(--color-outline-variant);color:var(--color-outline);padding:0 4px;font-size:.75rem}.code-editor-container[data-v-b0a66a4b] .cm-activeLineGutter{background:var(--color-surface-container-high);color:var(--color-on-surface-variant)}.code-editor-container[data-v-b0a66a4b] .cm-activeLine{background:var(--color-surface-container-lowest)}.code-editor-container[data-v-b0a66a4b] .cm-selectionBackground{background:var(--color-primary-container)!important}.code-editor-container[data-v-b0a66a4b] .cm-cursor{border-left-color:var(--color-primary);border-left-width:2px}.code-editor-container[data-v-b0a66a4b] .cm-matchingBracket{background:var(--color-tertiary-container);color:var(--color-on-tertiary-container);border-radius:2px}.code-editor-container[data-v-b0a66a4b] .cm-foldGutter span{color:var(--color-on-surface-variant)}@keyframes m3-wavy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes m3-wavy-travel{0%{stroke-dashoffset:0}to{stroke-dashoffset:calc(var(--m3-wave-len) * -1px)}}@media (prefers-reduced-motion:reduce){.animate-\[m3-wavy-spin_2\.8s_linear_infinite\]{animation:2.8s linear infinite m3-wavy-spin}.animate-\[m3-wavy-travel_2s_linear_infinite\]{animation:none!important}}.m3-dialog-enter-active[data-v-2e3c3567],.m3-dialog-leave-active[data-v-2e3c3567]{transition:opacity .15s}.m3-dialog-enter-from[data-v-2e3c3567],.m3-dialog-leave-to[data-v-2e3c3567]{opacity:0}.m3-dialog-enter-active .dialog-box[data-v-2e3c3567],.m3-dialog-leave-active .dialog-box[data-v-2e3c3567]{transition:transform .15s}.m3-dialog-enter-from .dialog-box[data-v-2e3c3567],.m3-dialog-leave-to .dialog-box[data-v-2e3c3567]{transform:scale(.95)}.m3-dialog-fs-enter-active[data-v-2e3c3567],.m3-dialog-fs-leave-active[data-v-2e3c3567]{transition:transform .25s cubic-bezier(.2,0,0,1),opacity .15s}.m3-dialog-fs-enter-from[data-v-2e3c3567],.m3-dialog-fs-leave-to[data-v-2e3c3567]{opacity:0;transform:translateY(100%)}.toast-row[data-v-d4877a26]{grid-template-rows:1fr;padding-bottom:8px;display:grid}.toast-row>.toast-inner[data-v-d4877a26]{min-height:0}.m3-toast-bot-enter-active[data-v-d4877a26]{transition:grid-template-rows .22s cubic-bezier(.2,0,0,1),padding-bottom .22s cubic-bezier(.2,0,0,1)}.m3-toast-bot-enter-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .22s cubic-bezier(.2,0,0,1)}.m3-toast-bot-enter-from[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-bot-enter-from>.toast-inner[data-v-d4877a26]{opacity:0;transform:translateY(20px)scale(.94)}.m3-toast-bot-leave-active[data-v-d4877a26]{transition:grid-template-rows .3s cubic-bezier(.2,0,0,1),padding-bottom .3s cubic-bezier(.2,0,0,1)}.m3-toast-bot-leave-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .18s}.m3-toast-bot-leave-to[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-bot-leave-to>.toast-inner[data-v-d4877a26]{opacity:0;transform:scale(.92)}.m3-toast-bot-leave-active>.toast-count-badge[data-v-d4877a26]{transition:opacity .15s,transform .15s}.m3-toast-bot-leave-to>.toast-count-badge[data-v-d4877a26]{opacity:0;transform:scale(.5)}.m3-toast-top-enter-active[data-v-d4877a26]{transition:grid-template-rows .22s cubic-bezier(.2,0,0,1),padding-bottom .22s cubic-bezier(.2,0,0,1)}.m3-toast-top-enter-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .22s cubic-bezier(.2,0,0,1)}.m3-toast-top-enter-from[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-top-enter-from>.toast-inner[data-v-d4877a26]{opacity:0;transform:translateY(-20px)scale(.94)}.m3-toast-top-leave-active[data-v-d4877a26]{transition:grid-template-rows .3s cubic-bezier(.2,0,0,1),padding-bottom .3s cubic-bezier(.2,0,0,1)}.m3-toast-top-leave-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .18s}.m3-toast-top-leave-to[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-top-leave-to>.toast-inner[data-v-d4877a26]{opacity:0;transform:scale(.92)}.m3-toast-top-leave-active>.toast-count-badge[data-v-d4877a26]{transition:opacity .15s,transform .15s}.m3-toast-top-leave-to>.toast-count-badge[data-v-d4877a26]{opacity:0;transform:scale(.5)}.m3-badge-enter-active[data-v-d4877a26]{transition:opacity .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}.m3-badge-leave-active[data-v-d4877a26]{transition:opacity .15s,transform .15s}.m3-badge-enter-from[data-v-d4877a26],.m3-badge-leave-to[data-v-d4877a26]{opacity:0;transform:scale(.5)}.m3-count-enter-active[data-v-d4877a26]{transition:opacity .12s,transform .12s}.m3-count-leave-active[data-v-d4877a26]{transition:opacity 80ms,transform 80ms}.m3-count-enter-from[data-v-d4877a26]{opacity:0;transform:scale(1.5)translateY(-3px)}.m3-count-leave-to[data-v-d4877a26]{opacity:0;transform:scale(.6)translateY(2px)}@keyframes m3-toast-progress-d4877a26{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.notif-row[data-v-2338355e]{grid-template-rows:1fr;padding-bottom:6px;display:grid}.notif-row>.notif-inner[data-v-2338355e]{min-height:0}.m3-notif-bot-enter-active[data-v-2338355e]{transition:grid-template-rows .2s,padding-bottom .2s}.m3-notif-bot-enter-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .2s;overflow:hidden}.m3-notif-bot-enter-from[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-bot-enter-from>.notif-inner[data-v-2338355e]{opacity:0;transform:translateY(12px)scale(.95)}.m3-notif-bot-leave-active[data-v-2338355e]{transition:grid-template-rows .25s,padding-bottom .25s}.m3-notif-bot-leave-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .15s;overflow:hidden}.m3-notif-bot-leave-to[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-bot-leave-to>.notif-inner[data-v-2338355e]{opacity:0;transform:scale(.93)}.m3-notif-bot-leave-active>.notif-count-badge[data-v-2338355e]{transition:opacity .15s,transform .15s}.m3-notif-bot-leave-to>.notif-count-badge[data-v-2338355e]{opacity:0;transform:scale(.5)}.m3-notif-top-enter-active[data-v-2338355e]{transition:grid-template-rows .2s,padding-bottom .2s}.m3-notif-top-enter-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .2s;overflow:hidden}.m3-notif-top-enter-from[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-top-enter-from>.notif-inner[data-v-2338355e]{opacity:0;transform:translateY(-12px)scale(.95)}.m3-notif-top-leave-active[data-v-2338355e]{transition:grid-template-rows .25s,padding-bottom .25s}.m3-notif-top-leave-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .15s;overflow:hidden}.m3-notif-top-leave-to[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-top-leave-to>.notif-inner[data-v-2338355e]{opacity:0;transform:scale(.93)}.m3-notif-top-leave-active>.notif-count-badge[data-v-2338355e]{transition:opacity .15s,transform .15s}.m3-notif-top-leave-to>.notif-count-badge[data-v-2338355e]{opacity:0;transform:scale(.5)}.m3-badge-enter-active[data-v-2338355e]{transition:opacity .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}.m3-badge-leave-active[data-v-2338355e]{transition:opacity .15s,transform .15s}.m3-badge-enter-from[data-v-2338355e],.m3-badge-leave-to[data-v-2338355e]{opacity:0;transform:scale(.5)}.m3-count-enter-active[data-v-2338355e]{transition:opacity .12s,transform .12s}.m3-count-leave-active[data-v-2338355e]{transition:opacity 80ms,transform 80ms}.m3-count-enter-from[data-v-2338355e]{opacity:0;transform:scale(1.5)translateY(-3px)}.m3-count-leave-to[data-v-2338355e]{opacity:0;transform:scale(.6)translateY(2px)}.m3-ac-modal-enter-active[data-v-aace974a],.m3-ac-modal-leave-active[data-v-aace974a]{transition:opacity .15s}.m3-ac-modal-enter-from[data-v-aace974a],.m3-ac-modal-leave-to[data-v-aace974a]{opacity:0}.m3-ac-modal-enter-active .ac-modal-box[data-v-aace974a],.m3-ac-modal-leave-active .ac-modal-box[data-v-aace974a]{transition:transform .15s}.m3-ac-modal-enter-from .ac-modal-box[data-v-aace974a],.m3-ac-modal-leave-to .ac-modal-box[data-v-aace974a]{transform:scale(.95)}.bs-scrim[data-v-5b1fb748]{transition:opacity .3s}.bs-enter-from .bs-scrim[data-v-5b1fb748],.bs-leave-to .bs-scrim[data-v-5b1fb748]{opacity:0}.bs-panel[data-v-5b1fb748]{transition:transform .32s cubic-bezier(.2,0,0,1),opacity .24s}.bs-enter-from .bs-panel[data-v-5b1fb748]{opacity:0;transform:translateY(40%)}.bs-leave-to .bs-panel[data-v-5b1fb748]{opacity:0;transform:translateY(100%)!important}.carousel-track[data-v-f1acc440]{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.carousel-track[data-v-f1acc440]::-webkit-scrollbar{display:none}.snap-center[data-v-f1acc440]>*{scroll-snap-align:center}.snap-start[data-v-f1acc440]>*{scroll-snap-align:start}.hue-slider[data-v-4d640982]{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.hue-slider[data-v-4d640982]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.hue-slider[data-v-4d640982]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.hue-slider[data-v-59af9128]{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.hue-slider[data-v-59af9128]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.hue-slider[data-v-59af9128]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.m3-cp-modal-enter-active[data-v-59af9128],.m3-cp-modal-leave-active[data-v-59af9128]{transition:opacity .15s}.m3-cp-modal-enter-from[data-v-59af9128],.m3-cp-modal-leave-to[data-v-59af9128]{opacity:0}.m3-cp-modal-enter-active .cp-box[data-v-59af9128],.m3-cp-modal-leave-active .cp-box[data-v-59af9128]{transition:transform .15s}.m3-cp-modal-enter-from .cp-box[data-v-59af9128],.m3-cp-modal-leave-to .cp-box[data-v-59af9128]{transform:scale(.95)}.m3-cmd-enter-active[data-v-4d6cca63],.m3-cmd-leave-active[data-v-4d6cca63]{transition:opacity .15s}.m3-cmd-enter-from[data-v-4d6cca63],.m3-cmd-leave-to[data-v-4d6cca63]{opacity:0}.m3-cmd-enter-active .cmd-box[data-v-4d6cca63],.m3-cmd-leave-active .cmd-box[data-v-4d6cca63]{transition:transform .15s}.m3-cmd-enter-from .cmd-box[data-v-4d6cca63],.m3-cmd-leave-to .cmd-box[data-v-4d6cca63]{transform:scale(.95)translateY(-10px)}.dt-expand-grid[data-v-857139c7]{grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.2,0,0,1);display:grid}.dt-expand-grid.dt-expand-open[data-v-857139c7]{grid-template-rows:1fr}.dt-expand-body[data-v-857139c7]{min-height:0;overflow:hidden}.m3-dp-modal-enter-active[data-v-ac5f05d4],.m3-dp-modal-leave-active[data-v-ac5f05d4]{transition:opacity .15s}.m3-dp-modal-enter-from[data-v-ac5f05d4],.m3-dp-modal-leave-to[data-v-ac5f05d4]{opacity:0}.m3-dp-modal-enter-active .dp-box[data-v-ac5f05d4],.m3-dp-modal-leave-active .dp-box[data-v-ac5f05d4]{transition:transform .15s}.m3-dp-modal-enter-from .dp-box[data-v-ac5f05d4],.m3-dp-modal-leave-to .dp-box[data-v-ac5f05d4]{transform:scale(.95)}.m3-drp-modal-enter-active[data-v-fcb7a791],.m3-drp-modal-leave-active[data-v-fcb7a791]{transition:opacity .15s}.m3-drp-modal-enter-from[data-v-fcb7a791],.m3-drp-modal-leave-to[data-v-fcb7a791]{opacity:0}.m3-drp-modal-enter-active .drp-box[data-v-fcb7a791],.m3-drp-modal-leave-active .drp-box[data-v-fcb7a791]{transition:transform .15s}.m3-drp-modal-enter-from .drp-box[data-v-fcb7a791],.m3-drp-modal-leave-to .drp-box[data-v-fcb7a791]{transform:scale(.95)}.expand-grid[data-v-31731809]{grid-template-rows:0fr;transition:grid-template-rows .3s ease-in-out;display:grid}.expand-grid.expand-open[data-v-31731809]{grid-template-rows:1fr}.expand-body[data-v-31731809]{min-height:0;overflow:hidden}.m3-fab-content-enter-active[data-v-02ba313e]{transition:opacity .2s,transform .2s cubic-bezier(.2,0,0,1)}.m3-fab-content-leave-active[data-v-02ba313e]{transition:opacity .15s,transform .15s}.m3-fab-content-enter-from[data-v-02ba313e]{opacity:0;transform:scale(.85)}.m3-fab-content-leave-to[data-v-02ba313e]{opacity:0;transform:scale(.9)}.m3-file-enter-active[data-v-6b150427],.m3-file-leave-active[data-v-6b150427]{transition:all .2s}.m3-file-enter-from[data-v-6b150427],.m3-file-leave-to[data-v-6b150427]{opacity:0;transform:translateY(-8px)}.mli-expand-grid{grid-template-rows:1fr;display:grid}.mli-expand-body{min-height:0;padding-left:2rem;overflow:hidden}.mli-expand-enter-active{transition:grid-template-rows .3s cubic-bezier(.2,0,0,1)}.mli-expand-enter-active>.mli-expand-body{transition:opacity .2s cubic-bezier(.2,0,0,1) 80ms}.mli-expand-enter-from{grid-template-rows:0fr}.mli-expand-enter-from>.mli-expand-body{opacity:0}.mli-expand-leave-active{transition:grid-template-rows .25s cubic-bezier(.4,0,1,1)}.mli-expand-leave-active>.mli-expand-body{transition:opacity .12s cubic-bezier(.4,0,1,1)}.mli-expand-leave-to{grid-template-rows:0fr}.mli-expand-leave-to>.mli-expand-body{opacity:0}.m3-mac-modal-enter-active[data-v-3337b2c7],.m3-mac-modal-leave-active[data-v-3337b2c7]{transition:opacity .15s}.m3-mac-modal-enter-from[data-v-3337b2c7],.m3-mac-modal-leave-to[data-v-3337b2c7]{opacity:0}.m3-mac-modal-enter-active .mac-modal-box[data-v-3337b2c7],.m3-mac-modal-leave-active .mac-modal-box[data-v-3337b2c7]{transition:transform .15s}.m3-mac-modal-enter-from .mac-modal-box[data-v-3337b2c7],.m3-mac-modal-leave-to .mac-modal-box[data-v-3337b2c7]{transform:scale(.95)}.m3-ms-modal-enter-active[data-v-67bbd3cf],.m3-ms-modal-leave-active[data-v-67bbd3cf]{transition:opacity .15s}.m3-ms-modal-enter-from[data-v-67bbd3cf],.m3-ms-modal-leave-to[data-v-67bbd3cf]{opacity:0}.m3-ms-modal-enter-active .ms-modal-box[data-v-67bbd3cf],.m3-ms-modal-leave-active .ms-modal-box[data-v-67bbd3cf]{transition:transform .15s}.m3-ms-modal-enter-from .ms-modal-box[data-v-67bbd3cf],.m3-ms-modal-leave-to .ms-modal-box[data-v-67bbd3cf]{transform:scale(.95)}input[type=number][data-v-f6db08d0]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-f6db08d0]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-f6db08d0]{-moz-appearance:textfield}.nd-scrim[data-v-2210a491]{transition:opacity .28s}.nd-enter-from .nd-scrim[data-v-2210a491],.nd-leave-to .nd-scrim[data-v-2210a491]{opacity:0}.nd-panel[data-v-2210a491]{transition:transform .3s cubic-bezier(.2,0,0,1)}.nd-enter-from .nd-panel-left[data-v-2210a491],.nd-leave-to .nd-panel-left[data-v-2210a491]{transform:translate(-100%)}.nd-enter-from .nd-panel-right[data-v-2210a491],.nd-leave-to .nd-panel-right[data-v-2210a491]{transform:translate(100%)}.nd-enter-from .nd-panel-top[data-v-2210a491],.nd-leave-to .nd-panel-top[data-v-2210a491]{transform:translateY(-100%)}.nd-enter-from .nd-panel-bottom[data-v-2210a491],.nd-leave-to .nd-panel-bottom[data-v-2210a491]{transform:translateY(100%)}.nd-section-grid[data-v-2210a491]{grid-template-rows:1fr;display:grid}.nd-section-body[data-v-2210a491]{min-height:0;overflow:hidden}.nd-section-enter-active[data-v-2210a491]{transition:grid-template-rows .35s cubic-bezier(.2,0,0,1)}.nd-section-enter-active>.nd-section-body[data-v-2210a491]{transition:opacity .25s cubic-bezier(.2,0,0,1) 80ms}.nd-section-enter-from[data-v-2210a491]{grid-template-rows:0fr}.nd-section-enter-from>.nd-section-body[data-v-2210a491]{opacity:0}.nd-section-leave-active[data-v-2210a491]{transition:grid-template-rows .28s cubic-bezier(.4,0,1,1)}.nd-section-leave-active>.nd-section-body[data-v-2210a491]{transition:opacity .15s cubic-bezier(.4,0,1,1)}.nd-section-leave-to[data-v-2210a491]{grid-template-rows:0fr}.nd-section-leave-to>.nd-section-body[data-v-2210a491]{opacity:0}.nd-inline[data-v-2210a491]{transition:width .3s cubic-bezier(.2,0,0,1);overflow:hidden}.nd-inline[data-v-2210a491]>*{min-width:var(--nd-width,18rem)}.nd-inline.nd-collapsed[data-v-2210a491]>*{min-width:0}.nd-toggle[data-v-2210a491]{align-items:center;display:flex}.nd-toggle-inner[data-v-2210a491]{flex-shrink:0;justify-content:center;align-items:center;width:72px;height:64px;display:flex}.nd-label[data-v-2210a491]{transition:opacity .2s cubic-bezier(.2,0,0,1) 80ms}.nd-inline.nd-collapsed .nd-label[data-v-2210a491],.nd-inline.nd-collapsed[data-v-2210a491] .nd-label{opacity:0;transition:opacity .1s cubic-bezier(.2,0,0,1)}.nd-inline .nd-collapse-h[data-v-2210a491]{max-height:80px;transition:max-height .3s cubic-bezier(.2,0,0,1)}.nd-inline.nd-collapsed .nd-collapse-h[data-v-2210a491]{max-height:0}.nd-inline .nd-section-body[data-v-2210a491]>*,.nd-inline[data-v-2210a491] .nd-section-body>*{transition:padding .3s cubic-bezier(.2,0,0,1)}.nd-children-divider[data-v-2210a491]{border-top:1px solid #0000;height:0;margin:0 .75rem;transition:border-color .1s,margin .1s}.nd-inline.nd-collapsed .nd-children-divider[data-v-2210a491]{border-top-color:var(--color-outline-variant);margin:.25rem .75rem;transition:border-color .2s .3s,margin .2s .3s}@keyframes m3-wave-flow{0%{transform:translate(0)}to{transform:translate(-20px)}}@keyframes m3-progress-indeterminate{0%{left:-40%}to{left:100%}}@media (prefers-reduced-motion:reduce){.animate-\[m3-wave-flow_1\.2s_linear_infinite\],.animate-\[m3-wave-flow_0\.9s_linear_infinite\],.animate-\[m3-progress-indeterminate_1\.6s_ease-in-out_infinite\]{animation:none!important}}@keyframes m3-cpb-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes m3-cpb-arc{0%{stroke-dasharray:5 246.3;stroke-dashoffset:0}50%{stroke-dasharray:176 75.3;stroke-dashoffset:-70px}to{stroke-dasharray:5 246.3;stroke-dashoffset:-251.3px}}.m3-radio-dot[data-v-cdb650b5]{transform-box:fill-box;transform-origin:50%;transition:transform .15s;transform:scale(0)}.m3-radio-dot.is-checked[data-v-cdb650b5]{transform:scale(1)}.m3-select-modal-enter-active[data-v-17adb5b4],.m3-select-modal-leave-active[data-v-17adb5b4]{transition:opacity .15s}.m3-select-modal-enter-from[data-v-17adb5b4],.m3-select-modal-leave-to[data-v-17adb5b4]{opacity:0}.m3-select-modal-enter-active .select-modal-box[data-v-17adb5b4],.m3-select-modal-leave-active .select-modal-box[data-v-17adb5b4]{transition:transform .15s}.m3-select-modal-enter-from .select-modal-box[data-v-17adb5b4],.m3-select-modal-leave-to .select-modal-box[data-v-17adb5b4]{transform:scale(.95)}.ss-scrim[data-v-ba5b6f4b]{transition:opacity .28s}.ss-enter-from .ss-scrim[data-v-ba5b6f4b],.ss-leave-to .ss-scrim[data-v-ba5b6f4b]{opacity:0}.ss-panel[data-v-ba5b6f4b]{transition:transform .32s cubic-bezier(.2,0,0,1),opacity .24s}.ss-enter-from .ss-panel[data-v-ba5b6f4b]{opacity:0;transform:translate(40%)}.ss-leave-to .ss-panel[data-v-ba5b6f4b]{opacity:0;transform:translate(100%)!important}@keyframes skeleton-wave-move-32ecf05b{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}.skeleton-wave[data-v-32ecf05b]{position:relative;overflow:hidden}.skeleton-wave[data-v-32ecf05b]:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-on-surface) 50%, transparent 100%);opacity:.06;animation:1.8s ease-in-out infinite skeleton-wave-move-32ecf05b;position:absolute;inset:0}.toggle-btn[data-v-ec1435bc]{transition:border-radius .25s,background-color .15s}.m3-spot-enter-active[data-v-1fa0da82],.m3-spot-leave-active[data-v-1fa0da82]{transition:opacity .15s}.m3-spot-enter-from[data-v-1fa0da82],.m3-spot-leave-to[data-v-1fa0da82]{opacity:0}.m3-spot-enter-active .spot-box[data-v-1fa0da82],.m3-spot-leave-active .spot-box[data-v-1fa0da82]{transition:transform .15s,opacity .15s}.m3-spot-enter-from .spot-box[data-v-1fa0da82]{opacity:0;transform:scale(.96)translateY(-8px)}.m3-spot-leave-to .spot-box[data-v-1fa0da82]{opacity:0;transform:scale(.98)}.m3-tp-modal-enter-active[data-v-a2a090e9],.m3-tp-modal-leave-active[data-v-a2a090e9]{transition:opacity .15s}.m3-tp-modal-enter-from[data-v-a2a090e9],.m3-tp-modal-leave-to[data-v-a2a090e9]{opacity:0}.m3-tp-modal-enter-active .tp-box[data-v-a2a090e9],.m3-tp-modal-leave-active .tp-box[data-v-a2a090e9]{transition:transform .15s}.m3-tp-modal-enter-from .tp-box[data-v-a2a090e9],.m3-tp-modal-leave-to .tp-box[data-v-a2a090e9]{transform:scale(.95)}.m3-tour-highlight{box-shadow:0 0 0 4px var(--color-primary);border-radius:8px;position:relative;z-index:201!important}.m3-tour-enter-active,.m3-tour-leave-active{transition:opacity .2s}.m3-tour-enter-from,.m3-tour-leave-to{opacity:0}.m3-markdown[data-v-23db2c2c] h1{font-size:var(--text-headline-large);line-height:var(--text-headline-large--line-height);color:var(--color-on-surface);margin:1em 0 .5em;font-weight:600}.m3-markdown[data-v-23db2c2c] h2{font-size:var(--text-headline-medium);line-height:var(--text-headline-medium--line-height);color:var(--color-on-surface);margin:1em 0 .5em;font-weight:600}.m3-markdown[data-v-23db2c2c] h3{font-size:var(--text-headline-small);line-height:var(--text-headline-small--line-height);color:var(--color-on-surface);margin:.75em 0 .25em;font-weight:600}.m3-markdown[data-v-23db2c2c] h4{font-size:var(--text-title-large);line-height:var(--text-title-large--line-height);color:var(--color-on-surface);margin:.75em 0 .25em;font-weight:600}.m3-markdown[data-v-23db2c2c] p{margin:.5em 0}.m3-markdown[data-v-23db2c2c] a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.m3-markdown[data-v-23db2c2c] a:hover{opacity:.8}.m3-markdown[data-v-23db2c2c] strong{color:var(--color-on-surface);font-weight:600}.m3-markdown[data-v-23db2c2c] em{font-style:italic}.m3-markdown[data-v-23db2c2c] ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.m3-markdown[data-v-23db2c2c] ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.m3-markdown[data-v-23db2c2c] li{margin:.25em 0}.m3-markdown[data-v-23db2c2c] li::marker{color:var(--color-on-surface-variant)}.m3-markdown[data-v-23db2c2c] blockquote{border-left:3px solid var(--color-primary);background:var(--color-surface-container);color:var(--color-on-surface-variant);border-radius:0 8px 8px 0;margin:.75em 0;padding:.5em 1em}.m3-markdown[data-v-23db2c2c] code{background:var(--color-surface-container-highest);color:var(--color-primary);border-radius:4px;padding:.15em .4em;font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:.875em}.m3-markdown[data-v-23db2c2c] pre{background:var(--color-surface-container-highest);border:1px solid var(--color-outline-variant);border-radius:12px;margin:.75em 0;padding:1em;overflow-x:auto}.m3-markdown[data-v-23db2c2c] pre code{color:var(--color-on-surface);background:0 0;padding:0;font-size:.8125rem;line-height:1.6}.m3-markdown[data-v-23db2c2c] .hljs-keyword,.m3-markdown[data-v-23db2c2c] .hljs-selector-tag,.m3-markdown[data-v-23db2c2c] .hljs-built_in,.m3-markdown[data-v-23db2c2c] .hljs-tag .hljs-keyword{color:var(--color-primary)}.m3-markdown[data-v-23db2c2c] .hljs-string,.m3-markdown[data-v-23db2c2c] .hljs-regexp,.m3-markdown[data-v-23db2c2c] .hljs-template-variable{color:var(--color-tertiary)}.m3-markdown[data-v-23db2c2c] .hljs-number,.m3-markdown[data-v-23db2c2c] .hljs-literal{color:var(--color-error)}.m3-markdown[data-v-23db2c2c] .hljs-title.function_,.m3-markdown[data-v-23db2c2c] .hljs-title.function_>.hljs-keyword{color:var(--color-secondary);font-weight:500}.m3-markdown[data-v-23db2c2c] .hljs-type,.m3-markdown[data-v-23db2c2c] .hljs-title.class_{color:var(--color-primary);font-style:italic}.m3-markdown[data-v-23db2c2c] .hljs-comment,.m3-markdown[data-v-23db2c2c] .hljs-quote{color:var(--color-outline);font-style:italic}.m3-markdown[data-v-23db2c2c] .hljs-attr,.m3-markdown[data-v-23db2c2c] .hljs-attribute{color:var(--color-tertiary)}.m3-markdown[data-v-23db2c2c] .hljs-tag{color:var(--color-on-surface-variant)}.m3-markdown[data-v-23db2c2c] .hljs-name{color:var(--color-primary)}.m3-markdown[data-v-23db2c2c] .hljs-punctuation,.m3-markdown[data-v-23db2c2c] .hljs-operator,.m3-markdown[data-v-23db2c2c] .hljs-meta,.m3-markdown[data-v-23db2c2c] .hljs-meta .hljs-keyword{color:var(--color-on-surface-variant)}.m3-markdown[data-v-23db2c2c] .hljs-variable,.m3-markdown[data-v-23db2c2c] .hljs-property,.m3-markdown[data-v-23db2c2c] .hljs-symbol,.m3-markdown[data-v-23db2c2c] .hljs-params{color:var(--color-on-surface)}.m3-markdown[data-v-23db2c2c] .m3-code-block{position:relative}.m3-markdown[data-v-23db2c2c] .m3-code-copy{background:var(--color-surface-container);width:28px;height:28px;color:var(--color-on-surface-variant);cursor:pointer;opacity:0;z-index:1;border:none;border-radius:6px;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.m3-markdown[data-v-23db2c2c] .m3-code-block:hover .m3-code-copy{opacity:1}.m3-markdown[data-v-23db2c2c] .m3-code-copy:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.m3-markdown[data-v-23db2c2c] .m3-code-line{display:block}.m3-markdown[data-v-23db2c2c] .m3-line-hl{background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-left:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);margin:0 -1em;padding:0 1em 0 calc(1em - 2px)}.m3-markdown[data-v-23db2c2c] hr{border:none;border-top:1px solid var(--color-outline-variant);margin:1.5em 0}.m3-markdown[data-v-23db2c2c] table{border-collapse:collapse;width:100%;margin:.75em 0}.m3-markdown[data-v-23db2c2c] th{background:var(--color-surface-container);text-align:left;border-bottom:2px solid var(--color-outline-variant);font-weight:600;font-size:var(--text-label-large);color:var(--color-on-surface);padding:.5em .75em}.m3-markdown[data-v-23db2c2c] td{border-bottom:1px solid var(--color-outline-variant);padding:.5em .75em}.m3-markdown[data-v-23db2c2c] img{border-radius:12px;max-width:100%;height:auto;margin:.5em 0}.rte-content[data-v-e6829e5c] .tiptap{min-height:inherit;outline:none}.rte-content[data-v-e6829e5c] .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-on-surface-variant);opacity:.5;pointer-events:none;height:0}.rte-content[data-v-e6829e5c] h1{font-size:var(--text-headline-large);line-height:var(--text-headline-large--line-height);margin:.75em 0 .25em;font-weight:600}.rte-content[data-v-e6829e5c] h2{font-size:var(--text-headline-medium);line-height:var(--text-headline-medium--line-height);margin:.75em 0 .25em;font-weight:600}.rte-content[data-v-e6829e5c] h3{font-size:var(--text-headline-small);line-height:var(--text-headline-small--line-height);margin:.75em 0 .25em;font-weight:600}.rte-content[data-v-e6829e5c] p{margin:.5em 0}.rte-content[data-v-e6829e5c] ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.rte-content[data-v-e6829e5c] ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.rte-content[data-v-e6829e5c] blockquote{border-left:3px solid var(--color-primary);color:var(--color-on-surface-variant);margin:.5em 0;padding-left:1em}.rte-content[data-v-e6829e5c] code{background:var(--color-surface-container-highest);border-radius:4px;padding:.15em .4em;font-size:.875em}.rte-content[data-v-e6829e5c] pre{background:var(--color-surface-container-highest);border-radius:8px;margin:.5em 0;padding:1em;overflow-x:auto}.rte-content[data-v-e6829e5c] pre code{background:0 0;padding:0}.rte-content[data-v-e6829e5c] a{color:var(--color-primary);text-decoration:underline}.rte-content[data-v-e6829e5c] mark{background:var(--color-tertiary-container);color:var(--color-on-tertiary-container);border-radius:2px;padding:.1em .2em}.rte-content[data-v-e6829e5c] img{border-radius:8px;max-width:100%;height:auto;margin:.5em 0}
|
|
1
|
+
.code-editor-container[data-v-05d72157] .cm-editor{height:100%;min-height:inherit;font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.6}.code-editor-container[data-v-05d72157] .cm-editor.cm-focused{outline:none}.code-editor-container[data-v-05d72157] .cm-scroller{min-height:inherit}.code-editor-container[data-v-05d72157] .cm-content{padding:12px 0}.code-editor-container[data-v-05d72157] .cm-line{padding:0 16px}.code-editor-container[data-v-05d72157] .cm-gutters{background:var(--color-surface-container);border-right:1px solid var(--color-outline-variant);color:var(--color-outline);padding:0 4px;font-size:.75rem}.code-editor-container[data-v-05d72157] .cm-activeLineGutter{background:var(--color-surface-container-high);color:var(--color-on-surface-variant)}.code-editor-container[data-v-05d72157] .cm-activeLine{background:var(--color-surface-container-lowest)}.code-editor-container[data-v-05d72157] .cm-selectionBackground{background:var(--color-primary-container)!important}.code-editor-container[data-v-05d72157] .cm-cursor{border-left-color:var(--color-primary);border-left-width:2px}.code-editor-container[data-v-05d72157] .cm-matchingBracket{background:var(--color-tertiary-container);color:var(--color-on-tertiary-container);border-radius:2px}.code-editor-container[data-v-05d72157] .cm-foldGutter span{color:var(--color-on-surface-variant)}@keyframes m3-wavy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes m3-wavy-travel{0%{stroke-dashoffset:0}to{stroke-dashoffset:calc(var(--m3-wave-len) * -1px)}}@media (prefers-reduced-motion:reduce){.animate-\[m3-wavy-spin_2\.8s_linear_infinite\]{animation:2.8s linear infinite m3-wavy-spin}.animate-\[m3-wavy-travel_2s_linear_infinite\]{animation:none!important}}.m3-dialog-enter-active[data-v-2e3c3567],.m3-dialog-leave-active[data-v-2e3c3567]{transition:opacity .15s}.m3-dialog-enter-from[data-v-2e3c3567],.m3-dialog-leave-to[data-v-2e3c3567]{opacity:0}.m3-dialog-enter-active .dialog-box[data-v-2e3c3567],.m3-dialog-leave-active .dialog-box[data-v-2e3c3567]{transition:transform .15s}.m3-dialog-enter-from .dialog-box[data-v-2e3c3567],.m3-dialog-leave-to .dialog-box[data-v-2e3c3567]{transform:scale(.95)}.m3-dialog-fs-enter-active[data-v-2e3c3567],.m3-dialog-fs-leave-active[data-v-2e3c3567]{transition:transform .25s cubic-bezier(.2,0,0,1),opacity .15s}.m3-dialog-fs-enter-from[data-v-2e3c3567],.m3-dialog-fs-leave-to[data-v-2e3c3567]{opacity:0;transform:translateY(100%)}.toast-row[data-v-d4877a26]{grid-template-rows:1fr;padding-bottom:8px;display:grid}.toast-row>.toast-inner[data-v-d4877a26]{min-height:0}.m3-toast-bot-enter-active[data-v-d4877a26]{transition:grid-template-rows .22s cubic-bezier(.2,0,0,1),padding-bottom .22s cubic-bezier(.2,0,0,1)}.m3-toast-bot-enter-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .22s cubic-bezier(.2,0,0,1)}.m3-toast-bot-enter-from[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-bot-enter-from>.toast-inner[data-v-d4877a26]{opacity:0;transform:translateY(20px)scale(.94)}.m3-toast-bot-leave-active[data-v-d4877a26]{transition:grid-template-rows .3s cubic-bezier(.2,0,0,1),padding-bottom .3s cubic-bezier(.2,0,0,1)}.m3-toast-bot-leave-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .18s}.m3-toast-bot-leave-to[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-bot-leave-to>.toast-inner[data-v-d4877a26]{opacity:0;transform:scale(.92)}.m3-toast-bot-leave-active>.toast-count-badge[data-v-d4877a26]{transition:opacity .15s,transform .15s}.m3-toast-bot-leave-to>.toast-count-badge[data-v-d4877a26]{opacity:0;transform:scale(.5)}.m3-toast-top-enter-active[data-v-d4877a26]{transition:grid-template-rows .22s cubic-bezier(.2,0,0,1),padding-bottom .22s cubic-bezier(.2,0,0,1)}.m3-toast-top-enter-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .22s cubic-bezier(.2,0,0,1)}.m3-toast-top-enter-from[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-top-enter-from>.toast-inner[data-v-d4877a26]{opacity:0;transform:translateY(-20px)scale(.94)}.m3-toast-top-leave-active[data-v-d4877a26]{transition:grid-template-rows .3s cubic-bezier(.2,0,0,1),padding-bottom .3s cubic-bezier(.2,0,0,1)}.m3-toast-top-leave-active>.toast-inner[data-v-d4877a26]{transition:opacity .18s,transform .18s}.m3-toast-top-leave-to[data-v-d4877a26]{grid-template-rows:0fr;padding-bottom:0}.m3-toast-top-leave-to>.toast-inner[data-v-d4877a26]{opacity:0;transform:scale(.92)}.m3-toast-top-leave-active>.toast-count-badge[data-v-d4877a26]{transition:opacity .15s,transform .15s}.m3-toast-top-leave-to>.toast-count-badge[data-v-d4877a26]{opacity:0;transform:scale(.5)}.m3-badge-enter-active[data-v-d4877a26]{transition:opacity .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}.m3-badge-leave-active[data-v-d4877a26]{transition:opacity .15s,transform .15s}.m3-badge-enter-from[data-v-d4877a26],.m3-badge-leave-to[data-v-d4877a26]{opacity:0;transform:scale(.5)}.m3-count-enter-active[data-v-d4877a26]{transition:opacity .12s,transform .12s}.m3-count-leave-active[data-v-d4877a26]{transition:opacity 80ms,transform 80ms}.m3-count-enter-from[data-v-d4877a26]{opacity:0;transform:scale(1.5)translateY(-3px)}.m3-count-leave-to[data-v-d4877a26]{opacity:0;transform:scale(.6)translateY(2px)}@keyframes m3-toast-progress-d4877a26{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.notif-row[data-v-2338355e]{grid-template-rows:1fr;padding-bottom:6px;display:grid}.notif-row>.notif-inner[data-v-2338355e]{min-height:0}.m3-notif-bot-enter-active[data-v-2338355e]{transition:grid-template-rows .2s,padding-bottom .2s}.m3-notif-bot-enter-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .2s;overflow:hidden}.m3-notif-bot-enter-from[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-bot-enter-from>.notif-inner[data-v-2338355e]{opacity:0;transform:translateY(12px)scale(.95)}.m3-notif-bot-leave-active[data-v-2338355e]{transition:grid-template-rows .25s,padding-bottom .25s}.m3-notif-bot-leave-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .15s;overflow:hidden}.m3-notif-bot-leave-to[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-bot-leave-to>.notif-inner[data-v-2338355e]{opacity:0;transform:scale(.93)}.m3-notif-bot-leave-active>.notif-count-badge[data-v-2338355e]{transition:opacity .15s,transform .15s}.m3-notif-bot-leave-to>.notif-count-badge[data-v-2338355e]{opacity:0;transform:scale(.5)}.m3-notif-top-enter-active[data-v-2338355e]{transition:grid-template-rows .2s,padding-bottom .2s}.m3-notif-top-enter-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .2s;overflow:hidden}.m3-notif-top-enter-from[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-top-enter-from>.notif-inner[data-v-2338355e]{opacity:0;transform:translateY(-12px)scale(.95)}.m3-notif-top-leave-active[data-v-2338355e]{transition:grid-template-rows .25s,padding-bottom .25s}.m3-notif-top-leave-active>.notif-inner[data-v-2338355e]{transition:opacity .15s,transform .15s;overflow:hidden}.m3-notif-top-leave-to[data-v-2338355e]{grid-template-rows:0fr;padding-bottom:0}.m3-notif-top-leave-to>.notif-inner[data-v-2338355e]{opacity:0;transform:scale(.93)}.m3-notif-top-leave-active>.notif-count-badge[data-v-2338355e]{transition:opacity .15s,transform .15s}.m3-notif-top-leave-to>.notif-count-badge[data-v-2338355e]{opacity:0;transform:scale(.5)}.m3-badge-enter-active[data-v-2338355e]{transition:opacity .2s,transform .2s cubic-bezier(.34,1.56,.64,1)}.m3-badge-leave-active[data-v-2338355e]{transition:opacity .15s,transform .15s}.m3-badge-enter-from[data-v-2338355e],.m3-badge-leave-to[data-v-2338355e]{opacity:0;transform:scale(.5)}.m3-count-enter-active[data-v-2338355e]{transition:opacity .12s,transform .12s}.m3-count-leave-active[data-v-2338355e]{transition:opacity 80ms,transform 80ms}.m3-count-enter-from[data-v-2338355e]{opacity:0;transform:scale(1.5)translateY(-3px)}.m3-count-leave-to[data-v-2338355e]{opacity:0;transform:scale(.6)translateY(2px)}.m3-ac-modal-enter-active[data-v-aace974a],.m3-ac-modal-leave-active[data-v-aace974a]{transition:opacity .15s}.m3-ac-modal-enter-from[data-v-aace974a],.m3-ac-modal-leave-to[data-v-aace974a]{opacity:0}.m3-ac-modal-enter-active .ac-modal-box[data-v-aace974a],.m3-ac-modal-leave-active .ac-modal-box[data-v-aace974a]{transition:transform .15s}.m3-ac-modal-enter-from .ac-modal-box[data-v-aace974a],.m3-ac-modal-leave-to .ac-modal-box[data-v-aace974a]{transform:scale(.95)}.bs-scrim[data-v-5b1fb748]{transition:opacity .3s}.bs-enter-from .bs-scrim[data-v-5b1fb748],.bs-leave-to .bs-scrim[data-v-5b1fb748]{opacity:0}.bs-panel[data-v-5b1fb748]{transition:transform .32s cubic-bezier(.2,0,0,1),opacity .24s}.bs-enter-from .bs-panel[data-v-5b1fb748]{opacity:0;transform:translateY(40%)}.bs-leave-to .bs-panel[data-v-5b1fb748]{opacity:0;transform:translateY(100%)!important}.carousel-track[data-v-f1acc440]{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.carousel-track[data-v-f1acc440]::-webkit-scrollbar{display:none}.snap-center[data-v-f1acc440]>*{scroll-snap-align:center}.snap-start[data-v-f1acc440]>*{scroll-snap-align:start}.hue-slider[data-v-4d640982]{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.hue-slider[data-v-4d640982]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.hue-slider[data-v-4d640982]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.hue-slider[data-v-59af9128]{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.hue-slider[data-v-59af9128]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.hue-slider[data-v-59af9128]::-moz-range-thumb{cursor:pointer;background:#fff;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0006}.m3-cp-modal-enter-active[data-v-59af9128],.m3-cp-modal-leave-active[data-v-59af9128]{transition:opacity .15s}.m3-cp-modal-enter-from[data-v-59af9128],.m3-cp-modal-leave-to[data-v-59af9128]{opacity:0}.m3-cp-modal-enter-active .cp-box[data-v-59af9128],.m3-cp-modal-leave-active .cp-box[data-v-59af9128]{transition:transform .15s}.m3-cp-modal-enter-from .cp-box[data-v-59af9128],.m3-cp-modal-leave-to .cp-box[data-v-59af9128]{transform:scale(.95)}.m3-cmd-enter-active[data-v-4d6cca63],.m3-cmd-leave-active[data-v-4d6cca63]{transition:opacity .15s}.m3-cmd-enter-from[data-v-4d6cca63],.m3-cmd-leave-to[data-v-4d6cca63]{opacity:0}.m3-cmd-enter-active .cmd-box[data-v-4d6cca63],.m3-cmd-leave-active .cmd-box[data-v-4d6cca63]{transition:transform .15s}.m3-cmd-enter-from .cmd-box[data-v-4d6cca63],.m3-cmd-leave-to .cmd-box[data-v-4d6cca63]{transform:scale(.95)translateY(-10px)}.dt-expand-grid[data-v-857139c7]{grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.2,0,0,1);display:grid}.dt-expand-grid.dt-expand-open[data-v-857139c7]{grid-template-rows:1fr}.dt-expand-body[data-v-857139c7]{min-height:0;overflow:hidden}.m3-dp-modal-enter-active[data-v-ac5f05d4],.m3-dp-modal-leave-active[data-v-ac5f05d4]{transition:opacity .15s}.m3-dp-modal-enter-from[data-v-ac5f05d4],.m3-dp-modal-leave-to[data-v-ac5f05d4]{opacity:0}.m3-dp-modal-enter-active .dp-box[data-v-ac5f05d4],.m3-dp-modal-leave-active .dp-box[data-v-ac5f05d4]{transition:transform .15s}.m3-dp-modal-enter-from .dp-box[data-v-ac5f05d4],.m3-dp-modal-leave-to .dp-box[data-v-ac5f05d4]{transform:scale(.95)}.m3-drp-modal-enter-active[data-v-fcb7a791],.m3-drp-modal-leave-active[data-v-fcb7a791]{transition:opacity .15s}.m3-drp-modal-enter-from[data-v-fcb7a791],.m3-drp-modal-leave-to[data-v-fcb7a791]{opacity:0}.m3-drp-modal-enter-active .drp-box[data-v-fcb7a791],.m3-drp-modal-leave-active .drp-box[data-v-fcb7a791]{transition:transform .15s}.m3-drp-modal-enter-from .drp-box[data-v-fcb7a791],.m3-drp-modal-leave-to .drp-box[data-v-fcb7a791]{transform:scale(.95)}.expand-grid[data-v-31731809]{grid-template-rows:0fr;transition:grid-template-rows .3s ease-in-out;display:grid}.expand-grid.expand-open[data-v-31731809]{grid-template-rows:1fr}.expand-body[data-v-31731809]{min-height:0;overflow:hidden}.m3-fab-content-enter-active[data-v-02ba313e]{transition:opacity .2s,transform .2s cubic-bezier(.2,0,0,1)}.m3-fab-content-leave-active[data-v-02ba313e]{transition:opacity .15s,transform .15s}.m3-fab-content-enter-from[data-v-02ba313e]{opacity:0;transform:scale(.85)}.m3-fab-content-leave-to[data-v-02ba313e]{opacity:0;transform:scale(.9)}.m3-file-enter-active[data-v-6b150427],.m3-file-leave-active[data-v-6b150427]{transition:all .2s}.m3-file-enter-from[data-v-6b150427],.m3-file-leave-to[data-v-6b150427]{opacity:0;transform:translateY(-8px)}.mli-expand-grid{grid-template-rows:1fr;display:grid}.mli-expand-body{min-height:0;padding-left:2rem;overflow:hidden}.mli-expand-enter-active{transition:grid-template-rows .3s cubic-bezier(.2,0,0,1)}.mli-expand-enter-active>.mli-expand-body{transition:opacity .2s cubic-bezier(.2,0,0,1) 80ms}.mli-expand-enter-from{grid-template-rows:0fr}.mli-expand-enter-from>.mli-expand-body{opacity:0}.mli-expand-leave-active{transition:grid-template-rows .25s cubic-bezier(.4,0,1,1)}.mli-expand-leave-active>.mli-expand-body{transition:opacity .12s cubic-bezier(.4,0,1,1)}.mli-expand-leave-to{grid-template-rows:0fr}.mli-expand-leave-to>.mli-expand-body{opacity:0}.m3-mac-modal-enter-active[data-v-3337b2c7],.m3-mac-modal-leave-active[data-v-3337b2c7]{transition:opacity .15s}.m3-mac-modal-enter-from[data-v-3337b2c7],.m3-mac-modal-leave-to[data-v-3337b2c7]{opacity:0}.m3-mac-modal-enter-active .mac-modal-box[data-v-3337b2c7],.m3-mac-modal-leave-active .mac-modal-box[data-v-3337b2c7]{transition:transform .15s}.m3-mac-modal-enter-from .mac-modal-box[data-v-3337b2c7],.m3-mac-modal-leave-to .mac-modal-box[data-v-3337b2c7]{transform:scale(.95)}.m3-ms-modal-enter-active[data-v-67bbd3cf],.m3-ms-modal-leave-active[data-v-67bbd3cf]{transition:opacity .15s}.m3-ms-modal-enter-from[data-v-67bbd3cf],.m3-ms-modal-leave-to[data-v-67bbd3cf]{opacity:0}.m3-ms-modal-enter-active .ms-modal-box[data-v-67bbd3cf],.m3-ms-modal-leave-active .ms-modal-box[data-v-67bbd3cf]{transition:transform .15s}.m3-ms-modal-enter-from .ms-modal-box[data-v-67bbd3cf],.m3-ms-modal-leave-to .ms-modal-box[data-v-67bbd3cf]{transform:scale(.95)}input[type=number][data-v-f6db08d0]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-f6db08d0]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-f6db08d0]{-moz-appearance:textfield}.nd-scrim[data-v-2210a491]{transition:opacity .28s}.nd-enter-from .nd-scrim[data-v-2210a491],.nd-leave-to .nd-scrim[data-v-2210a491]{opacity:0}.nd-panel[data-v-2210a491]{transition:transform .3s cubic-bezier(.2,0,0,1)}.nd-enter-from .nd-panel-left[data-v-2210a491],.nd-leave-to .nd-panel-left[data-v-2210a491]{transform:translate(-100%)}.nd-enter-from .nd-panel-right[data-v-2210a491],.nd-leave-to .nd-panel-right[data-v-2210a491]{transform:translate(100%)}.nd-enter-from .nd-panel-top[data-v-2210a491],.nd-leave-to .nd-panel-top[data-v-2210a491]{transform:translateY(-100%)}.nd-enter-from .nd-panel-bottom[data-v-2210a491],.nd-leave-to .nd-panel-bottom[data-v-2210a491]{transform:translateY(100%)}.nd-section-grid[data-v-2210a491]{grid-template-rows:1fr;display:grid}.nd-section-body[data-v-2210a491]{min-height:0;overflow:hidden}.nd-section-enter-active[data-v-2210a491]{transition:grid-template-rows .35s cubic-bezier(.2,0,0,1)}.nd-section-enter-active>.nd-section-body[data-v-2210a491]{transition:opacity .25s cubic-bezier(.2,0,0,1) 80ms}.nd-section-enter-from[data-v-2210a491]{grid-template-rows:0fr}.nd-section-enter-from>.nd-section-body[data-v-2210a491]{opacity:0}.nd-section-leave-active[data-v-2210a491]{transition:grid-template-rows .28s cubic-bezier(.4,0,1,1)}.nd-section-leave-active>.nd-section-body[data-v-2210a491]{transition:opacity .15s cubic-bezier(.4,0,1,1)}.nd-section-leave-to[data-v-2210a491]{grid-template-rows:0fr}.nd-section-leave-to>.nd-section-body[data-v-2210a491]{opacity:0}.nd-inline[data-v-2210a491]{transition:width .3s cubic-bezier(.2,0,0,1);overflow:hidden}.nd-inline[data-v-2210a491]>*{min-width:var(--nd-width,18rem)}.nd-inline.nd-collapsed[data-v-2210a491]>*{min-width:0}.nd-toggle[data-v-2210a491]{align-items:center;display:flex}.nd-toggle-inner[data-v-2210a491]{flex-shrink:0;justify-content:center;align-items:center;width:72px;height:64px;display:flex}.nd-label[data-v-2210a491]{transition:opacity .2s cubic-bezier(.2,0,0,1) 80ms}.nd-inline.nd-collapsed .nd-label[data-v-2210a491],.nd-inline.nd-collapsed[data-v-2210a491] .nd-label{opacity:0;transition:opacity .1s cubic-bezier(.2,0,0,1)}.nd-inline .nd-collapse-h[data-v-2210a491]{max-height:80px;transition:max-height .3s cubic-bezier(.2,0,0,1)}.nd-inline.nd-collapsed .nd-collapse-h[data-v-2210a491]{max-height:0}.nd-inline .nd-section-body[data-v-2210a491]>*,.nd-inline[data-v-2210a491] .nd-section-body>*{transition:padding .3s cubic-bezier(.2,0,0,1)}.nd-children-divider[data-v-2210a491]{border-top:1px solid #0000;height:0;margin:0 .75rem;transition:border-color .1s,margin .1s}.nd-inline.nd-collapsed .nd-children-divider[data-v-2210a491]{border-top-color:var(--color-outline-variant);margin:.25rem .75rem;transition:border-color .2s .3s,margin .2s .3s}@keyframes m3-wave-flow{0%{transform:translate(0)}to{transform:translate(-20px)}}@keyframes m3-progress-indeterminate{0%{left:-40%}to{left:100%}}@media (prefers-reduced-motion:reduce){.animate-\[m3-wave-flow_1\.2s_linear_infinite\],.animate-\[m3-wave-flow_0\.9s_linear_infinite\],.animate-\[m3-progress-indeterminate_1\.6s_ease-in-out_infinite\]{animation:none!important}}@keyframes m3-cpb-spin{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes m3-cpb-arc{0%{stroke-dasharray:5 246.3;stroke-dashoffset:0}50%{stroke-dasharray:176 75.3;stroke-dashoffset:-70px}to{stroke-dasharray:5 246.3;stroke-dashoffset:-251.3px}}.m3-radio-dot[data-v-cdb650b5]{transform-box:fill-box;transform-origin:50%;transition:transform .15s;transform:scale(0)}.m3-radio-dot.is-checked[data-v-cdb650b5]{transform:scale(1)}.m3-select-modal-enter-active[data-v-17adb5b4],.m3-select-modal-leave-active[data-v-17adb5b4]{transition:opacity .15s}.m3-select-modal-enter-from[data-v-17adb5b4],.m3-select-modal-leave-to[data-v-17adb5b4]{opacity:0}.m3-select-modal-enter-active .select-modal-box[data-v-17adb5b4],.m3-select-modal-leave-active .select-modal-box[data-v-17adb5b4]{transition:transform .15s}.m3-select-modal-enter-from .select-modal-box[data-v-17adb5b4],.m3-select-modal-leave-to .select-modal-box[data-v-17adb5b4]{transform:scale(.95)}.ss-scrim[data-v-ba5b6f4b]{transition:opacity .28s}.ss-enter-from .ss-scrim[data-v-ba5b6f4b],.ss-leave-to .ss-scrim[data-v-ba5b6f4b]{opacity:0}.ss-panel[data-v-ba5b6f4b]{transition:transform .32s cubic-bezier(.2,0,0,1),opacity .24s}.ss-enter-from .ss-panel[data-v-ba5b6f4b]{opacity:0;transform:translate(40%)}.ss-leave-to .ss-panel[data-v-ba5b6f4b]{opacity:0;transform:translate(100%)!important}@keyframes skeleton-wave-move-32ecf05b{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}.skeleton-wave[data-v-32ecf05b]{position:relative;overflow:hidden}.skeleton-wave[data-v-32ecf05b]:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-on-surface) 50%, transparent 100%);opacity:.06;animation:1.8s ease-in-out infinite skeleton-wave-move-32ecf05b;position:absolute;inset:0}.toggle-btn[data-v-ec1435bc]{transition:border-radius .25s,background-color .15s}.m3-spot-enter-active[data-v-1fa0da82],.m3-spot-leave-active[data-v-1fa0da82]{transition:opacity .15s}.m3-spot-enter-from[data-v-1fa0da82],.m3-spot-leave-to[data-v-1fa0da82]{opacity:0}.m3-spot-enter-active .spot-box[data-v-1fa0da82],.m3-spot-leave-active .spot-box[data-v-1fa0da82]{transition:transform .15s,opacity .15s}.m3-spot-enter-from .spot-box[data-v-1fa0da82]{opacity:0;transform:scale(.96)translateY(-8px)}.m3-spot-leave-to .spot-box[data-v-1fa0da82]{opacity:0;transform:scale(.98)}.m3-tp-modal-enter-active[data-v-a2a090e9],.m3-tp-modal-leave-active[data-v-a2a090e9]{transition:opacity .15s}.m3-tp-modal-enter-from[data-v-a2a090e9],.m3-tp-modal-leave-to[data-v-a2a090e9]{opacity:0}.m3-tp-modal-enter-active .tp-box[data-v-a2a090e9],.m3-tp-modal-leave-active .tp-box[data-v-a2a090e9]{transition:transform .15s}.m3-tp-modal-enter-from .tp-box[data-v-a2a090e9],.m3-tp-modal-leave-to .tp-box[data-v-a2a090e9]{transform:scale(.95)}.m3-tour-highlight{box-shadow:0 0 0 4px var(--color-primary);border-radius:8px;position:relative;z-index:201!important}.m3-tour-enter-active,.m3-tour-leave-active{transition:opacity .2s}.m3-tour-enter-from,.m3-tour-leave-to{opacity:0}.m3-markdown[data-v-23db2c2c] h1{font-size:var(--text-headline-large);line-height:var(--text-headline-large--line-height);color:var(--color-on-surface);margin:1em 0 .5em;font-weight:600}.m3-markdown[data-v-23db2c2c] h2{font-size:var(--text-headline-medium);line-height:var(--text-headline-medium--line-height);color:var(--color-on-surface);margin:1em 0 .5em;font-weight:600}.m3-markdown[data-v-23db2c2c] h3{font-size:var(--text-headline-small);line-height:var(--text-headline-small--line-height);color:var(--color-on-surface);margin:.75em 0 .25em;font-weight:600}.m3-markdown[data-v-23db2c2c] h4{font-size:var(--text-title-large);line-height:var(--text-title-large--line-height);color:var(--color-on-surface);margin:.75em 0 .25em;font-weight:600}.m3-markdown[data-v-23db2c2c] p{margin:.5em 0}.m3-markdown[data-v-23db2c2c] a{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.m3-markdown[data-v-23db2c2c] a:hover{opacity:.8}.m3-markdown[data-v-23db2c2c] strong{color:var(--color-on-surface);font-weight:600}.m3-markdown[data-v-23db2c2c] em{font-style:italic}.m3-markdown[data-v-23db2c2c] ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.m3-markdown[data-v-23db2c2c] ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.m3-markdown[data-v-23db2c2c] li{margin:.25em 0}.m3-markdown[data-v-23db2c2c] li::marker{color:var(--color-on-surface-variant)}.m3-markdown[data-v-23db2c2c] blockquote{border-left:3px solid var(--color-primary);background:var(--color-surface-container);color:var(--color-on-surface-variant);border-radius:0 8px 8px 0;margin:.75em 0;padding:.5em 1em}.m3-markdown[data-v-23db2c2c] code{background:var(--color-surface-container-highest);color:var(--color-primary);border-radius:4px;padding:.15em .4em;font-family:Roboto Mono,Fira Code,Consolas,monospace;font-size:.875em}.m3-markdown[data-v-23db2c2c] pre{background:var(--color-surface-container-highest);border:1px solid var(--color-outline-variant);border-radius:12px;margin:.75em 0;padding:1em;overflow-x:auto}.m3-markdown[data-v-23db2c2c] pre code{color:var(--color-on-surface);background:0 0;padding:0;font-size:.8125rem;line-height:1.6}.m3-markdown[data-v-23db2c2c] .hljs-keyword,.m3-markdown[data-v-23db2c2c] .hljs-selector-tag,.m3-markdown[data-v-23db2c2c] .hljs-built_in,.m3-markdown[data-v-23db2c2c] .hljs-tag .hljs-keyword{color:var(--color-primary)}.m3-markdown[data-v-23db2c2c] .hljs-string,.m3-markdown[data-v-23db2c2c] .hljs-regexp,.m3-markdown[data-v-23db2c2c] .hljs-template-variable{color:var(--color-tertiary)}.m3-markdown[data-v-23db2c2c] .hljs-number,.m3-markdown[data-v-23db2c2c] .hljs-literal{color:var(--color-error)}.m3-markdown[data-v-23db2c2c] .hljs-title.function_,.m3-markdown[data-v-23db2c2c] .hljs-title.function_>.hljs-keyword{color:var(--color-secondary);font-weight:500}.m3-markdown[data-v-23db2c2c] .hljs-type,.m3-markdown[data-v-23db2c2c] .hljs-title.class_{color:var(--color-primary);font-style:italic}.m3-markdown[data-v-23db2c2c] .hljs-comment,.m3-markdown[data-v-23db2c2c] .hljs-quote{color:var(--color-outline);font-style:italic}.m3-markdown[data-v-23db2c2c] .hljs-attr,.m3-markdown[data-v-23db2c2c] .hljs-attribute{color:var(--color-tertiary)}.m3-markdown[data-v-23db2c2c] .hljs-tag{color:var(--color-on-surface-variant)}.m3-markdown[data-v-23db2c2c] .hljs-name{color:var(--color-primary)}.m3-markdown[data-v-23db2c2c] .hljs-punctuation,.m3-markdown[data-v-23db2c2c] .hljs-operator,.m3-markdown[data-v-23db2c2c] .hljs-meta,.m3-markdown[data-v-23db2c2c] .hljs-meta .hljs-keyword{color:var(--color-on-surface-variant)}.m3-markdown[data-v-23db2c2c] .hljs-variable,.m3-markdown[data-v-23db2c2c] .hljs-property,.m3-markdown[data-v-23db2c2c] .hljs-symbol,.m3-markdown[data-v-23db2c2c] .hljs-params{color:var(--color-on-surface)}.m3-markdown[data-v-23db2c2c] .m3-code-block{position:relative}.m3-markdown[data-v-23db2c2c] .m3-code-copy{background:var(--color-surface-container);width:28px;height:28px;color:var(--color-on-surface-variant);cursor:pointer;opacity:0;z-index:1;border:none;border-radius:6px;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.m3-markdown[data-v-23db2c2c] .m3-code-block:hover .m3-code-copy{opacity:1}.m3-markdown[data-v-23db2c2c] .m3-code-copy:hover{background:var(--color-surface-container-high);color:var(--color-on-surface)}.m3-markdown[data-v-23db2c2c] .m3-code-line{display:block}.m3-markdown[data-v-23db2c2c] .m3-line-hl{background:color-mix(in srgb, var(--color-primary) 8%, transparent);border-left:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);margin:0 -1em;padding:0 1em 0 calc(1em - 2px)}.m3-markdown[data-v-23db2c2c] hr{border:none;border-top:1px solid var(--color-outline-variant);margin:1.5em 0}.m3-markdown[data-v-23db2c2c] table{border-collapse:collapse;width:100%;margin:.75em 0}.m3-markdown[data-v-23db2c2c] th{background:var(--color-surface-container);text-align:left;border-bottom:2px solid var(--color-outline-variant);font-weight:600;font-size:var(--text-label-large);color:var(--color-on-surface);padding:.5em .75em}.m3-markdown[data-v-23db2c2c] td{border-bottom:1px solid var(--color-outline-variant);padding:.5em .75em}.m3-markdown[data-v-23db2c2c] img{border-radius:12px;max-width:100%;height:auto;margin:.5em 0}.rte-content[data-v-e6829e5c] .tiptap{min-height:inherit;outline:none}.rte-content[data-v-e6829e5c] .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-on-surface-variant);opacity:.5;pointer-events:none;height:0}.rte-content[data-v-e6829e5c] h1{font-size:var(--text-headline-large);line-height:var(--text-headline-large--line-height);margin:.75em 0 .25em;font-weight:600}.rte-content[data-v-e6829e5c] h2{font-size:var(--text-headline-medium);line-height:var(--text-headline-medium--line-height);margin:.75em 0 .25em;font-weight:600}.rte-content[data-v-e6829e5c] h3{font-size:var(--text-headline-small);line-height:var(--text-headline-small--line-height);margin:.75em 0 .25em;font-weight:600}.rte-content[data-v-e6829e5c] p{margin:.5em 0}.rte-content[data-v-e6829e5c] ul{margin:.5em 0;padding-left:1.5em;list-style-type:disc}.rte-content[data-v-e6829e5c] ol{margin:.5em 0;padding-left:1.5em;list-style-type:decimal}.rte-content[data-v-e6829e5c] blockquote{border-left:3px solid var(--color-primary);color:var(--color-on-surface-variant);margin:.5em 0;padding-left:1em}.rte-content[data-v-e6829e5c] code{background:var(--color-surface-container-highest);border-radius:4px;padding:.15em .4em;font-size:.875em}.rte-content[data-v-e6829e5c] pre{background:var(--color-surface-container-highest);border-radius:8px;margin:.5em 0;padding:1em;overflow-x:auto}.rte-content[data-v-e6829e5c] pre code{background:0 0;padding:0}.rte-content[data-v-e6829e5c] a{color:var(--color-primary);text-decoration:underline}.rte-content[data-v-e6829e5c] mark{background:var(--color-tertiary-container);color:var(--color-on-tertiary-container);border-radius:2px;padding:.1em .2em}.rte-content[data-v-e6829e5c] img{border-radius:8px;max-width:100%;height:auto;margin:.5em 0}
|
|
2
2
|
/*$vite$:1*/
|