@brainfish-ai/editor 0.16.0 → 0.16.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/editor/internal/codeMirrorTheme.d.ts +14 -0
- package/dist/{index-Pbdt_JAa.js → index-B4R1rT37.js} +2 -2
- package/dist/{index-DaEJooLf.js → index-BBMUH80b.js} +2 -2
- package/dist/{index-CkC8SVWG.js → index-BIHNHMyg.js} +2 -2
- package/dist/{index-B3Tj0aeA.js → index-BJKQPlcf.js} +2 -2
- package/dist/{index-BoGCS5K8.js → index-BQa2bres.js} +2 -2
- package/dist/{index-DmshtaDi.js → index-C-bL3Cy9.js} +3 -3
- package/dist/{index-mjlRw27L.js → index-CFr33LuW.js} +2 -2
- package/dist/{index-DcHkonsK.js → index-COD_xliD.js} +4 -4
- package/dist/{index-BgzDJCPK.js → index-CgzQ1jj0.js} +2 -2
- package/dist/{index-DLaMyc-O.js → index-CsaeJbB5.js} +2 -2
- package/dist/{index-D1lvHOEq.js → index-CyTfufcP.js} +2 -2
- package/dist/{index-DnIbufdg.js → index-D7noxe1h.js} +3 -3
- package/dist/{index-o1kUBM0B.js → index-DJWghCuI.js} +69 -31
- package/dist/{index-DO4yrIc-.js → index-Dk6UNQWp.js} +4 -4
- package/dist/{index-DPERyOhC.js → index-DnbjsrWF.js} +2 -2
- package/dist/{index-DC7kmwxC.js → index-DnpXm_wT.js} +4 -4
- package/dist/{index-dd3JkZcJ.js → index-DsUx-yKw.js} +2 -2
- package/dist/{index-yGP3q8Ph.js → index-Dv14TLjz.js} +3 -3
- package/dist/{index-3kIhnnQF.js → index-DveiglG-.js} +3 -3
- package/dist/{index-DQl-jPCB.js → index-DztBKea2.js} +2 -2
- package/dist/{index-ugK_d0Eb.js → index-LyNcRvuh.js} +2 -2
- package/dist/{index-FnbDXzus.js → index-dKic9ff-.js} +1 -1
- package/dist/{index-TzlF4I2U.js → index-mEwvGwcX.js} +2 -2
- package/dist/{index-D2xHwKn1.js → index-paWgasj8.js} +3 -3
- package/dist/index.js +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { MutableRefObject } from 'react';
|
|
2
|
+
import { Extension } from '@codemirror/state';
|
|
3
|
+
import { ViewPlugin } from '@codemirror/view';
|
|
4
|
+
/**
|
|
5
|
+
* Crepe bakes the CodeMirror theme when the editor is created. `html.dark` often
|
|
6
|
+
* lands after that (Storybook theme decorator, platform class toggle), so the
|
|
7
|
+
* crepe CSS variables go dark while CodeMirror stays on the light theme.
|
|
8
|
+
* Compartment lets existing and later-mounted code blocks follow the live theme.
|
|
9
|
+
*/
|
|
10
|
+
export declare const codeMirrorThemeConfig: (themeRef: MutableRefObject<"light" | "dark">) => {
|
|
11
|
+
theme: Extension;
|
|
12
|
+
extensions: ViewPlugin<{}, undefined>[];
|
|
13
|
+
};
|
|
14
|
+
export declare const syncCodeMirrorTheme: (root: ParentNode, theme: "light" | "dark") => void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside } from './index-
|
|
1
|
+
import { L as LRParser } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
const jsonHighlighting = styleTags({
|
|
5
5
|
String: tags.string,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-
|
|
1
|
+
import { L as LRParser } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
const javaHighlighting = styleTags({
|
|
5
5
|
null: tags.null,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, Q as EditorView, I as syntaxTree, R as EditorSelection, A as LanguageSupport, G as ifNotIn, H as completeFromList, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside, ab as sublanguageProp, N as snippetCompletion, a3 as defineLanguageFacet, O as NodeWeakMap, P as IterMode } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, Q as EditorView, I as syntaxTree, R as EditorSelection, A as LanguageSupport, G as ifNotIn, H as completeFromList, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside, ab as sublanguageProp, N as snippetCompletion, a3 as defineLanguageFacet, O as NodeWeakMap, P as IterMode } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const noSemi = 316,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as LanguageSupport, L as LRLanguage, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp, M as foldInside, E as styleTags, F as tags } from './index-
|
|
2
|
-
import { L as LRParser } from './index-
|
|
1
|
+
import { A as LanguageSupport, L as LRLanguage, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp, M as foldInside, E as styleTags, F as tags } from './index-DJWghCuI.js';
|
|
2
|
+
import { L as LRParser } from './index-dKic9ff-.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const spec_Keyword = {__proto__:null,anyref:34, dataref:34, eqref:34, externref:34, i31ref:34, funcref:34, i8:34, i16:34, i32:34, i64:34, f32:34, f64:34};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, G as ifNotIn, H as completeFromList, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside, I as syntaxTree, N as snippetCompletion, O as NodeWeakMap, P as IterMode } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup, C as ContextTracker } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, G as ifNotIn, H as completeFromList, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside, I as syntaxTree, N as snippetCompletion, O as NodeWeakMap, P as IterMode } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const insertedSemi = 177,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside, E as styleTags, F as tags } from './index-
|
|
2
|
-
import { defineCSSCompletionSource } from './index-
|
|
3
|
-
import { L as LRParser, E as ExternalTokenizer } from './index-
|
|
1
|
+
import { A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside, E as styleTags, F as tags } from './index-DJWghCuI.js';
|
|
2
|
+
import { defineCSSCompletionSource } from './index-mEwvGwcX.js';
|
|
3
|
+
import { L as LRParser, E as ExternalTokenizer } from './index-dKic9ff-.js';
|
|
4
4
|
|
|
5
5
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
6
6
|
const descendantOp = 110,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, Q as EditorView, I as syntaxTree, R as EditorSelection, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, D as foldNodeProp, a9 as bracketMatchingHandle } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, Q as EditorView, I as syntaxTree, R as EditorSelection, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, D as foldNodeProp, a9 as bracketMatchingHandle } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const StartTag = 1,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { L as LRLanguage, A as LanguageSupport, S as parseMixed, E as styleTags, F as tags } from './index-
|
|
2
|
-
import { html } from './index-
|
|
3
|
-
import { javascriptLanguage } from './index-
|
|
4
|
-
import { L as LRParser, a as LocalTokenGroup } from './index-
|
|
1
|
+
import { L as LRLanguage, A as LanguageSupport, S as parseMixed, E as styleTags, F as tags } from './index-DJWghCuI.js';
|
|
2
|
+
import { html } from './index-Dk6UNQWp.js';
|
|
3
|
+
import { javascriptLanguage } from './index-BIHNHMyg.js';
|
|
4
|
+
import { L as LRParser, a as LocalTokenGroup } from './index-dKic9ff-.js';
|
|
5
5
|
|
|
6
6
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
7
7
|
const parser = /*@__PURE__*/LRParser.deserialize({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { u as useInstance, e as editorViewCtx, r as reviewSuggestionsDecoKey, o as orderReviewSuggestionsByResolvedRanges, g as getNextReviewSuggestionId, p as parserCtx, a as parseProposedMd, c as createApplyReviewSuggestionTransaction, i as isMilkdownContextNotFoundError, b as createDismissReviewSuggestionTransaction } from './index-
|
|
2
|
-
export { d as applyAllReviewSuggestions, f as buildReviewSuggestionsPlugin, h as createInlineSuggestionElement, j as createReviewSuggestionBulkActions, k as getActiveReviewSuggestions, l as rejectAllReviewSuggestions, m as resolveReviewSuggestionRanges, n as reviewSuggestionApplyMeta, q as reviewSuggestionDismissMeta, s as reviewSuggestionsDecorationPlugin, t as reviewSuggestionsSelectionMeta, v as reviewSuggestionsUpdateMeta, w as useDefaultReviewSuggestionSelection, x as useReviewSuggestionBulkActionsRef, y as useReviewSuggestionSelectionSync, z as useReviewSuggestionsLoader } from './index-
|
|
1
|
+
import { u as useInstance, e as editorViewCtx, r as reviewSuggestionsDecoKey, o as orderReviewSuggestionsByResolvedRanges, g as getNextReviewSuggestionId, p as parserCtx, a as parseProposedMd, c as createApplyReviewSuggestionTransaction, i as isMilkdownContextNotFoundError, b as createDismissReviewSuggestionTransaction } from './index-DJWghCuI.js';
|
|
2
|
+
export { d as applyAllReviewSuggestions, f as buildReviewSuggestionsPlugin, h as createInlineSuggestionElement, j as createReviewSuggestionBulkActions, k as getActiveReviewSuggestions, l as rejectAllReviewSuggestions, m as resolveReviewSuggestionRanges, n as reviewSuggestionApplyMeta, q as reviewSuggestionDismissMeta, s as reviewSuggestionsDecorationPlugin, t as reviewSuggestionsSelectionMeta, v as reviewSuggestionsUpdateMeta, w as useDefaultReviewSuggestionSelection, x as useReviewSuggestionBulkActionsRef, y as useReviewSuggestionSelectionSync, z as useReviewSuggestionsLoader } from './index-DJWghCuI.js';
|
|
3
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { createContext, useRef, useLayoutEffect, useEffect, useContext, useId, useCallback, useMemo, Fragment, createElement, useInsertionEffect, forwardRef, Component } from 'react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, J as flatIndent, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const RawString = 1,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const closureParamDelim = 1,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, D as foldNodeProp, M as foldInside, B as indentNodeProp, C as continuedIndent } from './index-
|
|
3
|
-
import { defineCSSCompletionSource } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, L as LRLanguage, D as foldNodeProp, M as foldInside, B as indentNodeProp, C as continuedIndent } from './index-DJWghCuI.js';
|
|
3
|
+
import { defineCSSCompletionSource } from './index-mEwvGwcX.js';
|
|
4
4
|
|
|
5
5
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
6
6
|
const indent = 168,
|
|
@@ -43135,7 +43135,11 @@ const getThemeFromHtml = () => {
|
|
|
43135
43135
|
return getSystemTheme();
|
|
43136
43136
|
};
|
|
43137
43137
|
const useEditorTheme = (theme = "system") => {
|
|
43138
|
-
const [resolvedTheme, setResolvedTheme] = useState(
|
|
43138
|
+
const [resolvedTheme, setResolvedTheme] = useState(() => {
|
|
43139
|
+
if (theme !== "system") return theme;
|
|
43140
|
+
if (typeof document === "undefined") return "light";
|
|
43141
|
+
return getThemeFromHtml();
|
|
43142
|
+
});
|
|
43139
43143
|
useEffect(() => {
|
|
43140
43144
|
if (theme !== "system") {
|
|
43141
43145
|
setResolvedTheme(theme);
|
|
@@ -70109,7 +70113,7 @@ function legacy(parser) {
|
|
|
70109
70113
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
70110
70114
|
}
|
|
70111
70115
|
function sql(dialectName) {
|
|
70112
|
-
return import('./index-
|
|
70116
|
+
return import('./index-DnbjsrWF.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
70113
70117
|
}
|
|
70114
70118
|
/**
|
|
70115
70119
|
An array of language descriptions for known language packages.
|
|
@@ -70120,7 +70124,7 @@ const languages = [
|
|
|
70120
70124
|
name: "C",
|
|
70121
70125
|
extensions: ["c", "h", "ino"],
|
|
70122
70126
|
load() {
|
|
70123
|
-
return import('./index-
|
|
70127
|
+
return import('./index-CsaeJbB5.js').then(m => m.cpp());
|
|
70124
70128
|
}
|
|
70125
70129
|
}),
|
|
70126
70130
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70128,7 +70132,7 @@ const languages = [
|
|
|
70128
70132
|
alias: ["cpp"],
|
|
70129
70133
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
70130
70134
|
load() {
|
|
70131
|
-
return import('./index-
|
|
70135
|
+
return import('./index-CsaeJbB5.js').then(m => m.cpp());
|
|
70132
70136
|
}
|
|
70133
70137
|
}),
|
|
70134
70138
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70141,14 +70145,14 @@ const languages = [
|
|
|
70141
70145
|
name: "CSS",
|
|
70142
70146
|
extensions: ["css"],
|
|
70143
70147
|
load() {
|
|
70144
|
-
return import('./index-
|
|
70148
|
+
return import('./index-mEwvGwcX.js').then(m => m.css());
|
|
70145
70149
|
}
|
|
70146
70150
|
}),
|
|
70147
70151
|
/*@__PURE__*/LanguageDescription.of({
|
|
70148
70152
|
name: "Go",
|
|
70149
70153
|
extensions: ["go"],
|
|
70150
70154
|
load() {
|
|
70151
|
-
return import('./index-
|
|
70155
|
+
return import('./index-BQa2bres.js').then(m => m.go());
|
|
70152
70156
|
}
|
|
70153
70157
|
}),
|
|
70154
70158
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70156,14 +70160,14 @@ const languages = [
|
|
|
70156
70160
|
alias: ["xhtml"],
|
|
70157
70161
|
extensions: ["html", "htm", "handlebars", "hbs"],
|
|
70158
70162
|
load() {
|
|
70159
|
-
return import('./index-
|
|
70163
|
+
return import('./index-Dk6UNQWp.js').then(m => m.html());
|
|
70160
70164
|
}
|
|
70161
70165
|
}),
|
|
70162
70166
|
/*@__PURE__*/LanguageDescription.of({
|
|
70163
70167
|
name: "Java",
|
|
70164
70168
|
extensions: ["java"],
|
|
70165
70169
|
load() {
|
|
70166
|
-
return import('./index-
|
|
70170
|
+
return import('./index-BBMUH80b.js').then(m => m.java());
|
|
70167
70171
|
}
|
|
70168
70172
|
}),
|
|
70169
70173
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70171,14 +70175,14 @@ const languages = [
|
|
|
70171
70175
|
alias: ["ecmascript", "js", "node"],
|
|
70172
70176
|
extensions: ["js", "mjs", "cjs"],
|
|
70173
70177
|
load() {
|
|
70174
|
-
return import('./index-
|
|
70178
|
+
return import('./index-BIHNHMyg.js').then(m => m.javascript());
|
|
70175
70179
|
}
|
|
70176
70180
|
}),
|
|
70177
70181
|
/*@__PURE__*/LanguageDescription.of({
|
|
70178
70182
|
name: "Jinja",
|
|
70179
70183
|
extensions: ["j2", "jinja", "jinja2"],
|
|
70180
70184
|
load() {
|
|
70181
|
-
return import('./index-
|
|
70185
|
+
return import('./index-paWgasj8.js').then(m => m.jinja());
|
|
70182
70186
|
}
|
|
70183
70187
|
}),
|
|
70184
70188
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70186,28 +70190,28 @@ const languages = [
|
|
|
70186
70190
|
alias: ["json5"],
|
|
70187
70191
|
extensions: ["json", "map"],
|
|
70188
70192
|
load() {
|
|
70189
|
-
return import('./index-
|
|
70193
|
+
return import('./index-B4R1rT37.js').then(m => m.json());
|
|
70190
70194
|
}
|
|
70191
70195
|
}),
|
|
70192
70196
|
/*@__PURE__*/LanguageDescription.of({
|
|
70193
70197
|
name: "JSX",
|
|
70194
70198
|
extensions: ["jsx"],
|
|
70195
70199
|
load() {
|
|
70196
|
-
return import('./index-
|
|
70200
|
+
return import('./index-BIHNHMyg.js').then(m => m.javascript({ jsx: true }));
|
|
70197
70201
|
}
|
|
70198
70202
|
}),
|
|
70199
70203
|
/*@__PURE__*/LanguageDescription.of({
|
|
70200
70204
|
name: "LESS",
|
|
70201
70205
|
extensions: ["less"],
|
|
70202
70206
|
load() {
|
|
70203
|
-
return import('./index-
|
|
70207
|
+
return import('./index-C-bL3Cy9.js').then(m => m.less());
|
|
70204
70208
|
}
|
|
70205
70209
|
}),
|
|
70206
70210
|
/*@__PURE__*/LanguageDescription.of({
|
|
70207
70211
|
name: "Liquid",
|
|
70208
70212
|
extensions: ["liquid"],
|
|
70209
70213
|
load() {
|
|
70210
|
-
return import('./index-
|
|
70214
|
+
return import('./index-Dv14TLjz.js').then(m => m.liquid());
|
|
70211
70215
|
}
|
|
70212
70216
|
}),
|
|
70213
70217
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70218,7 +70222,7 @@ const languages = [
|
|
|
70218
70222
|
name: "Markdown",
|
|
70219
70223
|
extensions: ["md", "markdown", "mkd"],
|
|
70220
70224
|
load() {
|
|
70221
|
-
return import('./index-
|
|
70225
|
+
return import('./index-LyNcRvuh.js').then(m => m.markdown());
|
|
70222
70226
|
}
|
|
70223
70227
|
}),
|
|
70224
70228
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70233,7 +70237,7 @@ const languages = [
|
|
|
70233
70237
|
name: "PHP",
|
|
70234
70238
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
70235
70239
|
load() {
|
|
70236
|
-
return import('./index-
|
|
70240
|
+
return import('./index-DveiglG-.js').then(m => m.php());
|
|
70237
70241
|
}
|
|
70238
70242
|
}),
|
|
70239
70243
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70250,28 +70254,28 @@ const languages = [
|
|
|
70250
70254
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
70251
70255
|
filename: /^(BUCK|BUILD)$/,
|
|
70252
70256
|
load() {
|
|
70253
|
-
return import('./index-
|
|
70257
|
+
return import('./index-DsUx-yKw.js').then(m => m.python());
|
|
70254
70258
|
}
|
|
70255
70259
|
}),
|
|
70256
70260
|
/*@__PURE__*/LanguageDescription.of({
|
|
70257
70261
|
name: "Rust",
|
|
70258
70262
|
extensions: ["rs"],
|
|
70259
70263
|
load() {
|
|
70260
|
-
return import('./index-
|
|
70264
|
+
return import('./index-CyTfufcP.js').then(m => m.rust());
|
|
70261
70265
|
}
|
|
70262
70266
|
}),
|
|
70263
70267
|
/*@__PURE__*/LanguageDescription.of({
|
|
70264
70268
|
name: "Sass",
|
|
70265
70269
|
extensions: ["sass"],
|
|
70266
70270
|
load() {
|
|
70267
|
-
return import('./index-
|
|
70271
|
+
return import('./index-D7noxe1h.js').then(m => m.sass({ indented: true }));
|
|
70268
70272
|
}
|
|
70269
70273
|
}),
|
|
70270
70274
|
/*@__PURE__*/LanguageDescription.of({
|
|
70271
70275
|
name: "SCSS",
|
|
70272
70276
|
extensions: ["scss"],
|
|
70273
70277
|
load() {
|
|
70274
|
-
return import('./index-
|
|
70278
|
+
return import('./index-D7noxe1h.js').then(m => m.sass());
|
|
70275
70279
|
}
|
|
70276
70280
|
}),
|
|
70277
70281
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70287,7 +70291,7 @@ const languages = [
|
|
|
70287
70291
|
name: "TSX",
|
|
70288
70292
|
extensions: ["tsx"],
|
|
70289
70293
|
load() {
|
|
70290
|
-
return import('./index-
|
|
70294
|
+
return import('./index-BIHNHMyg.js').then(m => m.javascript({ jsx: true, typescript: true }));
|
|
70291
70295
|
}
|
|
70292
70296
|
}),
|
|
70293
70297
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70295,14 +70299,14 @@ const languages = [
|
|
|
70295
70299
|
alias: ["ts"],
|
|
70296
70300
|
extensions: ["ts", "mts", "cts"],
|
|
70297
70301
|
load() {
|
|
70298
|
-
return import('./index-
|
|
70302
|
+
return import('./index-BIHNHMyg.js').then(m => m.javascript({ typescript: true }));
|
|
70299
70303
|
}
|
|
70300
70304
|
}),
|
|
70301
70305
|
/*@__PURE__*/LanguageDescription.of({
|
|
70302
70306
|
name: "WebAssembly",
|
|
70303
70307
|
extensions: ["wat", "wast"],
|
|
70304
70308
|
load() {
|
|
70305
|
-
return import('./index-
|
|
70309
|
+
return import('./index-BJKQPlcf.js').then(m => m.wast());
|
|
70306
70310
|
}
|
|
70307
70311
|
}),
|
|
70308
70312
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70310,7 +70314,7 @@ const languages = [
|
|
|
70310
70314
|
alias: ["rss", "wsdl", "xsd"],
|
|
70311
70315
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
70312
70316
|
load() {
|
|
70313
|
-
return import('./index-
|
|
70317
|
+
return import('./index-CFr33LuW.js').then(m => m.xml());
|
|
70314
70318
|
}
|
|
70315
70319
|
}),
|
|
70316
70320
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -70318,7 +70322,7 @@ const languages = [
|
|
|
70318
70322
|
alias: ["yml"],
|
|
70319
70323
|
extensions: ["yaml", "yml"],
|
|
70320
70324
|
load() {
|
|
70321
|
-
return import('./index-
|
|
70325
|
+
return import('./index-DztBKea2.js').then(m => m.yaml());
|
|
70322
70326
|
}
|
|
70323
70327
|
}),
|
|
70324
70328
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -71107,13 +71111,13 @@ const languages = [
|
|
|
71107
71111
|
name: "Vue",
|
|
71108
71112
|
extensions: ["vue"],
|
|
71109
71113
|
load() {
|
|
71110
|
-
return import('./index-
|
|
71114
|
+
return import('./index-COD_xliD.js').then(m => m.vue());
|
|
71111
71115
|
}
|
|
71112
71116
|
}),
|
|
71113
71117
|
/*@__PURE__*/LanguageDescription.of({
|
|
71114
71118
|
name: "Angular Template",
|
|
71115
71119
|
load() {
|
|
71116
|
-
return import('./index-
|
|
71120
|
+
return import('./index-DnpXm_wT.js').then(m => m.angular());
|
|
71117
71121
|
}
|
|
71118
71122
|
})
|
|
71119
71123
|
];
|
|
@@ -110760,6 +110764,38 @@ const createVitesseLightTheme = (options = {}) => {
|
|
|
110760
110764
|
};
|
|
110761
110765
|
const vitesseLight = createVitesseLightTheme();
|
|
110762
110766
|
|
|
110767
|
+
const themeCompartment = new Compartment();
|
|
110768
|
+
const appliedTheme = /* @__PURE__ */ new WeakMap();
|
|
110769
|
+
const themeExtension = (theme) => theme === "dark" ? oneDark : vitesseLight;
|
|
110770
|
+
const applyTheme = (view, theme) => {
|
|
110771
|
+
if (appliedTheme.get(view) === theme) return;
|
|
110772
|
+
appliedTheme.set(view, theme);
|
|
110773
|
+
view.dispatch({ effects: themeCompartment.reconfigure(themeExtension(theme)) });
|
|
110774
|
+
};
|
|
110775
|
+
const codeMirrorThemeConfig = (themeRef) => ({
|
|
110776
|
+
theme: themeCompartment.of(themeExtension(themeRef.current)),
|
|
110777
|
+
extensions: [
|
|
110778
|
+
ViewPlugin.fromClass(
|
|
110779
|
+
class {
|
|
110780
|
+
constructor(view) {
|
|
110781
|
+
queueMicrotask(() => {
|
|
110782
|
+
if (!view.dom.isConnected) return;
|
|
110783
|
+
applyTheme(view, themeRef.current);
|
|
110784
|
+
});
|
|
110785
|
+
}
|
|
110786
|
+
}
|
|
110787
|
+
)
|
|
110788
|
+
]
|
|
110789
|
+
});
|
|
110790
|
+
const syncCodeMirrorTheme = (root, theme) => {
|
|
110791
|
+
root.querySelectorAll(".cm-editor").forEach((node) => {
|
|
110792
|
+
if (!(node instanceof HTMLElement)) return;
|
|
110793
|
+
const view = EditorView.findFromDOM(node);
|
|
110794
|
+
if (!view) return;
|
|
110795
|
+
applyTheme(view, theme);
|
|
110796
|
+
});
|
|
110797
|
+
};
|
|
110798
|
+
|
|
110763
110799
|
var DateType = /* @__PURE__ */ ((DateType2) => {
|
|
110764
110800
|
DateType2["DATE"] = "date";
|
|
110765
110801
|
DateType2["TIME"] = "time";
|
|
@@ -117237,9 +117273,7 @@ function buildCrepe({
|
|
|
117237
117273
|
}
|
|
117238
117274
|
}
|
|
117239
117275
|
},
|
|
117240
|
-
[Crepe.Feature.CodeMirror]:
|
|
117241
|
-
theme: resolvedThemeRef.current === "dark" ? oneDark : vitesseLight
|
|
117242
|
-
},
|
|
117276
|
+
[Crepe.Feature.CodeMirror]: codeMirrorThemeConfig(resolvedThemeRef),
|
|
117243
117277
|
...placeholder ? { [Crepe.Feature.Placeholder]: { text: placeholder, mode: "doc" } } : {}
|
|
117244
117278
|
}
|
|
117245
117279
|
});
|
|
@@ -124285,7 +124319,7 @@ function useSlashMenuPortal(container) {
|
|
|
124285
124319
|
}
|
|
124286
124320
|
|
|
124287
124321
|
const ReviewSuggestionsViewport = lazy(
|
|
124288
|
-
() => import('./index-
|
|
124322
|
+
() => import('./index-CgzQ1jj0.js').then((module) => ({ default: module.ReviewSuggestionsViewport }))
|
|
124289
124323
|
);
|
|
124290
124324
|
const MilkdownEditorInner = ({
|
|
124291
124325
|
readOnly = false,
|
|
@@ -124482,6 +124516,10 @@ const MilkdownEditorInner = ({
|
|
|
124482
124516
|
[editorReadyRef]
|
|
124483
124517
|
);
|
|
124484
124518
|
useSlashMenuPortal(editorHost);
|
|
124519
|
+
useEffect(() => {
|
|
124520
|
+
if (!editorHost) return;
|
|
124521
|
+
syncCodeMirrorTheme(editorHost, resolvedTheme);
|
|
124522
|
+
}, [editorHost, resolvedTheme]);
|
|
124485
124523
|
if (!reviewSuggestionsLoader && !hasReviewSuggestions) {
|
|
124486
124524
|
return /* @__PURE__ */ jsx("div", { ref: containerRef, className, "data-testid": "brainfish-editor", children: /* @__PURE__ */ jsx(Milkdown, {}) });
|
|
124487
124525
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-
|
|
2
|
-
import { S as parseMixed, E as styleTags, F as tags, Q as EditorView, I as syntaxTree, R as EditorSelection, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, D as foldNodeProp, a9 as bracketMatchingHandle } from './index-
|
|
3
|
-
import { cssLanguage, css } from './index-
|
|
4
|
-
import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-dKic9ff-.js';
|
|
2
|
+
import { S as parseMixed, E as styleTags, F as tags, Q as EditorView, I as syntaxTree, R as EditorSelection, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, D as foldNodeProp, a9 as bracketMatchingHandle } from './index-DJWghCuI.js';
|
|
3
|
+
import { cssLanguage, css } from './index-mEwvGwcX.js';
|
|
4
|
+
import { typescriptLanguage, jsxLanguage, tsxLanguage, javascriptLanguage, javascript } from './index-BIHNHMyg.js';
|
|
5
5
|
|
|
6
6
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
7
7
|
const scriptText = 55,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRLanguage, A as LanguageSupport, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, E as styleTags, F as tags, G as ifNotIn, H as completeFromList, I as syntaxTree } from './index-
|
|
2
|
-
import { E as ExternalTokenizer, L as LRParser } from './index-
|
|
1
|
+
import { L as LRLanguage, A as LanguageSupport, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, E as styleTags, F as tags, G as ifNotIn, H as completeFromList, I as syntaxTree } from './index-DJWghCuI.js';
|
|
2
|
+
import { E as ExternalTokenizer, L as LRParser } from './index-dKic9ff-.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const whitespace = 36,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { L as LRLanguage, A as LanguageSupport, S as parseMixed, E as styleTags, F as tags } from './index-
|
|
2
|
-
import { html } from './index-
|
|
3
|
-
import { javascriptLanguage } from './index-
|
|
4
|
-
import { L as LRParser, E as ExternalTokenizer } from './index-
|
|
1
|
+
import { L as LRLanguage, A as LanguageSupport, S as parseMixed, E as styleTags, F as tags } from './index-DJWghCuI.js';
|
|
2
|
+
import { html } from './index-Dk6UNQWp.js';
|
|
3
|
+
import { javascriptLanguage } from './index-BIHNHMyg.js';
|
|
4
|
+
import { L as LRParser, E as ExternalTokenizer } from './index-dKic9ff-.js';
|
|
5
5
|
|
|
6
6
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
7
7
|
const Text = 1,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, G as ifNotIn, I as syntaxTree, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp, M as foldInside, O as NodeWeakMap, P as IterMode, H as completeFromList, N as snippetCompletion } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, G as ifNotIn, I as syntaxTree, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp, M as foldInside, O as NodeWeakMap, P as IterMode, H as completeFromList, N as snippetCompletion } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const printKeyword = 1,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Q as EditorView, R as EditorSelection, A as LanguageSupport, S as parseMixed, I as syntaxTree, L as LRLanguage, E as styleTags, F as tags, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp } from './index-
|
|
2
|
-
import { html } from './index-
|
|
3
|
-
import { L as LRParser, E as ExternalTokenizer } from './index-
|
|
1
|
+
import { Q as EditorView, R as EditorSelection, A as LanguageSupport, S as parseMixed, I as syntaxTree, L as LRLanguage, E as styleTags, F as tags, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp } from './index-DJWghCuI.js';
|
|
2
|
+
import { html } from './index-Dk6UNQWp.js';
|
|
3
|
+
import { L as LRParser, E as ExternalTokenizer } from './index-dKic9ff-.js';
|
|
4
4
|
|
|
5
5
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
6
6
|
const interpolationStart = 1,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, S as parseMixed, L as LRLanguage, B as indentNodeProp, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-
|
|
3
|
-
import { html } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, S as parseMixed, L as LRLanguage, B as indentNodeProp, C as continuedIndent, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-DJWghCuI.js';
|
|
3
|
+
import { html } from './index-Dk6UNQWp.js';
|
|
4
4
|
|
|
5
5
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
6
6
|
const castOpen = 1,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-
|
|
2
|
-
import { E as styleTags, F as tags, A as LanguageSupport, S as parseMixed, L as LRLanguage, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, C as ContextTracker } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags, A as LanguageSupport, S as parseMixed, L as LRLanguage, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp, M as foldInside } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const blockEnd = 63,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as Parser, U as NodeType, V as NodeProp, W as Tag, X as NodeSet, E as styleTags, Y as Tree, S as parseMixed, F as tags, I as syntaxTree, R as EditorSelection, Z as countColumn, A as LanguageSupport, _ as Prec, $ as keymap, Q as EditorView, a0 as Language, a1 as indentUnit, a2 as foldService, a3 as defineLanguageFacet, a4 as CompletionContext, a5 as EditorState, D as foldNodeProp, B as indentNodeProp, a6 as languageDataProp, a7 as LanguageDescription, a8 as ParseContext } from './index-
|
|
2
|
-
import { html, htmlCompletionSource } from './index-
|
|
1
|
+
import { T as Parser, U as NodeType, V as NodeProp, W as Tag, X as NodeSet, E as styleTags, Y as Tree, S as parseMixed, F as tags, I as syntaxTree, R as EditorSelection, Z as countColumn, A as LanguageSupport, _ as Prec, $ as keymap, Q as EditorView, a0 as Language, a1 as indentUnit, a2 as foldService, a3 as defineLanguageFacet, a4 as CompletionContext, a5 as EditorState, D as foldNodeProp, B as indentNodeProp, a6 as languageDataProp, a7 as LanguageDescription, a8 as ParseContext } from './index-DJWghCuI.js';
|
|
2
|
+
import { html, htmlCompletionSource } from './index-Dk6UNQWp.js';
|
|
3
3
|
|
|
4
4
|
class CompositeBlock {
|
|
5
5
|
static create(type, value, from, parentHash, end) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { T as Parser, X as NodeSet, U as NodeType, aa as DefaultBufferLength, V as NodeProp, Y as Tree, P as IterMode } from './index-
|
|
1
|
+
import { T as Parser, X as NodeSet, U as NodeType, aa as DefaultBufferLength, V as NodeProp, Y as Tree, P as IterMode } from './index-DJWghCuI.js';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
A parse stack. These are used internally by the parser to track
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from './index-
|
|
2
|
-
import { E as styleTags, F as tags$1, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside, I as syntaxTree, O as NodeWeakMap, P as IterMode } from './index-
|
|
1
|
+
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from './index-dKic9ff-.js';
|
|
2
|
+
import { E as styleTags, F as tags$1, A as LanguageSupport, L as LRLanguage, B as indentNodeProp, C as continuedIndent, D as foldNodeProp, M as foldInside, I as syntaxTree, O as NodeWeakMap, P as IterMode } from './index-DJWghCuI.js';
|
|
3
3
|
|
|
4
4
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
5
5
|
const descendantOp = 122,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Q as EditorView, R as EditorSelection, A as LanguageSupport, S as parseMixed, I as syntaxTree, L as LRLanguage, E as styleTags, F as tags, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp } from './index-
|
|
2
|
-
import { html } from './index-
|
|
3
|
-
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from './index-
|
|
1
|
+
import { Q as EditorView, R as EditorSelection, A as LanguageSupport, S as parseMixed, I as syntaxTree, L as LRLanguage, E as styleTags, F as tags, B as indentNodeProp, K as delimitedIndent, D as foldNodeProp } from './index-DJWghCuI.js';
|
|
2
|
+
import { html } from './index-Dk6UNQWp.js';
|
|
3
|
+
import { L as LRParser, E as ExternalTokenizer, a as LocalTokenGroup } from './index-dKic9ff-.js';
|
|
4
4
|
|
|
5
5
|
// This file was generated by lezer-generator. You probably shouldn't edit it.
|
|
6
6
|
const interpolationStart = 1,
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { ac as BrainfishEditor, ad as MarkdownSourceEditor, ae as MilkdownProvider, j as createReviewSuggestionBulkActions } from './index-
|
|
1
|
+
export { ac as BrainfishEditor, ad as MarkdownSourceEditor, ae as MilkdownProvider, j as createReviewSuggestionBulkActions } from './index-DJWghCuI.js';
|
package/dist/styles.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror [draggable][contenteditable=false]{-webkit-user-select:text;-moz-user-select:text;user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;inset:-2px -2px -2px -32px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.milkdown{position:relative}.milkdown *{margin:0;padding:0;box-sizing:border-box}.milkdown button,.milkdown input{border:none;background:none;box-shadow:none}.milkdown button:focus,.milkdown input:focus{outline:none}.milkdown :focus-visible{outline:none}.milkdown{font-family:var(--crepe-font-default);color:var(--crepe-color-on-background);background:var(--crepe-color-background)}.milkdown .milkdown-icon{display:inline-flex;align-items:center;justify-content:center}.milkdown .ProseMirror-focused{outline:none}.milkdown .ProseMirror{padding:60px 120px}.milkdown .ProseMirror *::-moz-selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror *::selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror li.ProseMirror-selectednode{background:var(--crepe-color-selected);outline:none}.milkdown .ProseMirror li.ProseMirror-selectednode ::-moz-selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode ::selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode::-moz-selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode::selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode:after{all:unset}.milkdown .ProseMirror .ProseMirror-selectednode{background:var(--crepe-color-selected);outline:none;background:color-mix(in srgb,var(--crepe-color-selected),transparent 60%)}.milkdown .ProseMirror .ProseMirror-selectednode ::-moz-selection{background:transparent}.milkdown .ProseMirror .ProseMirror-selectednode ::selection{background:transparent}.milkdown .ProseMirror .ProseMirror-selectednode::-moz-selection{background:transparent}.milkdown .ProseMirror .ProseMirror-selectednode::selection{background:transparent}.milkdown .ProseMirror[data-dragging=true]::-moz-selection,.milkdown .ProseMirror[data-dragging=true] *::-moz-selection{background:transparent}.milkdown .ProseMirror[data-dragging=true] .ProseMirror-selectednode,.milkdown .ProseMirror[data-dragging=true]::selection,.milkdown .ProseMirror[data-dragging=true] *::selection{background:transparent}.milkdown .ProseMirror[data-dragging=true] input::-moz-selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror[data-dragging=true] input::selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror img{vertical-align:bottom;max-width:100%}.milkdown .ProseMirror img.ProseMirror-selectednode{background:none;outline:2px solid var(--crepe-color-primary)}.milkdown .ProseMirror h1,.milkdown .ProseMirror h2,.milkdown .ProseMirror h3,.milkdown .ProseMirror h4,.milkdown .ProseMirror h5,.milkdown .ProseMirror h6{font-family:var(--crepe-font-title);font-weight:400;padding:2px 0}.milkdown .ProseMirror h1{font-size:42px;line-height:50px;margin-top:32px}.milkdown .ProseMirror h2{font-size:36px;line-height:44px;margin-top:28px}.milkdown .ProseMirror h3{font-size:32px;line-height:40px;margin-top:24px}.milkdown .ProseMirror h4{font-size:28px;line-height:36px;margin-top:20px}.milkdown .ProseMirror h5{font-size:24px;line-height:32px;margin-top:16px}.milkdown .ProseMirror h6{font-size:18px;font-weight:700;line-height:28px;margin-top:16px}.milkdown .ProseMirror p{font-size:16px;line-height:24px;padding:4px 0}.milkdown .ProseMirror code{color:var(--crepe-color-inline-code);background:color-mix(in srgb,var(--crepe-color-inline-area),transparent 40%);font-family:var(--crepe-font-code);padding:0 2px;border-radius:4px;font-size:87.5%;display:inline-block;line-height:1.4286}.milkdown .ProseMirror a{color:var(--crepe-color-primary);text-decoration:underline}.milkdown .ProseMirror pre{background:color-mix(in srgb,var(--crepe-color-inline-area),transparent 40%);padding:10px;border-radius:4px}.milkdown .ProseMirror pre code{padding:0;background:transparent}.milkdown .ProseMirror blockquote{position:relative;padding-left:40px;padding-top:0;padding-bottom:0;box-sizing:content-box;margin:4px 0}.milkdown .ProseMirror blockquote:before{content:"";width:4px;left:0;top:4px;bottom:4px;position:absolute;background:var(--crepe-color-selected);border-radius:100px}.milkdown .ProseMirror blockquote hr{margin-bottom:16px}.milkdown .ProseMirror hr{border:none;background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);background-clip:content-box;padding:6px 0;height:13px;position:relative}.milkdown .ProseMirror hr.ProseMirror-selectednode{outline:none;background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 20%);background-clip:content-box}.milkdown .ProseMirror hr.ProseMirror-selectednode:before{content:"";position:absolute;inset:0;background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);pointer-events:none}.milkdown .ProseMirror ul,.milkdown .ProseMirror ol{padding:0}.milkdown .milkdown-block-handle[data-show=false]{opacity:0;pointer-events:none}.milkdown .milkdown-block-handle{transition:all .2s;position:absolute;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:2px}.milkdown .milkdown-block-handle .operation-item{border-radius:4px;width:32px;height:32px;padding:4px}.milkdown .milkdown-block-handle .operation-item svg{width:24px;height:24px;fill:var(--crepe-color-outline)}.milkdown .milkdown-block-handle .operation-item:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-block-handle .operation-item.active{background:var(--crepe-color-selected)}.milkdown .milkdown-slash-menu[data-show=false]{display:none}.milkdown .milkdown-slash-menu{position:absolute;z-index:10;display:block;font-family:var(--crepe-font-default);color:var(--crepe-color-on-surface);background:var(--crepe-color-surface);border-radius:12px;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-slash-menu ul{list-style-type:none}.milkdown .milkdown-slash-menu ul li{cursor:pointer;border-radius:8px}.milkdown .milkdown-slash-menu .tab-group{border-bottom:1px solid color-mix(in srgb,var(--crepe-color-outline),transparent 80%);padding:12px 12px 0}.milkdown .milkdown-slash-menu .tab-group ul{padding:8px 10px;display:flex;gap:10px;flex-wrap:nowrap}.milkdown .milkdown-slash-menu .tab-group ul li{padding:6px 10px;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.milkdown .milkdown-slash-menu .tab-group ul li:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-slash-menu .tab-group ul li.selected{background:var(--crepe-color-selected)}.milkdown .milkdown-slash-menu .menu-groups{padding:0 12px 12px;max-height:420px;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth}.milkdown .milkdown-slash-menu .menu-groups .menu-group h6{font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:14px 10px;text-transform:uppercase;color:color-mix(in srgb,var(--crepe-color-on-surface),transparent 40%)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li{min-width:220px;display:flex;justify-content:flex-start;align-items:center;gap:16px;padding:14px 10px}.milkdown .milkdown-slash-menu .menu-groups .menu-group li.hover{background:var(--crepe-color-hover)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li.active{background:var(--crepe-color-selected)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li svg{width:24px;height:24px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li>span{font-size:14px;font-style:normal;font-weight:600;line-height:20px}.milkdown .milkdown-slash-menu .menu-groups .menu-group+.menu-group:before{content:"";display:block;height:1px;background:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);margin:0 10px}.milkdown .milkdown-code-block{display:block;position:relative;padding:8px 20px 20px;background:var(--crepe-color-surface);margin:4px 0}.milkdown .milkdown-code-block .language-picker{padding-top:10px;width:-moz-max-content;width:max-content;position:absolute;z-index:999}.milkdown .milkdown-code-block .hidden{display:none!important}.milkdown .milkdown-code-block.selected{outline:1px solid var(--crepe-color-primary)}.milkdown .milkdown-code-block .milkdown-code-block-placeholder{margin:0;padding:4px 0;font-family:var(--crepe-font-code, monospace);font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.milkdown .milkdown-code-block .milkdown-code-block-placeholder code{font-family:inherit}.milkdown .milkdown-code-block .cm-editor{outline:none!important;background:var(--crepe-color-surface)}.milkdown .milkdown-code-block .cm-gutters{border-right:none;background:var(--crepe-color-surface)}.milkdown .milkdown-code-block .cm-panel{font-family:var(--crepe-font-default);background:var(--crepe-color-surface);color:var(--crepe-color-on-surface)}.milkdown .milkdown-code-block .cm-panel input{caret-color:var(--crepe-color-outline);border-radius:4px;background:var(--crepe-color-surface-low)}.milkdown .milkdown-code-block .cm-panel>button{text-transform:capitalize;background:var(--crepe-color-surface-low);color:var(--crepe-color-on-surface-variant);border:1px solid var(--crepe-color-outline);font-weight:600;cursor:pointer;border-radius:4px}.milkdown .milkdown-code-block .cm-panel>button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .cm-panel>label{display:inline-flex;align-items:center;text-transform:capitalize}.milkdown .milkdown-code-block .cm-panel>label input[type=checkbox]{border-radius:4px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--crepe-color-surface-low);width:1.15em;height:1.15em;border:1px solid var(--crepe-color-outline);display:grid;place-content:center}.milkdown .milkdown-code-block .cm-panel>label input[type=checkbox]:before{content:"";transform-origin:bottom left;width:.65em;height:.65em;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em var(--crepe-color-outline);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.milkdown .milkdown-code-block .cm-panel>label input[type=checkbox]:checked:before{transform:scale(1)}.milkdown .milkdown-code-block .tools{display:flex;justify-content:space-between;align-items:center}.milkdown .milkdown-code-block .tools input{caret-color:var(--crepe-color-outline)}.milkdown .milkdown-code-block .tools .tools-button-group{display:flex;gap:2px}.milkdown .milkdown-code-block .tools .tools-button-group button{background:var(--crepe-color-secondary);color:var(--crepe-color-on-surface-variant);padding:4px 10px;opacity:0;cursor:pointer;border-radius:4px;font-size:12px;line-height:16px;font-weight:600;font-family:var(--crepe-font-default);transition:opacity .2s ease-in-out;display:flex;align-items:center;justify-content:center;gap:4px}.milkdown .milkdown-code-block .tools .tools-button-group button svg{width:14px;height:14px;fill:var(--crepe-color-on-surface-variant)}.milkdown .milkdown-code-block .tools .tools-button-group button:first-child{border-top-left-radius:100px;border-bottom-left-radius:100px}.milkdown .milkdown-code-block .tools .tools-button-group button:last-child{border-top-right-radius:100px;border-bottom-right-radius:100px}.milkdown .milkdown-code-block .tools .language-button{display:flex;align-items:center;font-family:var(--crepe-font-default);gap:6px;padding:2px 4px 2px 8px;background:var(--crepe-color-surface-low);color:var(--crepe-color-on-surface-variant);border-radius:4px;font-size:12px;font-weight:600;line-height:16px;margin-bottom:8px;opacity:0;cursor:pointer;transition:opacity .2s ease-in-out}.milkdown .milkdown-code-block .tools .language-button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .tools .language-button .expand-icon{transition:transform .2s ease-in-out;width:18px;height:18px;display:flex;justify-content:center;align-items:center}.milkdown .milkdown-code-block .tools .language-button .expand-icon svg{width:14px;height:14px;color:var(--crepe-color-outline)}.milkdown .milkdown-code-block .tools .language-button[data-expanded=true] .expand-icon{transform:rotate(180deg)}.milkdown .milkdown-code-block .tools .language-button .expand-icon svg:focus,.milkdown .milkdown-code-block .tools .language-button .expand-icon:focus-visible{outline:none}.milkdown .milkdown-code-block:hover .language-button{opacity:1}.milkdown .milkdown-code-block:hover .tools-button-group>button{opacity:1}.milkdown .milkdown-code-block .list-wrapper{background:var(--crepe-color-surface-low);border-radius:12px;box-shadow:var(--crepe-shadow-1);width:240px;padding-top:12px}.milkdown .milkdown-code-block .language-list{height:410px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0}.milkdown .milkdown-code-block .language-list-item{cursor:pointer;margin:0;display:flex;align-items:center;gap:8px;padding:4px 22px;font-size:14px;font-weight:600;line-height:20px}.milkdown .milkdown-code-block .language-list-item:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .language-list-item:focus-visible{outline:none;background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .language-list-item .leading,.milkdown .milkdown-code-block .language-list-item .leading svg{width:24px;height:24px}.milkdown .milkdown-code-block .language-list-item.no-result{cursor:default;opacity:.6}.milkdown .milkdown-code-block .language-list-item.no-result:hover{background:transparent}.milkdown .milkdown-code-block .search-box{display:flex;align-items:center;margin:0 12px 8px;background:transparent;border-radius:4px;outline:1px solid var(--crepe-color-primary);gap:8px;padding:6px 10px}.milkdown .milkdown-code-block .search-box:has(input:focus){outline:2px solid var(--crepe-color-primary)}.milkdown .milkdown-code-block .search-box .search-input{width:100%;color:var(--crepe-color-on-surface)}.milkdown .milkdown-code-block .search-box .search-icon{display:none}.milkdown .milkdown-code-block .search-box .clear-icon{cursor:pointer;width:20px;height:20px}.milkdown .milkdown-code-block .search-box .clear-icon svg{width:20px;height:20px;color:var(--crepe-color-primary);fill:var(--crepe-color-primary)}.milkdown .milkdown-code-block .search-box .clear-icon:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .search-box input{font-family:var(--crepe-font-default);font-size:14px;line-height:20px;background:transparent}.milkdown .milkdown-code-block .search-box input:focus{outline:none}.milkdown .milkdown-code-block .preview-panel .preview-divider{height:1px;opacity:.2;background:var(--crepe-color-outline);margin:6px 0}.milkdown .milkdown-code-block .preview-panel .preview-label{margin:6px 0;font-size:12px;color:color-mix(in srgb,var(--crepe-color-on-surface),transparent 40%);font-weight:600;text-transform:uppercase;font-family:var(--crepe-font-default)}.milkdown .milkdown-code-block .preview-panel .preview{text-align:center;overflow-x:auto}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProseMirror-focused .ProseMirror-gapcursor{display:block}.ProseMirror.virtual-cursor-enabled{caret-color:transparent}.ProseMirror-focused{--prosemirror-virtual-cursor-color: red}.ProseMirror .prosemirror-virtual-cursor{position:absolute;cursor:text;pointer-events:none;transform:translate(-1px);-moz-user-select:none;user-select:none;-webkit-user-select:none;border-left:2px solid var(--prosemirror-virtual-cursor-color)}.ProseMirror .prosemirror-virtual-cursor-left{width:1ch;transform:translate(calc(-1ch - 1px));border-bottom:2px solid var(--prosemirror-virtual-cursor-color);border-right:2px solid var(--prosemirror-virtual-cursor-color);border-left:none}.ProseMirror .prosemirror-virtual-cursor-right{width:1ch;border-bottom:2px solid var(--prosemirror-virtual-cursor-color);border-left:2px solid var(--prosemirror-virtual-cursor-color);border-right:none}.ProseMirror-focused .prosemirror-virtual-cursor-animation{animation:prosemirror-virtual-cursor-blink 1s linear infinite;animation-delay:.5s}@keyframes prosemirror-virtual-cursor-blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.milkdown .crepe-drop-cursor{background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 50%);opacity:.5;transition:all .2s;pointer-events:none}.milkdown .ProseMirror-gapcursor:after{box-sizing:border-box;border-top:1px solid var(--crepe-color-on-background)}.milkdown .ProseMirror-focused{--prosemirror-virtual-cursor-color: var(--crepe-color-outline)}.milkdown .milkdown-image-inline{outline:none;display:inline-flex;vertical-align:text-bottom}.milkdown .milkdown-image-inline input{background:transparent;outline:none;border:0;caret-color:var(--crepe-color-outline)}.milkdown .milkdown-image-inline>.empty-image-inline{display:inline-flex}.milkdown .milkdown-image-inline>.empty-image-inline .confirm{cursor:pointer}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer{position:relative;flex:1}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer>.link-input-area{width:208px;color:var(--crepe-color-on-background);display:flex}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer .placeholder{position:absolute;top:0;left:0;bottom:0;display:flex;align-items:center;cursor:text}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer .placeholder .uploader{cursor:pointer;display:flex}.milkdown .milkdown-image-inline .hidden{display:none!important}.milkdown .milkdown-image-inline.empty.selected{background:none;outline:none}.milkdown .milkdown-image-inline.empty.selected .empty-image-inline{box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-image-inline.selected{background:none;outline:1px solid var(--crepe-color-primary)}.milkdown .milkdown-image-inline.selected :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-inline.selected :not(input)::selection{background:transparent}.milkdown .milkdown-image-inline .empty-image-inline{align-items:center;padding:4px 10px;gap:10px;background:var(--crepe-color-surface);font-family:var(--crepe-font-default);border-radius:8px;font-size:16px}.milkdown .milkdown-image-inline .empty-image-inline .image-icon svg{width:18px;height:18px;fill:var(--crepe-color-outline)}.milkdown .milkdown-image-inline .empty-image-inline .image-icon{padding:3px;width:24px;height:24px}.milkdown .milkdown-image-inline .empty-image-inline .link-importer{height:24px}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder{color:color-mix(in srgb,var(--crepe-color-on-background),transparent 60%)}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder :not(input)::selection{background:transparent}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .link-input-area{line-height:24px}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader{gap:8px;color:var(--crepe-color-primary);justify-content:center;transition:color .2s;font-family:var(--crepe-font-default)}.milkdown .milkdown-image-inline .empty-image-inline .link-importer.focus .placeholder .uploader{color:unset}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader:hover{color:var(--crepe-color-primary)}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .text{margin-left:8px}.milkdown .milkdown-image-inline .empty-image-inline .confirm svg{width:18px;height:18px}.milkdown .milkdown-image-inline .empty-image-inline .confirm{display:flex;width:24px;height:24px;padding:3px;border-radius:8px;color:var(--crepe-color-primary)}.milkdown .milkdown-image-inline .empty-image-inline .confirm:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-image-block{outline:none;margin:4px 0;display:block}.milkdown .milkdown-image-block>.image-wrapper{position:relative;width:-moz-fit-content;width:fit-content;margin:0 auto;min-width:100px}.milkdown .milkdown-image-block>.image-wrapper .operation{position:absolute;display:flex}.milkdown .milkdown-image-block>.image-wrapper .operation>.operation-item{cursor:pointer}.milkdown .milkdown-image-block>.image-wrapper img{max-width:100%;min-height:100px;display:block;-o-object-fit:cover;object-fit:cover}.milkdown .milkdown-image-block>.image-wrapper>.image-resize-handle{position:absolute;left:50%;transform:translate(-50%)}.milkdown .milkdown-image-block>.image-wrapper>.image-resize-handle:hover{cursor:row-resize}.milkdown .milkdown-image-block input{background:transparent;outline:none;border:0;caret-color:var(--crepe-color-outline)}.milkdown .milkdown-image-block>.caption-input{display:block;width:100%;text-align:center;color:var(--crepe-color-on-background)}.milkdown .milkdown-image-block>.image-edit{display:flex}.milkdown .milkdown-image-block>.image-edit .confirm{cursor:pointer}.milkdown .milkdown-image-block>.image-edit .link-importer{position:relative;flex:1}.milkdown .milkdown-image-block>.image-edit .link-importer>.link-input-area{width:100%}.milkdown .milkdown-image-block>.image-edit .link-importer .placeholder{position:absolute;top:0;left:0;bottom:0;display:flex;align-items:center;cursor:text}.milkdown .milkdown-image-block>.image-edit .link-importer .placeholder .uploader{cursor:pointer;display:flex}.milkdown .milkdown-image-block .hidden{display:none!important}.milkdown .milkdown-image-block.selected>.image-edit:not(:has(input:focus)){position:relative}.milkdown .milkdown-image-block.selected>.image-edit:not(:has(input:focus)):before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--crepe-color-selected),transparent 60%);pointer-events:none}.milkdown .milkdown-image-block.selected>.image-wrapper{position:relative}.milkdown .milkdown-image-block.selected>.image-wrapper:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--crepe-color-selected),transparent 60%)}.milkdown .milkdown-image-block.selected :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-block.selected :not(input)::selection{background:transparent}.milkdown .milkdown-image-block .image-wrapper{display:flex;justify-content:center;align-items:center}.milkdown .milkdown-image-block .image-wrapper .operation{gap:12px;right:12px;top:12px;opacity:0;transition:all .2s}.milkdown .milkdown-image-block:hover>.image-wrapper .operation{opacity:1}.milkdown .milkdown-image-block .image-wrapper .operation>.operation-item{color:var(--crepe-color-on-inverse);padding:4px;background:var(--crepe-color-inverse);opacity:.6;border-radius:50%;width:32px;height:32px}.milkdown .milkdown-image-block .image-wrapper .operation>.operation-item svg{width:24px;height:24px}.milkdown .milkdown-image-block .image-wrapper .image-resize-handle{height:4px;bottom:-2px;max-width:160px;width:100%;background:var(--crepe-color-outline);opacity:0;transition:all .2s;border-radius:4px}.milkdown .milkdown-image-block:hover>.image-wrapper .image-resize-handle{opacity:1}.milkdown .milkdown-image-block .caption-input{margin:4px auto;font-family:var(--crepe-font-default)}.milkdown .milkdown-image-block .image-edit{align-items:center;padding:16px 24px;gap:16px;background:var(--crepe-color-surface);height:56px}.milkdown .milkdown-image-block .image-edit .image-icon{color:var(--crepe-color-outline)}.milkdown .milkdown-image-block .image-edit .image-icon svg{width:24px;height:24px;display:flex;justify-content:center;align-items:center;fill:var(--crepe-color-outline)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder{color:color-mix(in srgb,var(--crepe-color-on-background),transparent 60%)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder :not(input)::selection{background:transparent}.milkdown .milkdown-image-block .image-edit .link-importer .link-input-area{line-height:24px;color:var(--crepe-color-on-background)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader{gap:8px;color:var(--crepe-color-primary);justify-content:center;transition:color .2s;font-weight:600}.milkdown .milkdown-image-block .image-edit .link-importer.focus .placeholder .uploader{color:unset}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader:hover{color:var(--crepe-color-primary)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .text{margin-left:8px}.milkdown .milkdown-image-block .image-edit .confirm{background:var(--crepe-color-secondary);color:var(--crepe-color-on-secondary);line-height:40px;padding:0 24px;border-radius:100px;font-size:14px;font-weight:600}.milkdown .milkdown-image-block .image-edit .confirm:hover{background:linear-gradient(0deg,#1d192b14 0% 100%),var(--crepe-color-secondary)}.milkdown .milkdown-link-preview{position:absolute;z-index:10}.milkdown .milkdown-link-preview[data-show=false]{display:none}.milkdown .milkdown-link-preview>.link-preview{height:32px;display:flex;justify-content:center;padding:4px 10px;background:var(--crepe-color-surface);gap:10px;border-radius:8px;cursor:pointer;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-link-preview>.link-preview>.link-display{text-decoration:none;color:unset}.milkdown .milkdown-link-preview>.link-preview>.link-display:hover:before{display:block}.milkdown .milkdown-link-preview>.link-preview>.link-icon>svg{width:18px;height:18px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-link-preview>.link-preview>.link-icon{border-radius:8px;padding:3px;line-height:24px}.milkdown .milkdown-link-preview>.link-preview>.link-icon:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-link-preview>.link-preview>.link-display{width:240px;line-height:24px;overflow:hidden;text-overflow:ellipsis;font-size:14px;white-space:nowrap}.milkdown .milkdown-link-preview>.link-preview>.link-display:hover{text-decoration:underline}.milkdown .milkdown-link-preview>.link-preview>.button>svg{width:18px;height:18px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-link-preview>.link-preview>.button{padding:3px;border-radius:8px;line-height:24px}.milkdown .milkdown-link-preview>.link-preview>.button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-link-edit{position:absolute;z-index:10}.milkdown .milkdown-link-edit[data-show=false]{display:none}.milkdown .milkdown-link-edit>.link-edit{height:32px;display:flex;justify-content:center;padding:4px 10px 4px 20px;background:var(--crepe-color-surface);gap:8px;border-radius:8px;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-link-edit>.link-edit>.input-area{outline:none;background:transparent;width:200px;font-size:14px;color:var(--crepe-color-on-background)}.milkdown .milkdown-link-edit>.link-edit>.button>svg{width:18px;height:18px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-link-edit>.link-edit>.button{padding:3px;cursor:pointer;border-radius:8px;font-size:12px;line-height:24px}.milkdown .milkdown-link-edit>.link-edit>.button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-link-edit>.link-edit>.button.hidden{visibility:hidden}.milkdown .milkdown-list-item-block{display:block;padding:0}.milkdown .milkdown-list-item-block>.list-item{display:flex;align-items:flex-start}.milkdown .milkdown-list-item-block>.list-item>.children{min-width:0;flex:1}.milkdown .milkdown-list-item-block li{gap:10px}.milkdown .milkdown-list-item-block li .label-wrapper{color:var(--crepe-color-outline)}.milkdown .milkdown-list-item-block li .label-wrapper svg{fill:var(--crepe-color-outline)}.milkdown .milkdown-list-item-block li .label-wrapper{height:32px;width:24px;display:flex;justify-content:center;align-items:center}.milkdown .milkdown-list-item-block li .label-wrapper .label{height:32px;padding:4px 0;width:24px;text-align:right}.milkdown .milkdown-list-item-block li .label-wrapper .checked,.milkdown .milkdown-list-item-block li .label-wrapper .unchecked{cursor:pointer}.milkdown .milkdown-list-item-block li .label-wrapper .readonly{cursor:not-allowed}.milkdown .crepe-placeholder:before{position:absolute;color:color-mix(in srgb,var(--crepe-color-on-background),transparent 60%);pointer-events:none;height:0;content:attr(data-placeholder)}.milkdown:has(.milkdown-link-preview[data-show=true]) .milkdown-toolbar,.milkdown:has(.milkdown-link-edit[data-show=true]) .milkdown-toolbar{display:none}.milkdown .milkdown-toolbar[data-show=false]{display:none}.milkdown .milkdown-toolbar{z-index:10;position:absolute;display:flex;background:var(--crepe-color-surface);box-shadow:var(--crepe-shadow-1);border-radius:8px;overflow:hidden}.milkdown .milkdown-toolbar .divider{width:1px;background:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);height:24px;margin:10px}.milkdown .milkdown-toolbar .toolbar-item{width:32px;height:32px;margin:6px;padding:4px;cursor:pointer;border-radius:4px}.milkdown .milkdown-toolbar .toolbar-item:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-toolbar .toolbar-item:active{background:var(--crepe-color-selected)}.milkdown .milkdown-toolbar .toolbar-item svg{height:24px;width:24px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-toolbar .toolbar-item.active svg{color:var(--crepe-color-primary);fill:var(--crepe-color-primary)}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),.ProseMirror th:not([data-colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;background:#c8c8ff66;pointer-events:none}.milkdown .milkdown-table-block{display:block;margin:4px 0}.milkdown .milkdown-table-block th,.milkdown .milkdown-table-block td{border:1px solid color-mix(in srgb,var(--crepe-color-outline),transparent 80%);padding:4px 16px}.milkdown .milkdown-table-block th .ProseMirror-selectednode,.milkdown .milkdown-table-block td .ProseMirror-selectednode{background-color:transparent!important}.milkdown .milkdown-table-block th:has(.ProseMirror-selectednode),.milkdown .milkdown-table-block td:has(.ProseMirror-selectednode){outline:1px solid var(--crepe-color-primary);outline-offset:-1px}.milkdown .milkdown-table-block .selectedCell:after{background-color:var(--crepe-color-selected);opacity:.4}.milkdown .milkdown-table-block .selectedCell ::-moz-selection{background:transparent}.milkdown .milkdown-table-block .selectedCell ::selection{background:transparent}.milkdown .milkdown-table-block .drag-preview{background-color:var(--crepe-color-surface);opacity:.4;position:absolute;z-index:100;display:flex;flex-direction:column;outline:1px solid var(--crepe-color-primary);outline-offset:-1px}.milkdown .milkdown-table-block .drag-preview[data-show=false]{display:none}.milkdown .milkdown-table-block .drag-preview th:has(.ProseMirror-selectednode),.milkdown .milkdown-table-block .drag-preview td:has(.ProseMirror-selectednode){outline:none}.milkdown .milkdown-table-block .handle{position:absolute;font-size:14px;transition:opacity ease-in-out .2s}.milkdown .milkdown-table-block .handle[data-show=false]{opacity:0}.milkdown .milkdown-table-block svg{fill:var(--crepe-color-outline)}.milkdown .milkdown-table-block .cell-handle{z-index:50;left:-999px;top:-999px;cursor:grab;background-color:var(--crepe-color-surface);color:var(--crepe-color-outline);border-radius:100px;box-shadow:var(--crepe-shadow-1);transition:background-color .2s ease-in-out}.milkdown .milkdown-table-block .cell-handle:hover{background-color:var(--crepe-color-hover)}.milkdown .milkdown-table-block .cell-handle:has(.button-group:hover){background-color:var(--crepe-color-surface)}.milkdown .milkdown-table-block .cell-handle[data-role=col-drag-handle]{transform:translateY(50%);padding:0 6px;width:28px;height:16px}.milkdown .milkdown-table-block .cell-handle[data-role=row-drag-handle]{transform:translate(50%);padding:6px 0;width:16px;height:28px}.milkdown .milkdown-table-block .cell-handle .button-group{position:absolute;transform:translate(-50%);left:50%;top:-52px;display:flex;background-color:var(--crepe-color-surface);border-radius:8px;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-table-block .cell-handle .button-group:after{content:"";position:absolute;bottom:-8px;height:8px;background-color:transparent;width:100%}.milkdown .milkdown-table-block .cell-handle .button-group[data-show=false]{display:none}.milkdown .milkdown-table-block .cell-handle .button-group button{cursor:pointer;margin:6px;padding:4px;display:flex;justify-content:center;align-items:center;border-radius:4px}.milkdown .milkdown-table-block .cell-handle .button-group button svg{width:24px;height:24px}.milkdown .milkdown-table-block .cell-handle .button-group button:hover{border-radius:8px;background-color:var(--crepe-color-hover)}.milkdown .milkdown-table-block .cell-handle .button-group button:active{background:var(--crepe-color-selected)}.milkdown .milkdown-table-block .cell-handle:hover{opacity:1}.milkdown .milkdown-table-block .line-handle{z-index:20;background-color:var(--crepe-color-primary)}.milkdown .milkdown-table-block .line-handle:hover{opacity:1}.milkdown .milkdown-table-block .line-handle .add-button{cursor:pointer;background-color:var(--crepe-color-surface);color:var(--crepe-color-outline);border-radius:100px;box-shadow:var(--crepe-shadow-1);transition:background-color .2s ease-in-out}.milkdown .milkdown-table-block .line-handle .add-button svg{width:16px;height:16px}.milkdown .milkdown-table-block .line-handle .add-button:hover{background-color:var(--crepe-color-hover)}.milkdown .milkdown-table-block .line-handle .add-button:active{background:var(--crepe-color-selected)}.milkdown .milkdown-table-block .line-handle[data-role=x-line-drag-handle]{height:1px;z-index:2}.milkdown .milkdown-table-block .line-handle[data-role=x-line-drag-handle] .add-button{position:absolute;transform:translate(-50%) translateY(-50%);padding:6px 0;width:16px;height:28px}.milkdown .milkdown-table-block .line-handle[data-role=y-line-drag-handle]{width:1px;z-index:1}.milkdown .milkdown-table-block .line-handle[data-role=y-line-drag-handle] .add-button{position:absolute;transform:translateY(-50%) translate(-50%);padding:0 6px;width:28px;height:16px}.milkdown .milkdown-table-block .line-handle[data-display-type=indicator] .add-button,.milkdown .milkdown-table-block.readonly .handle{display:none}.milkdown .ProseMirror{padding:0;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.milkdown .ProseMirror b,.milkdown .ProseMirror strong{font-weight:600}.milkdown .ProseMirror-yjs-cursor{position:relative;margin-left:-1px;margin-right:-1px;pointer-events:none;overflow-wrap:normal;word-break:normal;border-width:1px;--tw-border-opacity: 1;border-left-color:rgb(0 0 0 / var(--tw-border-opacity, 1));border-right-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.milkdown .ProseMirror-yjs-cursor>div{position:absolute;top:-2.1em;left:-1px;font-size:.75rem;line-height:1rem;white-space:nowrap;background-color:var(--bfc-primary);padding:.25rem .5rem;color:var(--bfc-primary-foreground);-webkit-user-select:none;-moz-user-select:none;user-select:none;border-top-right-radius:.125rem;border-bottom-right-radius:.125rem;border-top-left-radius:.125rem}.milkdown{[data-name=notice-tooltip] button{background:revert-layer;color:revert-layer}&[data-link-tooltip-visible] .milkdown-toolbar:not([data-name]){display:none!important}}@keyframes grammar-check-pulse{0%,to{opacity:.4}50%{opacity:.15}}.grammar-check-highlight{animation:grammar-check-pulse .5s ease-in-out infinite}@keyframes bf-media-upload-pulse{0%,to{background-color:#0000001f}50%{background-color:#00000047}}.milkdown{.bf-media-upload-placeholder{position:relative;display:inline-block;max-width:100%;margin:.25rem 0 1.75rem;vertical-align:bottom}.bf-media-upload-placeholder__overlay{position:absolute;inset:0;z-index:1;animation:bf-media-upload-pulse 2s ease-in-out infinite;background:#00000059;pointer-events:none;border-radius:.5rem}.bf-media-upload-placeholder__media{display:block;max-width:100%;height:auto;border-radius:.5rem}.bf-circular-progress{position:absolute;top:50%;left:50%;z-index:2;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(currentColor 0deg,color-mix(in srgb,currentColor 18%,transparent) 0);pointer-events:none}.bf-circular-progress__inner{position:absolute;width:40px;height:40px;border-radius:50%;background:var(--bfc-v2-color-mono-100, #f4f4f5)}.bf-circular-progress__percentage{position:relative;z-index:1;margin:0;font-size:12px;font-weight:600;line-height:1;color:var(--bfc-v2-color-mono-900, #18181b)}.milkdown-table-block{overflow-x:auto;table{width:auto;tr>th{white-space:nowrap}}}.milkdown-image-block{.image-wrapper{.image-resize-handle{height:8px;background:var(--bfc-v2-color-mono-200);border:1px solid var(--bfc-v2-color-mono-900);border-radius:3px;opacity:.75;&:hover{cursor:ns-resize;transform:translate(-50%) scaleY(1.3)}}&:hover{cursor:default}}&:hover>.image-wrapper .image-resize-handle{opacity:1}}.ProseMirror[contenteditable=false] .milkdown-image-block{.image-resize-handle{display:none}>.image-wrapper .operation{display:none}&:hover>.image-wrapper{cursor:default}}.ProseMirror [data-notice-block-type] [data-node-view-content]>:first-child{margin-top:0}.video-viewer.has-custom-timeline{video::-webkit-media-controls-timeline{opacity:0}video:fullscreen::-webkit-media-controls-timeline,video:-webkit-full-screen::-webkit-media-controls-timeline{opacity:1}}.milkdown-code-block .cm-content{white-space:break-spaces;max-width:95%;flex-basis:auto!important}.review-suggestion{&.target-replace-hidden{display:none}&.target-delete{background:var(--bfc-destructive-bg);color:var(--bfc-text-subtle);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--bfc-destructive-text);border:1px solid var(--bfc-v2-color-red-300);border-bottom-width:3px;border-radius:8px;cursor:pointer;padding:1px 4px;&[data-fragment-position=first]{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;padding-right:0}&[data-fragment-position=middle]{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0}&[data-fragment-position=last]{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;padding-left:0}&.selected{background:var(--bfc-v2-color-red-200);border-color:var(--bfc-destructive-border)}}&.inline-add{display:inline;padding:0 4px;background:var(--bfc-v2-color-blue-100);color:inherit;border:1px solid var(--bfc-v2-color-blue-300);border-bottom-width:3px;border-radius:8px;white-space:normal;cursor:pointer;&.selected{background:var(--bfc-v2-color-blue-200);border-color:var(--bfc-v2-color-blue-600)}}&.block-add{display:block;margin:8px 0;padding:8px 12px;background:var(--bfc-v2-color-blue-100);color:inherit;border:1px solid var(--bfc-v2-color-blue-300);border-bottom-width:3px;border-radius:8px;white-space:normal;cursor:pointer;>:first-child{margin-top:0}>:last-child{margin-bottom:0}.video-block,.embed-block{margin:0}.list-preview-line+.list-preview-line{margin-top:4px}&.selected{background:var(--bfc-v2-color-blue-200);border-color:var(--bfc-v2-color-blue-600)}}&.inline-add,&.block-add{a,video,iframe{pointer-events:none}}&.media-preview{min-height:24px;border-radius:6px;color:var(--bfc-text-subtle);font-size:.875em;font-weight:500;line-height:1.4;word-break:break-word}}}.milkdown .bf-mention-pill{-webkit-user-select:none;-moz-user-select:none;user-select:none}
|
|
1
|
+
.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror [draggable][contenteditable=false]{-webkit-user-select:text;-moz-user-select:text;user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;inset:-2px -2px -2px -32px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}@layer milkdown-reset{.milkdown{position:relative}.milkdown *{margin:0;padding:0;box-sizing:border-box}.milkdown button,.milkdown input{border:none;background:none;box-shadow:none}.milkdown button:focus,.milkdown input:focus{outline:none}.milkdown :focus-visible{outline:none}.milkdown{font-family:var(--crepe-font-default);color:var(--crepe-color-on-background);background:var(--crepe-color-background)}.milkdown .milkdown-icon{display:inline-flex;align-items:center;justify-content:center}.milkdown .ProseMirror-focused{outline:none}.milkdown .ProseMirror{padding:60px 120px}.milkdown .ProseMirror *::-moz-selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror *::selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror li.ProseMirror-selectednode{background:var(--crepe-color-selected);outline:none}.milkdown .ProseMirror li.ProseMirror-selectednode ::-moz-selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode ::selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode::-moz-selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode::selection{background:transparent}.milkdown .ProseMirror li.ProseMirror-selectednode:after{all:unset}.milkdown .ProseMirror .ProseMirror-selectednode{background:var(--crepe-color-selected);outline:none;background:color-mix(in srgb,var(--crepe-color-selected),transparent 60%)}.milkdown .ProseMirror .ProseMirror-selectednode ::-moz-selection{background:transparent}.milkdown .ProseMirror .ProseMirror-selectednode ::selection{background:transparent}.milkdown .ProseMirror .ProseMirror-selectednode::-moz-selection{background:transparent}.milkdown .ProseMirror .ProseMirror-selectednode::selection{background:transparent}.milkdown .ProseMirror[data-dragging=true]::-moz-selection,.milkdown .ProseMirror[data-dragging=true] *::-moz-selection{background:transparent}.milkdown .ProseMirror[data-dragging=true] .ProseMirror-selectednode,.milkdown .ProseMirror[data-dragging=true]::selection,.milkdown .ProseMirror[data-dragging=true] *::selection{background:transparent}.milkdown .ProseMirror[data-dragging=true] input::-moz-selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror[data-dragging=true] input::selection{background:var(--crepe-color-selected)}.milkdown .ProseMirror img{vertical-align:bottom;max-width:100%}.milkdown .ProseMirror img.ProseMirror-selectednode{background:none;outline:2px solid var(--crepe-color-primary)}.milkdown .ProseMirror h1,.milkdown .ProseMirror h2,.milkdown .ProseMirror h3,.milkdown .ProseMirror h4,.milkdown .ProseMirror h5,.milkdown .ProseMirror h6{font-family:var(--crepe-font-title);font-weight:400;padding:2px 0}.milkdown .ProseMirror h1{font-size:42px;line-height:50px;margin-top:32px}.milkdown .ProseMirror h2{font-size:36px;line-height:44px;margin-top:28px}.milkdown .ProseMirror h3{font-size:32px;line-height:40px;margin-top:24px}.milkdown .ProseMirror h4{font-size:28px;line-height:36px;margin-top:20px}.milkdown .ProseMirror h5{font-size:24px;line-height:32px;margin-top:16px}.milkdown .ProseMirror h6{font-size:18px;font-weight:700;line-height:28px;margin-top:16px}.milkdown .ProseMirror p{font-size:16px;line-height:24px;padding:4px 0}.milkdown .ProseMirror code{color:var(--crepe-color-inline-code);background:color-mix(in srgb,var(--crepe-color-inline-area),transparent 40%);font-family:var(--crepe-font-code);padding:0 2px;border-radius:4px;font-size:87.5%;display:inline-block;line-height:1.4286}.milkdown .ProseMirror a{color:var(--crepe-color-primary);text-decoration:underline}.milkdown .ProseMirror pre{background:color-mix(in srgb,var(--crepe-color-inline-area),transparent 40%);padding:10px;border-radius:4px}.milkdown .ProseMirror pre code{padding:0;background:transparent}.milkdown .ProseMirror blockquote{position:relative;padding-left:40px;padding-top:0;padding-bottom:0;box-sizing:content-box;margin:4px 0}.milkdown .ProseMirror blockquote:before{content:"";width:4px;left:0;top:4px;bottom:4px;position:absolute;background:var(--crepe-color-selected);border-radius:100px}.milkdown .ProseMirror blockquote hr{margin-bottom:16px}.milkdown .ProseMirror hr{border:none;background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);background-clip:content-box;padding:6px 0;height:13px;position:relative}.milkdown .ProseMirror hr.ProseMirror-selectednode{outline:none;background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 20%);background-clip:content-box}.milkdown .ProseMirror hr.ProseMirror-selectednode:before{content:"";position:absolute;inset:0;background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);pointer-events:none}.milkdown .ProseMirror ul,.milkdown .ProseMirror ol{padding:0}}.milkdown .milkdown-block-handle[data-show=false]{opacity:0;pointer-events:none}.milkdown .milkdown-block-handle{transition:all .2s;position:absolute;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:2px}.milkdown .milkdown-block-handle .operation-item{border-radius:4px;width:32px;height:32px;padding:4px}.milkdown .milkdown-block-handle .operation-item svg{width:24px;height:24px;fill:var(--crepe-color-outline)}.milkdown .milkdown-block-handle .operation-item:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-block-handle .operation-item.active{background:var(--crepe-color-selected)}.milkdown .milkdown-slash-menu[data-show=false]{display:none}.milkdown .milkdown-slash-menu{position:absolute;z-index:10;display:block;font-family:var(--crepe-font-default);color:var(--crepe-color-on-surface);background:var(--crepe-color-surface);border-radius:12px;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-slash-menu ul{list-style-type:none}.milkdown .milkdown-slash-menu ul li{cursor:pointer;border-radius:8px}.milkdown .milkdown-slash-menu .tab-group{border-bottom:1px solid color-mix(in srgb,var(--crepe-color-outline),transparent 80%);padding:12px 12px 0}.milkdown .milkdown-slash-menu .tab-group ul{padding:8px 10px;display:flex;gap:10px;flex-wrap:nowrap}.milkdown .milkdown-slash-menu .tab-group ul li{padding:6px 10px;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.milkdown .milkdown-slash-menu .tab-group ul li:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-slash-menu .tab-group ul li.selected{background:var(--crepe-color-selected)}.milkdown .milkdown-slash-menu .menu-groups{padding:0 12px 12px;max-height:420px;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth}.milkdown .milkdown-slash-menu .menu-groups .menu-group h6{font-size:14px;font-style:normal;font-weight:600;line-height:20px;padding:14px 10px;text-transform:uppercase;color:color-mix(in srgb,var(--crepe-color-on-surface),transparent 40%)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li{min-width:220px;display:flex;justify-content:flex-start;align-items:center;gap:16px;padding:14px 10px}.milkdown .milkdown-slash-menu .menu-groups .menu-group li.hover{background:var(--crepe-color-hover)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li.active{background:var(--crepe-color-selected)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li svg{width:24px;height:24px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-slash-menu .menu-groups .menu-group li>span{font-size:14px;font-style:normal;font-weight:600;line-height:20px}.milkdown .milkdown-slash-menu .menu-groups .menu-group+.menu-group:before{content:"";display:block;height:1px;background:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);margin:0 10px}.milkdown .milkdown-code-block{display:block;position:relative;padding:8px 20px 20px;background:var(--crepe-color-surface);margin:4px 0}.milkdown .milkdown-code-block .language-picker{padding-top:10px;width:-moz-max-content;width:max-content;position:absolute;z-index:999}.milkdown .milkdown-code-block .hidden{display:none!important}.milkdown .milkdown-code-block.selected{outline:1px solid var(--crepe-color-primary)}.milkdown .milkdown-code-block .milkdown-code-block-placeholder{margin:0;padding:4px 0;font-family:var(--crepe-font-code, monospace);font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.milkdown .milkdown-code-block .milkdown-code-block-placeholder code{font-family:inherit}.milkdown .milkdown-code-block .cm-editor{outline:none!important;background:var(--crepe-color-surface)}.milkdown .milkdown-code-block .cm-gutters{border-right:none;background:var(--crepe-color-surface)}.milkdown .milkdown-code-block .cm-panel{font-family:var(--crepe-font-default);background:var(--crepe-color-surface);color:var(--crepe-color-on-surface)}.milkdown .milkdown-code-block .cm-panel input{caret-color:var(--crepe-color-outline);border-radius:4px;background:var(--crepe-color-surface-low)}.milkdown .milkdown-code-block .cm-panel>button{text-transform:capitalize;background:var(--crepe-color-surface-low);color:var(--crepe-color-on-surface-variant);border:1px solid var(--crepe-color-outline);font-weight:600;cursor:pointer;border-radius:4px}.milkdown .milkdown-code-block .cm-panel>button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .cm-panel>label{display:inline-flex;align-items:center;text-transform:capitalize}.milkdown .milkdown-code-block .cm-panel>label input[type=checkbox]{border-radius:4px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--crepe-color-surface-low);width:1.15em;height:1.15em;border:1px solid var(--crepe-color-outline);display:grid;place-content:center}.milkdown .milkdown-code-block .cm-panel>label input[type=checkbox]:before{content:"";transform-origin:bottom left;width:.65em;height:.65em;transform:scale(0);transition:.12s transform ease-in-out;box-shadow:inset 1em 1em var(--crepe-color-outline);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%)}.milkdown .milkdown-code-block .cm-panel>label input[type=checkbox]:checked:before{transform:scale(1)}.milkdown .milkdown-code-block .tools{display:flex;justify-content:space-between;align-items:center}.milkdown .milkdown-code-block .tools input{caret-color:var(--crepe-color-outline)}.milkdown .milkdown-code-block .tools .tools-button-group{display:flex;gap:2px}.milkdown .milkdown-code-block .tools .tools-button-group button{background:var(--crepe-color-secondary);color:var(--crepe-color-on-surface-variant);padding:4px 10px;opacity:0;cursor:pointer;border-radius:4px;font-size:12px;line-height:16px;font-weight:600;font-family:var(--crepe-font-default);transition:opacity .2s ease-in-out;display:flex;align-items:center;justify-content:center;gap:4px}.milkdown .milkdown-code-block .tools .tools-button-group button svg{width:14px;height:14px;fill:var(--crepe-color-on-surface-variant)}.milkdown .milkdown-code-block .tools .tools-button-group button:first-child{border-top-left-radius:100px;border-bottom-left-radius:100px}.milkdown .milkdown-code-block .tools .tools-button-group button:last-child{border-top-right-radius:100px;border-bottom-right-radius:100px}.milkdown .milkdown-code-block .tools .language-button{display:flex;align-items:center;font-family:var(--crepe-font-default);gap:6px;padding:2px 4px 2px 8px;background:var(--crepe-color-surface-low);color:var(--crepe-color-on-surface-variant);border-radius:4px;font-size:12px;font-weight:600;line-height:16px;margin-bottom:8px;opacity:0;cursor:pointer;transition:opacity .2s ease-in-out}.milkdown .milkdown-code-block .tools .language-button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .tools .language-button .expand-icon{transition:transform .2s ease-in-out;width:18px;height:18px;display:flex;justify-content:center;align-items:center}.milkdown .milkdown-code-block .tools .language-button .expand-icon svg{width:14px;height:14px;color:var(--crepe-color-outline)}.milkdown .milkdown-code-block .tools .language-button[data-expanded=true] .expand-icon{transform:rotate(180deg)}.milkdown .milkdown-code-block .tools .language-button .expand-icon svg:focus,.milkdown .milkdown-code-block .tools .language-button .expand-icon:focus-visible{outline:none}.milkdown .milkdown-code-block:hover .language-button{opacity:1}.milkdown .milkdown-code-block:hover .tools-button-group>button{opacity:1}.milkdown .milkdown-code-block .list-wrapper{background:var(--crepe-color-surface-low);border-radius:12px;box-shadow:var(--crepe-shadow-1);width:240px;padding-top:12px}.milkdown .milkdown-code-block .language-list{height:410px;overflow-y:auto;overscroll-behavior:contain;margin:0;padding:0}.milkdown .milkdown-code-block .language-list-item{cursor:pointer;margin:0;display:flex;align-items:center;gap:8px;padding:4px 22px;font-size:14px;font-weight:600;line-height:20px}.milkdown .milkdown-code-block .language-list-item:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .language-list-item:focus-visible{outline:none;background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .language-list-item .leading,.milkdown .milkdown-code-block .language-list-item .leading svg{width:24px;height:24px}.milkdown .milkdown-code-block .language-list-item.no-result{cursor:default;opacity:.6}.milkdown .milkdown-code-block .language-list-item.no-result:hover{background:transparent}.milkdown .milkdown-code-block .search-box{display:flex;align-items:center;margin:0 12px 8px;background:transparent;border-radius:4px;outline:1px solid var(--crepe-color-primary);gap:8px;padding:6px 10px}.milkdown .milkdown-code-block .search-box:has(input:focus){outline:2px solid var(--crepe-color-primary)}.milkdown .milkdown-code-block .search-box .search-input{width:100%;color:var(--crepe-color-on-surface)}.milkdown .milkdown-code-block .search-box .search-icon{display:none}.milkdown .milkdown-code-block .search-box .clear-icon{cursor:pointer;width:20px;height:20px}.milkdown .milkdown-code-block .search-box .clear-icon svg{width:20px;height:20px;color:var(--crepe-color-primary);fill:var(--crepe-color-primary)}.milkdown .milkdown-code-block .search-box .clear-icon:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-code-block .search-box input{font-family:var(--crepe-font-default);font-size:14px;line-height:20px;background:transparent}.milkdown .milkdown-code-block .search-box input:focus{outline:none}.milkdown .milkdown-code-block .preview-panel .preview-divider{height:1px;opacity:.2;background:var(--crepe-color-outline);margin:6px 0}.milkdown .milkdown-code-block .preview-panel .preview-label{margin:6px 0;font-size:12px;color:color-mix(in srgb,var(--crepe-color-on-surface),transparent 40%);font-weight:600;text-transform:uppercase;font-family:var(--crepe-font-default)}.milkdown .milkdown-code-block .preview-panel .preview{text-align:center;overflow-x:auto}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProseMirror-focused .ProseMirror-gapcursor{display:block}.ProseMirror.virtual-cursor-enabled{caret-color:transparent}.ProseMirror-focused{--prosemirror-virtual-cursor-color: red}.ProseMirror .prosemirror-virtual-cursor{position:absolute;cursor:text;pointer-events:none;transform:translate(-1px);-moz-user-select:none;user-select:none;-webkit-user-select:none;border-left:2px solid var(--prosemirror-virtual-cursor-color)}.ProseMirror .prosemirror-virtual-cursor-left{width:1ch;transform:translate(calc(-1ch - 1px));border-bottom:2px solid var(--prosemirror-virtual-cursor-color);border-right:2px solid var(--prosemirror-virtual-cursor-color);border-left:none}.ProseMirror .prosemirror-virtual-cursor-right{width:1ch;border-bottom:2px solid var(--prosemirror-virtual-cursor-color);border-left:2px solid var(--prosemirror-virtual-cursor-color);border-right:none}.ProseMirror-focused .prosemirror-virtual-cursor-animation{animation:prosemirror-virtual-cursor-blink 1s linear infinite;animation-delay:.5s}@keyframes prosemirror-virtual-cursor-blink{0%{opacity:1}50%{opacity:0}to{opacity:1}}.milkdown .crepe-drop-cursor{background-color:color-mix(in srgb,var(--crepe-color-outline),transparent 50%);opacity:.5;transition:all .2s;pointer-events:none}.milkdown .ProseMirror-gapcursor:after{box-sizing:border-box;border-top:1px solid var(--crepe-color-on-background)}.milkdown .ProseMirror-focused{--prosemirror-virtual-cursor-color: var(--crepe-color-outline)}.milkdown .milkdown-image-inline{outline:none;display:inline-flex;vertical-align:text-bottom}.milkdown .milkdown-image-inline input{background:transparent;outline:none;border:0;caret-color:var(--crepe-color-outline)}.milkdown .milkdown-image-inline>.empty-image-inline{display:inline-flex}.milkdown .milkdown-image-inline>.empty-image-inline .confirm{cursor:pointer}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer{position:relative;flex:1}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer>.link-input-area{width:208px;color:var(--crepe-color-on-background);display:flex}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer .placeholder{position:absolute;top:0;left:0;bottom:0;display:flex;align-items:center;cursor:text}.milkdown .milkdown-image-inline>.empty-image-inline .link-importer .placeholder .uploader{cursor:pointer;display:flex}.milkdown .milkdown-image-inline .hidden{display:none!important}.milkdown .milkdown-image-inline.empty.selected{background:none;outline:none}.milkdown .milkdown-image-inline.empty.selected .empty-image-inline{box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-image-inline.selected{background:none;outline:1px solid var(--crepe-color-primary)}.milkdown .milkdown-image-inline.selected :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-inline.selected :not(input)::selection{background:transparent}.milkdown .milkdown-image-inline .empty-image-inline{align-items:center;padding:4px 10px;gap:10px;background:var(--crepe-color-surface);font-family:var(--crepe-font-default);border-radius:8px;font-size:16px}.milkdown .milkdown-image-inline .empty-image-inline .image-icon svg{width:18px;height:18px;fill:var(--crepe-color-outline)}.milkdown .milkdown-image-inline .empty-image-inline .image-icon{padding:3px;width:24px;height:24px}.milkdown .milkdown-image-inline .empty-image-inline .link-importer{height:24px}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder{color:color-mix(in srgb,var(--crepe-color-on-background),transparent 60%)}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder :not(input)::selection{background:transparent}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .link-input-area{line-height:24px}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader{gap:8px;color:var(--crepe-color-primary);justify-content:center;transition:color .2s;font-family:var(--crepe-font-default)}.milkdown .milkdown-image-inline .empty-image-inline .link-importer.focus .placeholder .uploader{color:unset}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .uploader:hover{color:var(--crepe-color-primary)}.milkdown .milkdown-image-inline .empty-image-inline .link-importer .placeholder .text{margin-left:8px}.milkdown .milkdown-image-inline .empty-image-inline .confirm svg{width:18px;height:18px}.milkdown .milkdown-image-inline .empty-image-inline .confirm{display:flex;width:24px;height:24px;padding:3px;border-radius:8px;color:var(--crepe-color-primary)}.milkdown .milkdown-image-inline .empty-image-inline .confirm:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-image-block{outline:none;margin:4px 0;display:block}.milkdown .milkdown-image-block>.image-wrapper{position:relative;width:-moz-fit-content;width:fit-content;margin:0 auto;min-width:100px}.milkdown .milkdown-image-block>.image-wrapper .operation{position:absolute;display:flex}.milkdown .milkdown-image-block>.image-wrapper .operation>.operation-item{cursor:pointer}.milkdown .milkdown-image-block>.image-wrapper img{max-width:100%;min-height:100px;display:block;-o-object-fit:cover;object-fit:cover}.milkdown .milkdown-image-block>.image-wrapper>.image-resize-handle{position:absolute;left:50%;transform:translate(-50%)}.milkdown .milkdown-image-block>.image-wrapper>.image-resize-handle:hover{cursor:row-resize}.milkdown .milkdown-image-block input{background:transparent;outline:none;border:0;caret-color:var(--crepe-color-outline)}.milkdown .milkdown-image-block>.caption-input{display:block;width:100%;text-align:center;color:var(--crepe-color-on-background)}.milkdown .milkdown-image-block>.image-edit{display:flex}.milkdown .milkdown-image-block>.image-edit .confirm{cursor:pointer}.milkdown .milkdown-image-block>.image-edit .link-importer{position:relative;flex:1}.milkdown .milkdown-image-block>.image-edit .link-importer>.link-input-area{width:100%}.milkdown .milkdown-image-block>.image-edit .link-importer .placeholder{position:absolute;top:0;left:0;bottom:0;display:flex;align-items:center;cursor:text}.milkdown .milkdown-image-block>.image-edit .link-importer .placeholder .uploader{cursor:pointer;display:flex}.milkdown .milkdown-image-block .hidden{display:none!important}.milkdown .milkdown-image-block.selected>.image-edit:not(:has(input:focus)){position:relative}.milkdown .milkdown-image-block.selected>.image-edit:not(:has(input:focus)):before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--crepe-color-selected),transparent 60%);pointer-events:none}.milkdown .milkdown-image-block.selected>.image-wrapper{position:relative}.milkdown .milkdown-image-block.selected>.image-wrapper:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--crepe-color-selected),transparent 60%)}.milkdown .milkdown-image-block.selected :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-block.selected :not(input)::selection{background:transparent}.milkdown .milkdown-image-block .image-wrapper{display:flex;justify-content:center;align-items:center}.milkdown .milkdown-image-block .image-wrapper .operation{gap:12px;right:12px;top:12px;opacity:0;transition:all .2s}.milkdown .milkdown-image-block:hover>.image-wrapper .operation{opacity:1}.milkdown .milkdown-image-block .image-wrapper .operation>.operation-item{color:var(--crepe-color-on-inverse);padding:4px;background:var(--crepe-color-inverse);opacity:.6;border-radius:50%;width:32px;height:32px}.milkdown .milkdown-image-block .image-wrapper .operation>.operation-item svg{width:24px;height:24px}.milkdown .milkdown-image-block .image-wrapper .image-resize-handle{height:4px;bottom:-2px;max-width:160px;width:100%;background:var(--crepe-color-outline);opacity:0;transition:all .2s;border-radius:4px}.milkdown .milkdown-image-block:hover>.image-wrapper .image-resize-handle{opacity:1}.milkdown .milkdown-image-block .caption-input{margin:4px auto;font-family:var(--crepe-font-default)}.milkdown .milkdown-image-block .image-edit{align-items:center;padding:16px 24px;gap:16px;background:var(--crepe-color-surface);height:56px}.milkdown .milkdown-image-block .image-edit .image-icon{color:var(--crepe-color-outline)}.milkdown .milkdown-image-block .image-edit .image-icon svg{width:24px;height:24px;display:flex;justify-content:center;align-items:center;fill:var(--crepe-color-outline)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder{color:color-mix(in srgb,var(--crepe-color-on-background),transparent 60%)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder :not(input)::-moz-selection{background:transparent}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder :not(input)::selection{background:transparent}.milkdown .milkdown-image-block .image-edit .link-importer .link-input-area{line-height:24px;color:var(--crepe-color-on-background)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader{gap:8px;color:var(--crepe-color-primary);justify-content:center;transition:color .2s;font-weight:600}.milkdown .milkdown-image-block .image-edit .link-importer.focus .placeholder .uploader{color:unset}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .uploader:hover{color:var(--crepe-color-primary)}.milkdown .milkdown-image-block .image-edit .link-importer .placeholder .text{margin-left:8px}.milkdown .milkdown-image-block .image-edit .confirm{background:var(--crepe-color-secondary);color:var(--crepe-color-on-secondary);line-height:40px;padding:0 24px;border-radius:100px;font-size:14px;font-weight:600}.milkdown .milkdown-image-block .image-edit .confirm:hover{background:linear-gradient(0deg,#1d192b14 0% 100%),var(--crepe-color-secondary)}.milkdown .milkdown-link-preview{position:absolute;z-index:10}.milkdown .milkdown-link-preview[data-show=false]{display:none}.milkdown .milkdown-link-preview>.link-preview{height:32px;display:flex;justify-content:center;padding:4px 10px;background:var(--crepe-color-surface);gap:10px;border-radius:8px;cursor:pointer;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-link-preview>.link-preview>.link-display{text-decoration:none;color:unset}.milkdown .milkdown-link-preview>.link-preview>.link-display:hover:before{display:block}.milkdown .milkdown-link-preview>.link-preview>.link-icon>svg{width:18px;height:18px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-link-preview>.link-preview>.link-icon{border-radius:8px;padding:3px;line-height:24px}.milkdown .milkdown-link-preview>.link-preview>.link-icon:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-link-preview>.link-preview>.link-display{width:240px;line-height:24px;overflow:hidden;text-overflow:ellipsis;font-size:14px;white-space:nowrap}.milkdown .milkdown-link-preview>.link-preview>.link-display:hover{text-decoration:underline}.milkdown .milkdown-link-preview>.link-preview>.button>svg{width:18px;height:18px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-link-preview>.link-preview>.button{padding:3px;border-radius:8px;line-height:24px}.milkdown .milkdown-link-preview>.link-preview>.button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-link-edit{position:absolute;z-index:10}.milkdown .milkdown-link-edit[data-show=false]{display:none}.milkdown .milkdown-link-edit>.link-edit{height:32px;display:flex;justify-content:center;padding:4px 10px 4px 20px;background:var(--crepe-color-surface);gap:8px;border-radius:8px;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-link-edit>.link-edit>.input-area{outline:none;background:transparent;width:200px;font-size:14px;color:var(--crepe-color-on-background)}.milkdown .milkdown-link-edit>.link-edit>.button>svg{width:18px;height:18px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-link-edit>.link-edit>.button{padding:3px;cursor:pointer;border-radius:8px;font-size:12px;line-height:24px}.milkdown .milkdown-link-edit>.link-edit>.button:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-link-edit>.link-edit>.button.hidden{visibility:hidden}.milkdown .milkdown-list-item-block{display:block;padding:0}.milkdown .milkdown-list-item-block>.list-item{display:flex;align-items:flex-start}.milkdown .milkdown-list-item-block>.list-item>.children{min-width:0;flex:1}.milkdown .milkdown-list-item-block li{gap:10px}.milkdown .milkdown-list-item-block li .label-wrapper{color:var(--crepe-color-outline)}.milkdown .milkdown-list-item-block li .label-wrapper svg{fill:var(--crepe-color-outline)}.milkdown .milkdown-list-item-block li .label-wrapper{height:32px;width:24px;display:flex;justify-content:center;align-items:center}.milkdown .milkdown-list-item-block li .label-wrapper .label{height:32px;padding:4px 0;width:24px;text-align:right}.milkdown .milkdown-list-item-block li .label-wrapper .checked,.milkdown .milkdown-list-item-block li .label-wrapper .unchecked{cursor:pointer}.milkdown .milkdown-list-item-block li .label-wrapper .readonly{cursor:not-allowed}.milkdown .crepe-placeholder:before{position:absolute;color:color-mix(in srgb,var(--crepe-color-on-background),transparent 60%);pointer-events:none;height:0;content:attr(data-placeholder)}.milkdown:has(.milkdown-link-preview[data-show=true]) .milkdown-toolbar,.milkdown:has(.milkdown-link-edit[data-show=true]) .milkdown-toolbar{display:none}.milkdown .milkdown-toolbar[data-show=false]{display:none}.milkdown .milkdown-toolbar{z-index:10;position:absolute;display:flex;background:var(--crepe-color-surface);box-shadow:var(--crepe-shadow-1);border-radius:8px;overflow:hidden}.milkdown .milkdown-toolbar .divider{width:1px;background:color-mix(in srgb,var(--crepe-color-outline),transparent 80%);height:24px;margin:10px}.milkdown .milkdown-toolbar .toolbar-item{width:32px;height:32px;margin:6px;padding:4px;cursor:pointer;border-radius:4px}.milkdown .milkdown-toolbar .toolbar-item:hover{background:var(--crepe-color-hover)}.milkdown .milkdown-toolbar .toolbar-item:active{background:var(--crepe-color-selected)}.milkdown .milkdown-toolbar .toolbar-item svg{height:24px;width:24px;color:var(--crepe-color-outline);fill:var(--crepe-color-outline)}.milkdown .milkdown-toolbar .toolbar-item.active svg{color:var(--crepe-color-primary);fill:var(--crepe-color-primary)}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror td:not([data-colwidth]):not(.column-resize-dragging),.ProseMirror th:not([data-colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;background:#c8c8ff66;pointer-events:none}.milkdown .milkdown-table-block{display:block;margin:4px 0}.milkdown .milkdown-table-block th,.milkdown .milkdown-table-block td{border:1px solid color-mix(in srgb,var(--crepe-color-outline),transparent 80%);padding:4px 16px}.milkdown .milkdown-table-block th .ProseMirror-selectednode,.milkdown .milkdown-table-block td .ProseMirror-selectednode{background-color:transparent!important}.milkdown .milkdown-table-block th:has(.ProseMirror-selectednode),.milkdown .milkdown-table-block td:has(.ProseMirror-selectednode){outline:1px solid var(--crepe-color-primary);outline-offset:-1px}.milkdown .milkdown-table-block .selectedCell:after{background-color:var(--crepe-color-selected);opacity:.4}.milkdown .milkdown-table-block .selectedCell ::-moz-selection{background:transparent}.milkdown .milkdown-table-block .selectedCell ::selection{background:transparent}.milkdown .milkdown-table-block .drag-preview{background-color:var(--crepe-color-surface);opacity:.4;position:absolute;z-index:100;display:flex;flex-direction:column;outline:1px solid var(--crepe-color-primary);outline-offset:-1px}.milkdown .milkdown-table-block .drag-preview[data-show=false]{display:none}.milkdown .milkdown-table-block .drag-preview th:has(.ProseMirror-selectednode),.milkdown .milkdown-table-block .drag-preview td:has(.ProseMirror-selectednode){outline:none}.milkdown .milkdown-table-block .handle{position:absolute;font-size:14px;transition:opacity ease-in-out .2s}.milkdown .milkdown-table-block .handle[data-show=false]{opacity:0}.milkdown .milkdown-table-block svg{fill:var(--crepe-color-outline)}.milkdown .milkdown-table-block .cell-handle{z-index:50;left:-999px;top:-999px;cursor:grab;background-color:var(--crepe-color-surface);color:var(--crepe-color-outline);border-radius:100px;box-shadow:var(--crepe-shadow-1);transition:background-color .2s ease-in-out}.milkdown .milkdown-table-block .cell-handle:hover{background-color:var(--crepe-color-hover)}.milkdown .milkdown-table-block .cell-handle:has(.button-group:hover){background-color:var(--crepe-color-surface)}.milkdown .milkdown-table-block .cell-handle[data-role=col-drag-handle]{transform:translateY(50%);padding:0 6px;width:28px;height:16px}.milkdown .milkdown-table-block .cell-handle[data-role=row-drag-handle]{transform:translate(50%);padding:6px 0;width:16px;height:28px}.milkdown .milkdown-table-block .cell-handle .button-group{position:absolute;transform:translate(-50%);left:50%;top:-52px;display:flex;background-color:var(--crepe-color-surface);border-radius:8px;box-shadow:var(--crepe-shadow-1)}.milkdown .milkdown-table-block .cell-handle .button-group:after{content:"";position:absolute;bottom:-8px;height:8px;background-color:transparent;width:100%}.milkdown .milkdown-table-block .cell-handle .button-group[data-show=false]{display:none}.milkdown .milkdown-table-block .cell-handle .button-group button{cursor:pointer;margin:6px;padding:4px;display:flex;justify-content:center;align-items:center;border-radius:4px}.milkdown .milkdown-table-block .cell-handle .button-group button svg{width:24px;height:24px}.milkdown .milkdown-table-block .cell-handle .button-group button:hover{border-radius:8px;background-color:var(--crepe-color-hover)}.milkdown .milkdown-table-block .cell-handle .button-group button:active{background:var(--crepe-color-selected)}.milkdown .milkdown-table-block .cell-handle:hover{opacity:1}.milkdown .milkdown-table-block .line-handle{z-index:20;background-color:var(--crepe-color-primary)}.milkdown .milkdown-table-block .line-handle:hover{opacity:1}.milkdown .milkdown-table-block .line-handle .add-button{cursor:pointer;background-color:var(--crepe-color-surface);color:var(--crepe-color-outline);border-radius:100px;box-shadow:var(--crepe-shadow-1);transition:background-color .2s ease-in-out}.milkdown .milkdown-table-block .line-handle .add-button svg{width:16px;height:16px}.milkdown .milkdown-table-block .line-handle .add-button:hover{background-color:var(--crepe-color-hover)}.milkdown .milkdown-table-block .line-handle .add-button:active{background:var(--crepe-color-selected)}.milkdown .milkdown-table-block .line-handle[data-role=x-line-drag-handle]{height:1px;z-index:2}.milkdown .milkdown-table-block .line-handle[data-role=x-line-drag-handle] .add-button{position:absolute;transform:translate(-50%) translateY(-50%);padding:6px 0;width:16px;height:28px}.milkdown .milkdown-table-block .line-handle[data-role=y-line-drag-handle]{width:1px;z-index:1}.milkdown .milkdown-table-block .line-handle[data-role=y-line-drag-handle] .add-button{position:absolute;transform:translateY(-50%) translate(-50%);padding:0 6px;width:28px;height:16px}.milkdown .milkdown-table-block .line-handle[data-display-type=indicator] .add-button,.milkdown .milkdown-table-block.readonly .handle{display:none}.milkdown .ProseMirror{padding:0;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.milkdown .ProseMirror b,.milkdown .ProseMirror strong{font-weight:600}.milkdown .ProseMirror-yjs-cursor{position:relative;margin-left:-1px;margin-right:-1px;pointer-events:none;overflow-wrap:normal;word-break:normal;border-width:1px;--tw-border-opacity: 1;border-left-color:rgb(0 0 0 / var(--tw-border-opacity, 1));border-right-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.milkdown .ProseMirror-yjs-cursor>div{position:absolute;top:-2.1em;left:-1px;font-size:.75rem;line-height:1rem;white-space:nowrap;background-color:var(--bfc-primary);padding:.25rem .5rem;color:var(--bfc-primary-foreground);-webkit-user-select:none;-moz-user-select:none;user-select:none;border-top-right-radius:.125rem;border-bottom-right-radius:.125rem;border-top-left-radius:.125rem}.milkdown{[data-name=notice-tooltip] button{background:revert-layer;color:revert-layer}&[data-link-tooltip-visible] .milkdown-toolbar:not([data-name]){display:none!important}}@keyframes grammar-check-pulse{0%,to{opacity:.4}50%{opacity:.15}}.grammar-check-highlight{animation:grammar-check-pulse .5s ease-in-out infinite}@keyframes bf-media-upload-pulse{0%,to{background-color:#0000001f}50%{background-color:#00000047}}.milkdown{.bf-media-upload-placeholder{position:relative;display:inline-block;max-width:100%;margin:.25rem 0 1.75rem;vertical-align:bottom}.bf-media-upload-placeholder__overlay{position:absolute;inset:0;z-index:1;animation:bf-media-upload-pulse 2s ease-in-out infinite;background:#00000059;pointer-events:none;border-radius:.5rem}.bf-media-upload-placeholder__media{display:block;max-width:100%;height:auto;border-radius:.5rem}.bf-circular-progress{position:absolute;top:50%;left:50%;z-index:2;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:conic-gradient(currentColor 0deg,color-mix(in srgb,currentColor 18%,transparent) 0);pointer-events:none}.bf-circular-progress__inner{position:absolute;width:40px;height:40px;border-radius:50%;background:var(--bfc-v2-color-mono-100, #f4f4f5)}.bf-circular-progress__percentage{position:relative;z-index:1;margin:0;font-size:12px;font-weight:600;line-height:1;color:var(--bfc-v2-color-mono-900, #18181b)}.milkdown-table-block{overflow-x:auto;table{width:auto;tr>th{white-space:nowrap}}}.milkdown-image-block{.image-wrapper{.image-resize-handle{height:8px;background:var(--bfc-v2-color-mono-200);border:1px solid var(--bfc-v2-color-mono-900);border-radius:3px;opacity:.75;&:hover{cursor:ns-resize;transform:translate(-50%) scaleY(1.3)}}&:hover{cursor:default}}&:hover>.image-wrapper .image-resize-handle{opacity:1}}.ProseMirror[contenteditable=false] .milkdown-image-block{.image-resize-handle{display:none}>.image-wrapper .operation{display:none}&:hover>.image-wrapper{cursor:default}}.ProseMirror [data-notice-block-type] [data-node-view-content]>:first-child{margin-top:0}.video-viewer.has-custom-timeline{video::-webkit-media-controls-timeline{opacity:0}video:fullscreen::-webkit-media-controls-timeline,video:-webkit-full-screen::-webkit-media-controls-timeline{opacity:1}}.milkdown-code-block .cm-content{white-space:break-spaces;max-width:95%;flex-basis:auto!important}.review-suggestion{&.target-replace-hidden{display:none}&.target-delete{background:var(--bfc-destructive-bg);color:var(--bfc-text-subtle);text-decoration:line-through;text-decoration-thickness:2px;text-decoration-color:var(--bfc-destructive-text);border:1px solid var(--bfc-v2-color-red-300);border-bottom-width:3px;border-radius:8px;cursor:pointer;padding:1px 4px;&[data-fragment-position=first]{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;padding-right:0}&[data-fragment-position=middle]{border-left:0;border-right:0;border-radius:0;padding-left:0;padding-right:0}&[data-fragment-position=last]{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;padding-left:0}&.selected{background:var(--bfc-v2-color-red-200);border-color:var(--bfc-destructive-border)}}&.inline-add{display:inline;padding:0 4px;background:var(--bfc-v2-color-blue-100);color:inherit;border:1px solid var(--bfc-v2-color-blue-300);border-bottom-width:3px;border-radius:8px;white-space:normal;cursor:pointer;&.selected{background:var(--bfc-v2-color-blue-200);border-color:var(--bfc-v2-color-blue-600)}}&.block-add{display:block;margin:8px 0;padding:8px 12px;background:var(--bfc-v2-color-blue-100);color:inherit;border:1px solid var(--bfc-v2-color-blue-300);border-bottom-width:3px;border-radius:8px;white-space:normal;cursor:pointer;>:first-child{margin-top:0}>:last-child{margin-bottom:0}.video-block,.embed-block{margin:0}.list-preview-line+.list-preview-line{margin-top:4px}&.selected{background:var(--bfc-v2-color-blue-200);border-color:var(--bfc-v2-color-blue-600)}}&.inline-add,&.block-add{a,video,iframe{pointer-events:none}}&.media-preview{min-height:24px;border-radius:6px;color:var(--bfc-text-subtle);font-size:.875em;font-weight:500;line-height:1.4;word-break:break-word}}}.milkdown .bf-mention-pill{-webkit-user-select:none;-moz-user-select:none;user-select:none}
|