@haklex/rich-editor-ui 0.51.1 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/code-block/highlight.d.ts +15 -0
- package/dist/components/code-block/highlight.d.ts.map +1 -0
- package/dist/components/code-block/index.d.ts +5 -0
- package/dist/components/code-block/index.d.ts.map +1 -1
- package/dist/components/code-block/languages.d.ts +6 -0
- package/dist/components/code-block/languages.d.ts.map +1 -0
- package/dist/components/code-block/streamdown-plugin.d.ts +16 -0
- package/dist/components/code-block/streamdown-plugin.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +435 -27
- package/dist/rich-editor-ui.css +1 -1
- package/package.json +4 -7
- package/dist/components/code-block/shiki.d.ts +0 -6
- package/dist/components/code-block/shiki.d.ts.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Lang, TokensResult } from '@pierre/highlights';
|
|
2
|
+
export type HighlightColorScheme = 'dark' | 'light';
|
|
3
|
+
export type HighlightsRuntime = Awaited<ReturnType<typeof loadRuntime>>;
|
|
4
|
+
declare function loadRuntime(): Promise<{
|
|
5
|
+
core: typeof import('@pierre/highlights');
|
|
6
|
+
dark: import('@pierre/highlights').Theme;
|
|
7
|
+
light: import('@pierre/highlights').Theme;
|
|
8
|
+
}>;
|
|
9
|
+
export declare function loadHighlighter(): Promise<HighlightsRuntime>;
|
|
10
|
+
export declare function getLoadedHighlighter(): HighlightsRuntime | null;
|
|
11
|
+
export declare function tokenizeCode(runtime: HighlightsRuntime, code: string, language: string | undefined, cssVariablePrefix?: string): TokensResult;
|
|
12
|
+
export declare function resolveHighlightLanguage(language: string | undefined, isSupported: (lang: string) => boolean): Lang;
|
|
13
|
+
export declare function highlightCode(code: string, language: string | undefined, colorScheme?: HighlightColorScheme): Promise<string>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=highlight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/highlight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAe,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC;AAWxE,iBAAe,WAAW;;;;GAOzB;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAY5D;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAE/D;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,iBAAiB,CAAC,EAAE,MAAM,GACzB,YAAY,CAId;AA0BD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACrC,IAAI,CAIN;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,CAAC,EAAE,oBAAoB,GACjC,OAAO,CAAC,MAAM,CAAC,CAejB"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
import { CodeBlockChrome } from './CodeBlockCard';
|
|
3
3
|
export type { CodeBlockChrome } from './CodeBlockCard';
|
|
4
|
+
export type { HighlightColorScheme } from './highlight';
|
|
5
|
+
export { highlightCode } from './highlight';
|
|
6
|
+
export type { CodeLanguage } from './languages';
|
|
7
|
+
export { codeLanguages } from './languages';
|
|
8
|
+
export { streamdownCodePlugin } from './streamdown-plugin';
|
|
4
9
|
export interface CodeBlockProps {
|
|
5
10
|
chrome?: CodeBlockChrome;
|
|
6
11
|
className?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMvD,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,SAAS,EACT,WAAkB,EAClB,IAAI,EACJ,QAAQ,EACR,cAAqB,EACrB,eAAuB,GACxB,EAAE,cAAc,GAAG,YAAY,CAsD/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/languages.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,YAAY,EAkFhD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TokensResult } from '@pierre/highlights';
|
|
2
|
+
interface StreamdownHighlightOptions {
|
|
3
|
+
code: string;
|
|
4
|
+
isIncomplete?: boolean;
|
|
5
|
+
language: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const streamdownCodePlugin: {
|
|
8
|
+
name: "shiki";
|
|
9
|
+
type: "code-highlighter";
|
|
10
|
+
getSupportedLanguages: () => string[];
|
|
11
|
+
getThemes: () => [string, string];
|
|
12
|
+
supportsLanguage: () => boolean;
|
|
13
|
+
highlight({ code, isIncomplete, language }: StreamdownHighlightOptions, callback?: (result: TokensResult) => void): TokensResult | null;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=streamdown-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamdown-plugin.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/streamdown-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD,UAAU,0BAA0B;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAwBD,eAAO,MAAM,oBAAoB;;;;qBAIqB,CAAC,MAAM,EAAE,MAAM,CAAC;;gDAGxB,0BAA0B,aACzD,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GACxC,YAAY,GAAG,IAAI;CAYvB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ export type { BadgeProps } from './components/badge';
|
|
|
10
10
|
export { Badge } from './components/badge';
|
|
11
11
|
export type { AnimatedCheckboxProps } from './components/checkbox';
|
|
12
12
|
export { AnimatedCheckbox } from './components/checkbox';
|
|
13
|
-
export type { CodeBlockChrome, CodeBlockProps } from './components/code-block';
|
|
14
|
-
export { CodeBlock } from './components/code-block';
|
|
13
|
+
export type { CodeBlockChrome, CodeBlockProps, CodeLanguage, HighlightColorScheme, } from './components/code-block';
|
|
14
|
+
export { CodeBlock, codeLanguages, highlightCode, streamdownCodePlugin, } from './components/code-block';
|
|
15
15
|
export type { CollapsiblePanelProps, CollapsibleProps, CollapsibleTriggerProps, } from './components/collapsible';
|
|
16
16
|
export { Collapsible, CollapsiblePanel, CollapsibleTrigger } from './components/collapsible';
|
|
17
17
|
export type { ColorPickerProps } from './components/color-picker';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,iBAAiB,EAAE,GAAG,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC5F,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,EACb,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7F,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,QAAQ,EACR,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,MAAM,EACN,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,aAAa,GACd,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,6BAA6B,EAC7B,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.mjs
CHANGED
|
@@ -629,27 +629,442 @@ function CodeBlockCard({ children, chrome = "bar", className, code, collapsible
|
|
|
629
629
|
});
|
|
630
630
|
}
|
|
631
631
|
//#endregion
|
|
632
|
-
//#region src/components/code-block/
|
|
633
|
-
var
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
632
|
+
//#region src/components/code-block/highlight.ts
|
|
633
|
+
var fallbackLanguages = {
|
|
634
|
+
ini: "toml",
|
|
635
|
+
plaintext: "text",
|
|
636
|
+
properties: "toml"
|
|
637
|
+
};
|
|
638
|
+
var runtimePromise = null;
|
|
639
|
+
var loadedRuntime = null;
|
|
640
|
+
async function loadRuntime() {
|
|
641
|
+
const [core, light, dark] = await Promise.all([
|
|
642
|
+
import("@pierre/highlights"),
|
|
643
|
+
import("@pierre/highlights/themes/github-light"),
|
|
644
|
+
import("@pierre/highlights/themes/github-dark")
|
|
645
|
+
]);
|
|
646
|
+
return {
|
|
647
|
+
core,
|
|
648
|
+
dark: dark.default,
|
|
649
|
+
light: light.default
|
|
650
|
+
};
|
|
651
|
+
}
|
|
652
|
+
function loadHighlighter() {
|
|
653
|
+
runtimePromise ?? (runtimePromise = loadRuntime().then((runtime) => {
|
|
654
|
+
loadedRuntime = runtime;
|
|
655
|
+
return runtime;
|
|
656
|
+
}, (error) => {
|
|
657
|
+
runtimePromise = null;
|
|
658
|
+
throw error;
|
|
638
659
|
}));
|
|
639
|
-
return
|
|
660
|
+
return runtimePromise;
|
|
661
|
+
}
|
|
662
|
+
function getLoadedHighlighter() {
|
|
663
|
+
return loadedRuntime;
|
|
664
|
+
}
|
|
665
|
+
function tokenizeCode(runtime, code, language, cssVariablePrefix) {
|
|
666
|
+
const { core, dark, light } = runtime;
|
|
667
|
+
const lang = resolveHighlightLanguage(language, core.isSupportedLanguage);
|
|
668
|
+
return core.codeToTokens(code, {
|
|
669
|
+
cssVariablePrefix,
|
|
670
|
+
lang,
|
|
671
|
+
themes: {
|
|
672
|
+
light,
|
|
673
|
+
dark
|
|
674
|
+
}
|
|
675
|
+
});
|
|
640
676
|
}
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
677
|
+
function escapeHtml(text) {
|
|
678
|
+
return text.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">");
|
|
679
|
+
}
|
|
680
|
+
function tokenStyle(token) {
|
|
681
|
+
if (token.htmlStyle) return Object.entries(token.htmlStyle).map(([property, value]) => `${property}:${value}`).join(";");
|
|
682
|
+
const declarations = token.color ? [`color:${token.color}`] : [];
|
|
683
|
+
const flags = token.fontStyle ?? 0;
|
|
684
|
+
if (flags & 1) declarations.push("font-style:italic");
|
|
685
|
+
if (flags & 2) declarations.push("font-weight:bold");
|
|
686
|
+
if (flags & 4) declarations.push("text-decoration:underline");
|
|
687
|
+
return declarations.join(";");
|
|
688
|
+
}
|
|
689
|
+
function renderToken(token) {
|
|
690
|
+
const style = tokenStyle(token);
|
|
691
|
+
return `<span${style ? ` style="${escapeHtml(style).replaceAll("\"", """)}"` : ""}>${escapeHtml(token.content)}</span>`;
|
|
692
|
+
}
|
|
693
|
+
function resolveHighlightLanguage(language, isSupported) {
|
|
694
|
+
const id = language?.trim().toLowerCase() || "text";
|
|
695
|
+
const lang = fallbackLanguages[id] ?? id;
|
|
696
|
+
return isSupported(lang) ? lang : "text";
|
|
697
|
+
}
|
|
698
|
+
async function highlightCode(code, language, colorScheme) {
|
|
699
|
+
const runtime = await loadHighlighter();
|
|
700
|
+
const { core, dark, light } = runtime;
|
|
701
|
+
const { tokens, fg, bg } = colorScheme ? core.codeToTokens(code, {
|
|
702
|
+
lang: resolveHighlightLanguage(language, core.isSupportedLanguage),
|
|
703
|
+
theme: colorScheme === "dark" ? dark : light
|
|
704
|
+
}) : tokenizeCode(runtime, code, language);
|
|
705
|
+
return `<pre class="${colorScheme ? "highlights" : "highlights highlights-themes"}" style="background-color:${bg};color:${fg}"><code>${tokens.map((line) => `<span class="line">${line.map(renderToken).join("")}</span>`).join("\n")}</code></pre>`;
|
|
706
|
+
}
|
|
707
|
+
//#endregion
|
|
708
|
+
//#region src/components/code-block/languages.ts
|
|
709
|
+
var codeLanguages = [
|
|
710
|
+
{
|
|
711
|
+
id: "angular-html",
|
|
712
|
+
name: "Angular HTML"
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
id: "angular-ts",
|
|
716
|
+
name: "Angular TypeScript"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
id: "asm",
|
|
720
|
+
name: "Assembly"
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
id: "astro",
|
|
724
|
+
name: "Astro"
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
id: "bat",
|
|
728
|
+
name: "Batch"
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
id: "c",
|
|
732
|
+
name: "C"
|
|
733
|
+
},
|
|
734
|
+
{
|
|
735
|
+
id: "c3",
|
|
736
|
+
name: "C3"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
id: "clojure",
|
|
740
|
+
name: "Clojure"
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
id: "cmake",
|
|
744
|
+
name: "CMake"
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
id: "cpp",
|
|
748
|
+
name: "C++"
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
id: "csharp",
|
|
752
|
+
name: "C#"
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
id: "css",
|
|
756
|
+
name: "CSS"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
id: "cuda",
|
|
760
|
+
name: "CUDA"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
id: "dart",
|
|
764
|
+
name: "Dart"
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
id: "diff",
|
|
768
|
+
name: "Diff"
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
id: "docker",
|
|
772
|
+
name: "Dockerfile"
|
|
773
|
+
},
|
|
774
|
+
{
|
|
775
|
+
id: "elixir",
|
|
776
|
+
name: "Elixir"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
id: "elm",
|
|
780
|
+
name: "Elm"
|
|
781
|
+
},
|
|
782
|
+
{
|
|
783
|
+
id: "erlang",
|
|
784
|
+
name: "Erlang"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
id: "fortran-fixed-form",
|
|
788
|
+
name: "Fortran (Fixed Form)"
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
id: "fortran-free-form",
|
|
792
|
+
name: "Fortran (Free Form)"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
id: "fsharp",
|
|
796
|
+
name: "F#"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
id: "gdresource",
|
|
800
|
+
name: "GDResource"
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
id: "gdscript",
|
|
804
|
+
name: "GDScript"
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
id: "gdshader",
|
|
808
|
+
name: "GDShader"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
id: "gleam",
|
|
812
|
+
name: "Gleam"
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
id: "glsl",
|
|
816
|
+
name: "GLSL"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
id: "go",
|
|
820
|
+
name: "Go"
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
id: "graphql",
|
|
824
|
+
name: "GraphQL"
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
id: "groovy",
|
|
828
|
+
name: "Groovy"
|
|
829
|
+
},
|
|
830
|
+
{
|
|
831
|
+
id: "haskell",
|
|
832
|
+
name: "Haskell"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
id: "hlsl",
|
|
836
|
+
name: "HLSL"
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
id: "html",
|
|
840
|
+
name: "HTML"
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
id: "java",
|
|
844
|
+
name: "Java"
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
id: "javascript",
|
|
848
|
+
name: "JavaScript"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
id: "json",
|
|
852
|
+
name: "JSON"
|
|
853
|
+
},
|
|
854
|
+
{
|
|
855
|
+
id: "json5",
|
|
856
|
+
name: "JSON5"
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
id: "jsonl",
|
|
860
|
+
name: "JSON Lines"
|
|
861
|
+
},
|
|
862
|
+
{
|
|
863
|
+
id: "jsx",
|
|
864
|
+
name: "JSX"
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
id: "julia",
|
|
868
|
+
name: "Julia"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
id: "kotlin",
|
|
872
|
+
name: "Kotlin"
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
id: "latex",
|
|
876
|
+
name: "LaTeX"
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
id: "less",
|
|
880
|
+
name: "Less"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
id: "lisp",
|
|
884
|
+
name: "Lisp"
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
id: "lua",
|
|
888
|
+
name: "Lua"
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
id: "make",
|
|
892
|
+
name: "Makefile"
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
id: "markdown",
|
|
896
|
+
name: "Markdown"
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
id: "matlab",
|
|
900
|
+
name: "MATLAB"
|
|
901
|
+
},
|
|
902
|
+
{
|
|
903
|
+
id: "mdx",
|
|
904
|
+
name: "MDX"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
id: "nim",
|
|
908
|
+
name: "Nim"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
id: "nix",
|
|
912
|
+
name: "Nix"
|
|
913
|
+
},
|
|
914
|
+
{
|
|
915
|
+
id: "objective-c",
|
|
916
|
+
name: "Objective-C"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
id: "ocaml",
|
|
920
|
+
name: "OCaml"
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
id: "pascal",
|
|
924
|
+
name: "Pascal"
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
id: "perl",
|
|
928
|
+
name: "Perl"
|
|
929
|
+
},
|
|
930
|
+
{
|
|
931
|
+
id: "php",
|
|
932
|
+
name: "PHP"
|
|
933
|
+
},
|
|
934
|
+
{
|
|
935
|
+
id: "powershell",
|
|
936
|
+
name: "PowerShell"
|
|
937
|
+
},
|
|
938
|
+
{
|
|
939
|
+
id: "proto",
|
|
940
|
+
name: "Protocol Buffer"
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
id: "python",
|
|
944
|
+
name: "Python"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
id: "r",
|
|
948
|
+
name: "R"
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
id: "ruby",
|
|
952
|
+
name: "Ruby"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
id: "rust",
|
|
956
|
+
name: "Rust"
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
id: "sass",
|
|
960
|
+
name: "Sass"
|
|
961
|
+
},
|
|
962
|
+
{
|
|
963
|
+
id: "scala",
|
|
964
|
+
name: "Scala"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
id: "scss",
|
|
968
|
+
name: "SCSS"
|
|
969
|
+
},
|
|
970
|
+
{
|
|
971
|
+
id: "shellscript",
|
|
972
|
+
name: "Shell"
|
|
973
|
+
},
|
|
974
|
+
{
|
|
975
|
+
id: "solidity",
|
|
976
|
+
name: "Solidity"
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
id: "sql",
|
|
980
|
+
name: "SQL"
|
|
981
|
+
},
|
|
982
|
+
{
|
|
983
|
+
id: "svelte",
|
|
984
|
+
name: "Svelte"
|
|
985
|
+
},
|
|
986
|
+
{
|
|
987
|
+
id: "swift",
|
|
988
|
+
name: "Swift"
|
|
989
|
+
},
|
|
990
|
+
{
|
|
991
|
+
id: "terraform",
|
|
992
|
+
name: "Terraform"
|
|
993
|
+
},
|
|
994
|
+
{
|
|
995
|
+
id: "toml",
|
|
996
|
+
name: "TOML"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
id: "tsrx",
|
|
1000
|
+
name: "TSRX"
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
id: "tsx",
|
|
1004
|
+
name: "TSX"
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
id: "typescript",
|
|
1008
|
+
name: "TypeScript"
|
|
1009
|
+
},
|
|
1010
|
+
{
|
|
1011
|
+
id: "vue",
|
|
1012
|
+
name: "Vue"
|
|
1013
|
+
},
|
|
1014
|
+
{
|
|
1015
|
+
id: "wasm",
|
|
1016
|
+
name: "WebAssembly"
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
id: "wgsl",
|
|
1020
|
+
name: "WGSL"
|
|
1021
|
+
},
|
|
1022
|
+
{
|
|
1023
|
+
id: "xml",
|
|
1024
|
+
name: "XML"
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
id: "yaml",
|
|
1028
|
+
name: "YAML"
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
id: "zig",
|
|
1032
|
+
name: "Zig"
|
|
1033
|
+
}
|
|
1034
|
+
];
|
|
1035
|
+
//#endregion
|
|
1036
|
+
//#region src/components/code-block/streamdown-plugin.ts
|
|
1037
|
+
var CACHE_LIMIT = 200;
|
|
1038
|
+
var cache = /* @__PURE__ */ new Map();
|
|
1039
|
+
var STREAMDOWN_VARIABLE_PREFIX = "--shiki-";
|
|
1040
|
+
function tokenize(code, language, isIncomplete) {
|
|
1041
|
+
const runtime = getLoadedHighlighter();
|
|
1042
|
+
if (!runtime) return null;
|
|
1043
|
+
const key = `${language}\n${code}`;
|
|
1044
|
+
const cached = cache.get(key);
|
|
1045
|
+
if (cached) return cached;
|
|
1046
|
+
const result = tokenizeCode(runtime, code, language, STREAMDOWN_VARIABLE_PREFIX);
|
|
1047
|
+
if (!isIncomplete) {
|
|
1048
|
+
cache.set(key, result);
|
|
1049
|
+
if (cache.size > CACHE_LIMIT) cache.delete(cache.keys().next().value);
|
|
647
1050
|
}
|
|
648
|
-
return
|
|
1051
|
+
return result;
|
|
649
1052
|
}
|
|
650
|
-
var
|
|
651
|
-
|
|
652
|
-
|
|
1053
|
+
var streamdownCodePlugin = {
|
|
1054
|
+
name: "shiki",
|
|
1055
|
+
type: "code-highlighter",
|
|
1056
|
+
getSupportedLanguages: () => codeLanguages.map((language) => language.id),
|
|
1057
|
+
getThemes: () => ["github-light", "github-dark"],
|
|
1058
|
+
supportsLanguage: () => true,
|
|
1059
|
+
highlight({ code, isIncomplete = false, language }, callback) {
|
|
1060
|
+
const ready = tokenize(code, language, isIncomplete);
|
|
1061
|
+
if (ready) return ready;
|
|
1062
|
+
loadHighlighter().then(() => {
|
|
1063
|
+
const result = tokenize(code, language, isIncomplete);
|
|
1064
|
+
if (result) callback?.(result);
|
|
1065
|
+
}).catch(() => {});
|
|
1066
|
+
return null;
|
|
1067
|
+
}
|
|
653
1068
|
};
|
|
654
1069
|
//#endregion
|
|
655
1070
|
//#region src/components/code-block/index.tsx
|
|
@@ -659,16 +1074,9 @@ function CodeBlock({ chrome, className, collapsible = true, code, language, show
|
|
|
659
1074
|
useEffect(() => {
|
|
660
1075
|
let cancelled = false;
|
|
661
1076
|
setHtml(null);
|
|
662
|
-
(
|
|
663
|
-
const highlighter = await getHighlighterWithLang(normalizedLanguage);
|
|
664
|
-
if (cancelled) return;
|
|
665
|
-
const lang = highlighter.getLoadedLanguages().includes(normalizedLanguage) ? normalizedLanguage : "text";
|
|
666
|
-
const result = highlighter.codeToHtml(code, {
|
|
667
|
-
lang,
|
|
668
|
-
themes: SHIKI_DUAL_THEMES
|
|
669
|
-
});
|
|
1077
|
+
highlightCode(code, normalizedLanguage).then((result) => {
|
|
670
1078
|
if (!cancelled) setHtml(result);
|
|
671
|
-
})();
|
|
1079
|
+
}).catch(() => {});
|
|
672
1080
|
return () => {
|
|
673
1081
|
cancelled = true;
|
|
674
1082
|
};
|
|
@@ -2387,4 +2795,4 @@ function ViewportGate({ children, fallback, threshold = .5 }) {
|
|
|
2387
2795
|
});
|
|
2388
2796
|
}
|
|
2389
2797
|
//#endregion
|
|
2390
|
-
export { ActionBar, ActionButton, Alert, AnimatedCheckbox, AnimatedTabs, AutoResizeTextArea, Badge, CodeBlock, Collapsible, CollapsiblePanel, CollapsibleTrigger, ColorPicker, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxList, ComboboxTrigger, Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogStackProvider, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, Popover, PopoverArrow, PopoverClose, PopoverDescription, PopoverPanel, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverTitle, PopoverTrigger, PortalThemeProvider, PortalThemeWrapper, QuoteAttributionPlugin, ScrollArea, SegmentedControl, Select, SelectContent, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Spinner, StatusDot, TooltipContent, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipRoot, TooltipTrigger, ViewportGate, createTooltipHandle, dismissAllDialogs, dismissDialog, dismissTopDialog, getActionButtonClassName, presentDialog, usePopover, usePortalTheme };
|
|
2798
|
+
export { ActionBar, ActionButton, Alert, AnimatedCheckbox, AnimatedTabs, AutoResizeTextArea, Badge, CodeBlock, Collapsible, CollapsiblePanel, CollapsibleTrigger, ColorPicker, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxList, ComboboxTrigger, Dialog, DialogBackdrop, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogStackProvider, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, Popover, PopoverArrow, PopoverClose, PopoverDescription, PopoverPanel, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverTitle, PopoverTrigger, PortalThemeProvider, PortalThemeWrapper, QuoteAttributionPlugin, ScrollArea, SegmentedControl, Select, SelectContent, SelectGroup, SelectGroupLabel, SelectItem, SelectSeparator, SelectTrigger, SelectValue, Spinner, StatusDot, TooltipContent, TooltipPopup, TooltipPortal, TooltipPositioner, TooltipProvider, TooltipRoot, TooltipTrigger, ViewportGate, codeLanguages, createTooltipHandle, dismissAllDialogs, dismissDialog, dismissTopDialog, getActionButtonClassName, highlightCode, presentDialog, streamdownCodePlugin, usePopover, usePortalTheme };
|
package/dist/rich-editor-ui.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
:root{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006}._4yrh350{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh351{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.5em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.85;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh352{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:none;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:2px;--rc-space-sm:4px;--rc-space-md:10px;--rc-space-lg:16px;--rc-space-xl:20px;--rc-flow-paragraph:.6em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:14px;--rc-font-size-small:12px;--rc-font-size-code:.9286em;--rc-font-size-caption:.9286em;--rc-line-height:1.6;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}._4yrh353{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:none;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.75em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:15px;--rc-font-size-small:13px;--rc-font-size-code:.8667em;--rc-font-size-caption:.8667em;--rc-line-height:1.65;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}.dark ._4yrh350,[data-theme=dark] ._4yrh350,.dark._4yrh350,[data-theme=dark]._4yrh350,.dark ._4yrh351,[data-theme=dark] ._4yrh351,.dark._4yrh351,[data-theme=dark]._4yrh351,.dark ._4yrh352,[data-theme=dark] ._4yrh352,.dark._4yrh352,[data-theme=dark]._4yrh352,.dark ._4yrh353,[data-theme=dark] ._4yrh353,.dark._4yrh353,[data-theme=dark]._4yrh353{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006}._73ej2i0{justify-content:flex-end;align-items:center;gap:4px;display:flex}._73ej2i1{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;transition:color .15s,background-color .15s;display:inline-flex}._73ej2i1:focus-visible{box-shadow:0 0 0 2px var(--rc-accent-light)}._73ej2i1:disabled{opacity:.45;cursor:not-allowed}._73ej2i2{color:inherit}._73ej2i2:hover:not(:disabled){background-color:var(--rc-fill-secondary)}._73ej2i3{background-color:var(--rc-text);color:var(--rc-bg);transition:background-color .15s,border-color .15s,color .15s}._73ej2i3:hover:not(:disabled){background-color:color-mix(in srgb, var(--rc-text) 86%, transparent)}._73ej2i4{background:var(--rc-bg);color:var(--rc-text-secondary);border:1px solid var(--rc-border);transition:background-color .15s,border-color .15s,color .15s}._73ej2i4:hover:not(:disabled){background:var(--rc-fill-secondary);color:var(--rc-text)}._73ej2i5{background-color:var(--rc-accent);color:#fff}._73ej2i5:hover:not(:disabled){filter:brightness(.9)}._73ej2i5:disabled{opacity:.5;cursor:default;pointer-events:none}._73ej2i6{font-size:var(--rc-font-size-sm);border-radius:var(--rc-radius-sm);white-space:nowrap;gap:6px;height:24px;padding:4px 8px;font-weight:500}._73ej2i7{font-size:var(--rc-font-size-sm);border-radius:var(--rc-radius-md);white-space:nowrap;gap:6px;height:28px;padding:4px 10px;font-weight:500;line-height:1.4}._73ej2i8{font-size:var(--rc-font-size-small);border-radius:var(--rc-radius-md);white-space:nowrap;gap:8px;height:36px;padding:0 14px;font-weight:600}._73ej2ib{margin-left:auto}._73ej2ih{font-size:var(--rc-font-size-small);width:24px;height:24px;color:color-mix(in srgb, var(--rc-text-secondary) 60%, transparent);gap:0;padding:0}._73ej2ih:hover:not(:disabled){color:var(--rc-text);background-color:var(--rc-fill-secondary)}._73ej2ih:disabled{opacity:.3;pointer-events:none}._73ej2ii{font-size:var(--rc-font-size-base);border-radius:var(--rc-radius-md);width:auto;height:auto;color:var(--rc-text-secondary);gap:0;padding:6px}._73ej2ii:hover:not(:disabled){color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 8%, transparent)}._73ej2ii:disabled{opacity:.3;cursor:default}._73ej2ii:disabled:hover{color:var(--rc-text-secondary);background:0 0}._73ej2ij{border-radius:var(--rc-radius-md);width:auto;height:auto;color:var(--rc-text-secondary);gap:0;padding:8px;font-size:20px}._73ej2ij:hover:not(:disabled){color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 8%, transparent)}._73ej2ij:disabled{opacity:.3;cursor:default}._73ej2ij:disabled:hover{color:var(--rc-text-secondary);background:0 0}._73ej2ik{border-radius:50%}._73ej2il:hover:not(:disabled){color:var(--rc-alert-caution);background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent)}.re-ui-action-btn--icon svg{width:1em;height:1em}._15r7gwx0{border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:13px;line-height:1.5;display:flex}._15r7gwx1{color:#1e40af;background-color:#3b82f60f;border-color:#3b82f63d}._15r7gwx2{color:#92400e;background-color:#f59e0b0f;border-color:#f59e0b3d}._15r7gwx3{color:#991b1b;background-color:#ef44440f;border-color:#ef44443d}._15r7gwx4{flex:1;min-width:0}._15r7gwx5{flex-shrink:0;width:16px;height:16px;margin-top:2px}._15r7gwx6{flex-shrink:0;margin-left:auto}.iryuae0{position:relative}.iryuae1{display:flex}.iryuae2{font-size:var(--rc-font-size-md);cursor:pointer;color:var(--rc-text-secondary);background:0 0;border:none;outline:none;padding:.625rem 1rem;font-weight:500;transition:color .2s;position:relative}.iryuae2:hover{color:color-mix(in srgb, currentColor 80%, transparent)}.iryuae2:focus-visible{outline:2px solid var(--rc-accent);outline-offset:2px}.iryuae3{color:var(--rc-text)}.iryuae4{background-color:var(--rc-border);height:1px;position:absolute;bottom:0;left:0;right:0}.iryuae5{background-color:var(--rc-text);height:2px;transition:left .3s ease-in-out,width .3s ease-in-out;position:absolute;bottom:0}._1b25hgb0{resize:none;border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);background:var(--rc-bg);width:100%;color:var(--rc-text);outline:none;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.5;overflow:hidden}._1b25hgb0:focus{border-color:var(--rc-text-quaternary)}._1b25hgb0::placeholder{color:var(--rc-text-quaternary)}._1b25hgb1{overflow-y:auto}._1vt0sm10{white-space:nowrap;border-radius:9999px;align-items:center;font-weight:500;line-height:1;display:inline-flex}._1vt0sm11{background-color:var(--rc-fill-tertiary);color:var(--rc-text-tertiary)}._1vt0sm12{color:#16a34a;background-color:#22c55e1a}._1vt0sm13{color:#dc2626;background-color:#ef44441a}._1vt0sm14{color:#d97706;background-color:#f59e0b1a}._1vt0sm15{color:#2563eb;background-color:#3b82f61a}._1vt0sm16{gap:3px;padding:2px 6px;font-size:11px}._1vt0sm17{gap:4px;padding:3px 8px;font-size:12px}@keyframes _10muorc0{0%{transform:scale(1)}40%{transform:scale(.85)}to{transform:scale(1)}}@keyframes _10muorc1{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--rc-accent) 40%, transparent)}to{box-shadow:0 0 0 6px #0000}}._10muorc2{text-align:left;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:.25rem;display:inline-flex}._10muorc2:focus-visible{outline:2px solid var(--rc-accent);outline-offset:2px}._10muorc3{cursor:not-allowed;opacity:.5}._10muorc4{box-sizing:border-box;border-style:solid;border-width:2px;border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}._10muorc5{border-color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent);background-color:#0000}._10muorc6{border-color:var(--rc-accent);background-color:var(--rc-accent)}._10muorc7{animation:.4s ease-out _10muorc0}._10muorc8{width:.75rem;height:.75rem;transition:all .3s cubic-bezier(.34,1.56,.64,1)}._10muorc9{opacity:1;transform:scale(1)}._10muorca{opacity:0;transform:scale(.5)}._10muorcb{pointer-events:none;border-radius:.3rem;position:absolute;top:0;bottom:0;left:0;right:0}._10muorcc{animation:.4s ease-out _10muorc1}._10muorcd{flex-direction:column;gap:.125rem;display:flex}._10muorce{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:500;line-height:1.25;transition:color .2s}._10muorcf{color:var(--rc-text-secondary)}._10muorcg{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);line-height:1.25}._1gq8hf90{margin:var(--rc-flow-block) 0;border-radius:var(--rc-radius-md);background-color:var(--rc-code-bg);color:var(--rc-text);font-size:var(--rc-font-size-code);font-family:var(--rc-font-mono);line-height:var(--rc-line-height-code);position:relative;overflow:hidden}._1gq8hf90[data-chrome=bar]{border:1px solid var(--rc-border)}._1gq8hf91{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.75rem;font-size:12px;line-height:1;display:flex}._1gq8hf90[data-chrome=bar] ._1gq8hf91{background-color:var(--rc-code-header-bg);border-bottom:1px solid var(--rc-border);height:36px;padding:0 6px 0 14px}._1gq8hf90[data-chrome=compact] ._1gq8hf91{z-index:2;position:absolute;top:6px;right:6px}._1gq8hf92{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}._1gq8hf90[data-chrome=compact] ._1gq8hf92{font-family:var(--rc-font-mono);padding:4px;font-size:11px}._1gq8hf93{border-radius:3px;flex-shrink:0;width:10px;height:10px}._1gq8hf90[data-chrome=compact] ._1gq8hf93{display:none}._1gq8hf94{-webkit-appearance:none;appearance:none;color:var(--rc-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;transition:color .15s,background-color .15s,opacity .15s;display:inline-flex}._1gq8hf94:hover{color:var(--rc-text);background-color:var(--rc-fill)}._1gq8hf90[data-chrome=compact] ._1gq8hf94{background-color:var(--rc-fill);color:var(--rc-text)}._1gq8hf95{padding:0;position:relative}._1gq8hf96{padding-block-start:12px;padding-block-end:12px}._1gq8hf97{width:100%;position:relative;overflow:auto}._1gq8hf98{max-height:50vh;overflow:hidden}._1gq8hf99{background:linear-gradient(to bottom, transparent, var(--rc-code-bg));pointer-events:none;height:56px;position:absolute;bottom:0;left:0;right:0}._1gq8hf9a{-webkit-appearance:none;appearance:none;border:none;border-top:1px solid var(--rc-border);background:var(--rc-code-bg);width:100%;height:32px;color:var(--rc-text-tertiary);font-family:var(--rc-font-family-sans);cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}._1gq8hf9a:hover{color:var(--rc-text)}._1gq8hf9b{counter-reset:shiki-line 0}._1gq8hf9b .line{counter-increment:shiki-line 1}._1gq8hf9b .line:before{content:counter(shiki-line);color:#0000;text-align:right;box-sizing:content-box;min-width:calc(var(--rc-ln-digits,2) * 1ch);display:inline-block;position:sticky;left:0}._1gq8hf9c code{width:max-content;min-width:100%}._1gq8hf90 ._1gq8hf9c .line{padding-left:0}._1gq8hf9c .line:before{color:var(--rc-text-quaternary);background-color:var(--rc-code-bg);z-index:1;padding-left:16px;padding-right:16px}._1gq8hf90 pre{border-radius:0;font-size:1em;overflow-x:auto;margin:0!important;padding:0!important}._1gq8hf90 pre code{line-height:inherit;flex-direction:column;display:flex;font-family:var(--rc-font-mono)!important}._1gq8hf90 .shiki,._1gq8hf90 code,._1gq8hf90 pre{line-height:inherit;background:0 0!important}[data-theme=dark] ._1gq8hf90 .shiki-themes,[data-theme=dark] ._1gq8hf90 .shiki-themes span{color:var(--shiki-dark)!important;font-style:var(--shiki-dark-font-style)!important;font-weight:var(--shiki-dark-font-weight)!important;-webkit-text-decoration:var(--shiki-dark-text-decoration)!important;text-decoration:var(--shiki-dark-text-decoration)!important}._1gq8hf90 .line{padding:0 16px;display:block}._1gq8hf90[data-chrome=compact] .line{padding-right:3em}._1gq8hf90 .line>span:last-child{margin-right:16px}._1gq8hf90 .line:after{content:" "}@media (hover:hover){._1gq8hf90[data-chrome=compact] ._1gq8hf94{opacity:0;position:absolute;top:0;right:0}._1gq8hf90[data-chrome=compact]:hover ._1gq8hf94{opacity:1}._1gq8hf90[data-chrome=compact] ._1gq8hf94:focus-visible{opacity:1}._1gq8hf90[data-chrome=compact]:hover ._1gq8hf92{visibility:hidden}._1gq8hf90[data-chrome=compact]:has(._1gq8hf94:focus-visible) ._1gq8hf92{visibility:hidden}}._1hdi6a90{cursor:pointer;color:var(--rc-text-tertiary);font-size:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:0;font-family:inherit;display:flex}._1hdi6a90:hover{color:var(--rc-text-secondary)}._1hdi6a91{flex-shrink:0;width:14px;height:14px;transition:transform .2s}[data-panel-open] ._1hdi6a91{transform:rotate(90deg)}._1hdi6a92{interpolate-size:allow-keywords;height:var(--collapsible-panel-height);transition:height .2s cubic-bezier(.4,0,.2,1);overflow:hidden}._1hdi6a92[data-closed],._1hdi6a92[data-starting-style],._1hdi6a92[data-ending-style]{height:0}@keyframes f2q44l0{0%{opacity:0;transform:translateY(2px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes f2q44l1{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(2px)scale(.96)}}.f2q44l2{z-index:50;border:1px solid var(--rc-border);background-color:var(--rc-bg);width:288px;box-shadow:var(--rc-shadow-modal);font-family:var(--rc-font-family-sans);border-radius:.5rem;outline:none;padding:1rem;transition:opacity .15s ease-out,transform .15s ease-out}.f2q44l2[data-open]{animation:.15s ease-out f2q44l0}.f2q44l2[data-ending-style]{opacity:0;transform:translateY(2px)scale(.96)}.f2q44l2[data-closed]{animation:.15s ease-in f2q44l1}.f2q44l3{transform-origin:50%;width:10px;height:10px}.f2q44l3>polygon{fill:var(--rc-bg)}.f2q44l3>polyline{stroke:var(--rc-border);fill:none}.f2q44l4{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:600;line-height:1}.f2q44l5{font-size:var(--rc-font-size-md);color:var(--rc-text-secondary);margin-top:.25rem;line-height:1.25rem}@keyframes _17r50hf0{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}._17r50hf1{cursor:pointer;height:32px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:8px;align-items:center;gap:2px;padding:0 6px;transition:color .1s,background-color .1s;display:flex}._17r50hf1:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._17r50hf2{flex-direction:column;align-items:center;display:flex}._17r50hf3{font-size:var(--rc-font-size-xs);font-weight:600;line-height:1}._17r50hf4{border-radius:1px;width:14px;height:2px;margin-top:2px}._17r50hf5{width:12px;height:12px;transition:transform .15s}._17r50hf6{width:220px;padding:8px}._17r50hf6[data-open]{animation:.12s ease-out _17r50hf0}._17r50hf7{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}._17r50hf8{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background-color .1s;display:flex;position:relative}._17r50hf8:hover{background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._17r50hf9{border:1px solid color-mix(in srgb, var(--rc-text) 10%, transparent);border-radius:50%;width:16px;height:16px}._17r50hfa{width:10px;height:10px;color:var(--rc-bg);position:absolute}._17r50hfb{color:#fff;background:conic-gradient(#ef4444,#f59e0b,#22c55e,#3b82f6,#6366f1,#ec4899,#ef4444);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex}._17r50hfc{stroke-width:3px;width:10px;height:10px}._17r50hfd{flex-direction:column;gap:8px;display:flex}._17r50hfe{cursor:pointer;font-size:var(--rc-font-size-xs);color:var(--rc-text-tertiary);background:0 0;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:4px;margin-bottom:2px;padding:2px 6px;transition:color .1s,background-color .1s;display:flex}._17r50hfe:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._17r50hff{width:12px;height:12px}._17r50hfg{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;width:100%;height:140px;position:relative;overflow:hidden}._17r50hfh{pointer-events:none;background:linear-gradient(90deg,#fff,#0000);position:absolute;top:0;bottom:0;left:0;right:0}._17r50hfi{pointer-events:none;background:linear-gradient(#0000,#000);position:absolute;top:0;bottom:0;left:0;right:0}._17r50hfj{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d}._17r50hfk{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:5px;width:100%;height:10px;position:relative}._17r50hfl{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 0/8px 8px;border-radius:5px;width:100%;height:10px;position:relative;overflow:hidden}._17r50hfm{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}._17r50hfn{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d}._17r50hfo{align-items:center;gap:4px;display:flex}._17r50hfp{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--rc-font-size-xs);border:1px solid var(--rc-border);background:var(--rc-bg-secondary);color:var(--rc-text);text-transform:uppercase;border-radius:6px;outline:none;flex:1;padding:4px 6px}._17r50hfp:focus{border-color:var(--rc-accent)}._17r50hfq,._17r50hfq:focus{border-color:#ef4444}._17r50hfr{border:1px solid var(--rc-border);background:var(--rc-bg);width:24px;height:24px;color:var(--rc-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .1s,color .1s;display:flex}._17r50hfr:hover{color:var(--rc-text);background-color:var(--rc-fill-tertiary)}._17r50hfs{width:12px;height:12px}._17r50hft{border:1px solid var(--rc-border);background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 0/6px 6px;border-radius:6px;width:40px;height:24px;display:flex;overflow:hidden}._17r50hfu{flex:1}._17r50hfv{gap:6px;margin-top:2px;display:flex}._17r50hfw{height:28px;font-size:var(--rc-font-size-xs);border:1px solid var(--rc-border);background:var(--rc-bg);color:var(--rc-text);cursor:pointer;border-radius:6px;flex:1;transition:background-color .1s}._17r50hfw:hover{background-color:var(--rc-fill-tertiary)}._17r50hfx{background:var(--rc-text);color:var(--rc-bg);border-color:var(--rc-text)}._17r50hfx:hover{background-color:color-mix(in srgb, var(--rc-text) 85%, transparent)}@keyframes _1sxaacb0{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes _1sxaacb1{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}._1sxaacb2{background-color:var(--rc-hr-border);height:1px;margin:.25rem -.25rem}._1sxaacb3{font-size:var(--rc-font-size-xs);color:var(--rc-text-tertiary);padding:.25rem .375rem;font-weight:500;line-height:1.4}._2buwsh0{border-radius:var(--rc-radius-lg);min-width:8rem;padding:var(--rc-space-xs);background-color:var(--rc-bg);box-shadow:0 0 0 1px color-mix(in srgb, var(--rc-text) 10%, transparent), var(--rc-shadow-menu);color:var(--rc-text);font-family:var(--rc-font-family-sans);font-size:var(--rc-font-size-small);z-index:50;max-height:min(var(--available-height), 16rem);transform-origin:var(--transform-origin);outline:none;transition:opacity .1s ease-out,transform .1s ease-out;overflow:hidden auto}._2buwsh0[data-open]{animation:.1s ease-out _1sxaacb0}._2buwsh0[data-starting-style],._2buwsh0[data-ending-style]{opacity:0;transform:scale(.95)}._2buwsh0[data-closed]{animation:.1s ease-in _1sxaacb1;overflow:hidden}._2buwsh1{border-radius:var(--rc-radius-md);padding:var(--rc-space-xs) var(--rc-space-md) var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-small);-webkit-user-select:none;user-select:none;cursor:default;color:var(--rc-text);outline:none;align-items:center;gap:.375rem;line-height:1.35;transition:background-color .1s,color .1s;display:flex;position:relative}._2buwsh1[data-highlighted]{background-color:var(--rc-fill-secondary);color:var(--rc-text)}._2buwsh1[data-disabled]{opacity:.5;pointer-events:none}._2buwsh1 svg{pointer-events:none;width:1rem;height:1rem;color:var(--rc-text-secondary);flex-shrink:0;transition:color .1s}._2buwsh1[data-highlighted] svg{color:var(--rc-text)}._2buwsh2{font-size:var(--rc-font-size-small);color:var(--rc-text-secondary);text-align:center}@keyframes vwlngv0{0%{opacity:0}to{opacity:1}}@keyframes vwlngv1{0%{opacity:1}to{opacity:0}}@keyframes vwlngv2{0%{opacity:0;transform:translate(-50%,-48%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes vwlngv3{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-48%)scale(.95)}}@keyframes vwlngvd{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes vwlngve{0%{transform:translateY(0)}to{transform:translateY(100%)}}.vwlngv4{z-index:50;background-color:#000c;position:fixed;top:0;bottom:0;left:0;right:0}.vwlngv4[data-open]{animation:.25s ease-out vwlngv0}.vwlngv4[data-closed]{animation:.2s ease-in vwlngv1}.vwlngv5{z-index:50;border-radius:var(--rc-radius-lg);border:1px solid var(--rc-border);width:100%;max-width:calc(100% - 2rem);font-family:var(--rc-font-family-sans);color:var(--rc-text);background-color:var(--rc-bg);box-shadow:var(--rc-shadow-modal);outline:none;gap:0;padding:0;line-height:1.43;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.vwlngv5[data-open]{animation:.15s ease-out vwlngv2}.vwlngv5[data-closed]{animation:.1s ease-in vwlngv3}.vwlngv6{cursor:pointer;opacity:.7;width:24px;height:24px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;transition:opacity .2s,color .2s;display:inline-flex;position:absolute;top:1.25rem;right:1.5rem}.vwlngv6:hover{opacity:1;color:var(--rc-text)}.vwlngv6:focus-visible{box-shadow:0 0 0 2px var(--rc-bg), 0 0 0 4px var(--rc-text-secondary);outline:none}.vwlngv6:disabled{pointer-events:none;opacity:.5}.vwlngv6 svg{pointer-events:none;flex-shrink:0;width:16px;height:16px}.vwlngv7{align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem .75rem;display:flex}.vwlngv8{text-align:center;flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.vwlngv9{cursor:pointer;opacity:.7;width:24px;height:24px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s,color .2s;display:inline-flex}.vwlngv9:hover{opacity:1;color:var(--rc-text)}.vwlngv9:focus-visible{box-shadow:0 0 0 2px var(--rc-bg), 0 0 0 4px var(--rc-text-secondary);outline:none}.vwlngv9 svg{pointer-events:none;flex-shrink:0;width:16px;height:16px}.vwlngva{flex-direction:column-reverse;gap:.5rem;padding:.75rem 1.5rem 1.25rem;display:flex}.vwlngvb{font-family:var(--rc-font-family);letter-spacing:-.015em;color:var(--rc-text);font-size:1.125em;font-weight:600;line-height:1.33}.vwlngvc{font-family:var(--rc-font-family);font-size:var(--rc-font-size-md);color:var(--rc-text-secondary);line-height:1.43}.vwlngvf{z-index:50;background-color:#00000080;transition:opacity .2s;position:fixed;top:0;bottom:0;left:0;right:0}.vwlngvg{z-index:50;background-color:var(--rc-bg);max-height:85vh;color:var(--rc-text);font-family:var(--rc-font-family-sans);will-change:transform;border-top-left-radius:12px;border-top-right-radius:12px;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000026}.vwlngvg[data-open]{animation:.3s cubic-bezier(.32,.72,0,1) vwlngvd}.vwlngvg[data-closed]{animation:.2s ease-in vwlngve}.vwlngvh{cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;padding:12px 0 4px;display:flex}.vwlngvh:active{cursor:grabbing}.vwlngvi{background-color:var(--rc-text-tertiary);opacity:.5;border-radius:2px;width:36px;height:4px}.vwlngvj{-webkit-overflow-scrolling:touch;flex:1;padding:0 1.5rem 1.5rem;overflow:hidden auto}.vwlngvk{text-align:center;flex-direction:column;gap:.375rem;padding:0 1.5rem .5rem;display:flex}@media (min-width:640px){.vwlngv5{max-width:28rem}.vwlngv8{text-align:left}.vwlngva{flex-direction:row;justify-content:flex-end}}.oih0op0{border-radius:var(--rc-radius-lg);min-width:8rem;padding:var(--rc-space-xs);background-color:var(--rc-bg);box-shadow:0 0 0 1px color-mix(in srgb, var(--rc-text) 10%, transparent), var(--rc-shadow-menu);color:var(--rc-text);font-family:var(--rc-font-family-sans);font-size:var(--rc-font-size-small);z-index:50;max-height:var(--available-height);transform-origin:var(--transform-origin);outline:none;max-width:min(20rem,100vw - .75rem);transition:opacity .1s ease-out,transform .1s ease-out;overflow:hidden auto}.oih0op0[data-open]{animation:.1s ease-out _1sxaacb0}.oih0op0[data-starting-style],.oih0op0[data-ending-style]{opacity:0;transform:scale(.95)}.oih0op0[data-closed]{animation:.1s ease-in _1sxaacb1;overflow:hidden}.oih0op1{z-index:50;isolation:isolate;outline:none}.oih0op1[data-side=bottom]{transform:translateY(2px)}.oih0op1[data-side=top]{transform:translateY(-2px)}.oih0op1[data-side=left]{transform:translate(-2px)}.oih0op1[data-side=right]{transform:translate(2px)}.oih0op2{border-radius:var(--rc-radius-md);padding:var(--rc-space-xs) var(--rc-space-md) var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-small);-webkit-user-select:none;user-select:none;cursor:default;color:var(--rc-text);outline:none;align-items:center;gap:.375rem;line-height:1.35;transition:background-color .1s,color .1s;display:flex;position:relative}.oih0op2[data-highlighted]{background-color:var(--rc-fill-secondary);color:var(--rc-text)}.oih0op2[data-disabled]{opacity:.5;pointer-events:none}.oih0op2 svg{pointer-events:none;width:1rem;height:1rem;color:var(--rc-text-secondary);flex-shrink:0;transition:color .1s}.oih0op2[data-highlighted] svg{color:var(--rc-text)}.oih0op3{padding-right:2rem}.oih0op4,.oih0op5{pointer-events:none;width:1rem;height:1rem;color:var(--rc-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:.5rem}._1dj5lvb0{z-index:50;pointer-events:none;position:fixed}._1dj5lvb1{pointer-events:auto;justify-content:flex-start;max-width:60%;display:flex;position:absolute;bottom:4px;left:18px}._1dj5lvb2{-webkit-appearance:none;appearance:none;text-align:start;width:100%;min-width:0;font-style:normal;font-family:var(--rc-font-family);color:var(--rc-text-tertiary);background:0 0;border:none;border-bottom:1px dotted #0000;border-radius:0;outline:none;margin:0;padding:0 2px;font-size:13px;transition:border-color .12s,background-color .12s}._1dj5lvb2::placeholder{color:var(--rc-text-quaternary)}._1dj5lvb2:hover{border-bottom-color:var(--rc-text-quaternary)}._1dj5lvb2:focus{border-bottom-color:var(--rc-text-tertiary)}._1y5k2ih0{scrollbar-width:thin;scrollbar-color:#00000026 transparent;overflow:auto}._1y5k2ih0::-webkit-scrollbar{width:6px}._1y5k2ih0::-webkit-scrollbar-track{background:0 0}._1y5k2ih0::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}._6d8tz20{background-color:var(--rc-bg-tertiary);border-radius:.5rem;align-items:center;padding:.25rem;display:inline-flex;position:relative}._6d8tz21{height:2rem;font-size:var(--rc-font-size-xs)}._6d8tz22{height:2.5rem;font-size:var(--rc-font-size-md)}._6d8tz23{width:100%}._6d8tz25{background-color:var(--rc-bg);pointer-events:none;border-radius:.375rem;transition:all .3s cubic-bezier(.25,1,.5,1);position:absolute;top:.25rem;bottom:.25rem;box-shadow:0 1px 2px #0000000d}._6d8tz27{opacity:0}._6d8tz28{z-index:10;white-space:nowrap;cursor:pointer;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.375rem;outline:none;justify-content:center;align-items:center;font-weight:500;transition:color .2s;display:flex;position:relative}._6d8tz28:focus-visible{outline:2px solid var(--rc-accent);outline-offset:1px}._6d8tz29{padding:0 .75rem}._6d8tz2a{padding:0 1rem}._6d8tz2b{color:var(--rc-text)}._6d8tz2d{pointer-events:none;opacity:.4}._6d8tz2f{flex:1}@keyframes p74a620{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes p74a621{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.p74a622{height:36px;font-size:var(--rc-font-size-small);line-height:1.35;font-family:var(--rc-font-family-sans);border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);color:var(--rc-text);cursor:pointer;white-space:nowrap;background:0 0;outline:none;justify-content:space-between;align-items:center;gap:6px;padding:8px 8px 8px 10px;transition:color .15s,box-shadow .15s,border-color .15s;display:inline-flex;box-shadow:0 1px 2px #0000000d}.p74a622:hover{background:var(--rc-fill-quaternary)}.p74a622:focus-visible{border-color:var(--rc-accent);box-shadow:0 0 0 3px var(--rc-accent-light)}.p74a622[data-popup-open]{background:var(--rc-fill-quaternary)}.p74a622[data-disabled]{opacity:.5;cursor:not-allowed}.p74a623{width:16px;height:16px;color:var(--rc-text-tertiary);pointer-events:none;flex-shrink:0}.p74a624{z-index:50;isolation:isolate;outline:none}.p74a625{background:var(--rc-bg);color:var(--rc-text);font-family:var(--rc-font-family-sans);font-size:var(--rc-font-size-small);border-radius:var(--rc-radius-md);box-shadow:0 0 0 1px color-mix(in srgb, var(--rc-text) 10%, transparent), var(--rc-shadow-menu);width:min(var(--anchor-width), calc(100vw - .75rem));max-width:calc(100vw - .75rem);max-height:var(--available-height);transform-origin:var(--transform-origin);outline:none;transition:opacity .1s ease-out,transform .1s ease-out;overflow:hidden auto}.p74a625[data-open]{animation:.1s ease-out p74a620}.p74a625[data-starting-style],.p74a625[data-ending-style]{opacity:0;transform:scale(.95)}.p74a625[data-closed]{animation:.1s ease-in p74a621;overflow:hidden}.p74a626{padding:4px}.p74a626+.p74a626{border-top:1px solid var(--rc-hr-border)}.p74a627{border-radius:var(--rc-radius-sm);font-size:var(--rc-font-size-small);-webkit-user-select:none;user-select:none;cursor:default;color:var(--rc-text);outline:none;align-items:center;gap:8px;padding:6px 32px 6px 8px;line-height:1.35;transition:background-color .1s,color .1s;display:flex;position:relative}.p74a627[data-highlighted]{background-color:var(--rc-fill-secondary);color:var(--rc-text)}.p74a627[data-disabled]{opacity:.5;pointer-events:none}.p74a627 svg{pointer-events:none;flex-shrink:0;width:16px;height:16px}.p74a628{pointer-events:none;width:16px;height:16px;color:var(--rc-text-secondary);justify-content:center;align-items:center;display:flex;position:absolute;right:8px}.p74a627[data-highlighted] .p74a628{color:var(--rc-text)}.p74a629{font-size:var(--rc-font-size-xs);color:var(--rc-text-tertiary);padding:6px 8px;font-weight:500;line-height:1.4}.p74a62a{background-color:var(--rc-hr-border);height:1px;margin:4px -4px}.p74a62b{cursor:default;width:100%;color:var(--rc-text-tertiary);background:var(--rc-bg);z-index:10;justify-content:center;align-items:center;padding:4px 0;display:flex}.p74a62b svg{width:16px;height:16px}@keyframes _131cfek0{to{transform:rotate(360deg)}}._131cfek1{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;animation:.6s linear infinite _131cfek0;display:inline-block}._131cfek2{width:14px;height:14px}._131cfek3{width:20px;height:20px}@keyframes _73cmpa0{0%{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(1.8)}to{opacity:0;transform:scale(1.8)}}._73cmpa1{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}._73cmpa2{border-radius:50%;flex-shrink:0}._73cmpa3{background-color:#a3a3a3}._73cmpa4{background-color:#3b82f6}._73cmpa5{background-color:#22c55e}._73cmpa6{background-color:#ef4444}._73cmpa7{background-color:#f59e0b}._73cmpa8{width:8px;height:8px}._73cmpa9{width:12px;height:12px}._73cmpaa{border-radius:50%;animation:1.5s ease-in-out infinite _73cmpa0;position:absolute}._73cmpab{background-color:#a3a3a3}._73cmpac{background-color:#3b82f6}._73cmpad{background-color:#22c55e}._73cmpae{background-color:#ef4444}._73cmpaf{background-color:#f59e0b}._73cmpag{width:8px;height:8px}._73cmpah{width:12px;height:12px}@keyframes _1cspf2m0{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes _1cspf2m1{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(2px)}}._1cspf2m2{z-index:50;outline:none}._1cspf2m3{max-width:320px;padding:var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-xs);color:var(--rc-text);background-color:var(--rc-bg);border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);box-shadow:var(--rc-shadow-menu);white-space:normal;word-break:break-word;pointer-events:none;outline:none;line-height:1.4;transition:opacity .12s ease-out,transform .12s ease-out}._1cspf2m3[data-open]{animation:.12s ease-out _1cspf2m0}._1cspf2m3[data-ending-style]{opacity:0;transform:translateY(2px)}._1cspf2m3[data-closed]{animation:.12s ease-in _1cspf2m1}
|
|
1
|
+
:root{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006}._4yrh350{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:1.25em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.75;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh351{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#f5f5f5;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:700px;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.5em;--rc-flow-list:.375em;--rc-flow-block:2em;--rc-flow-heading:2em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:16px;--rc-font-size-small:14px;--rc-font-size-code:.8125em;--rc-font-size-caption:.8125em;--rc-line-height:1.85;--rc-line-height-tight:1.35;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh352{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:none;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:2px;--rc-space-sm:4px;--rc-space-md:10px;--rc-space-lg:16px;--rc-space-xl:20px;--rc-flow-paragraph:.6em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:14px;--rc-font-size-small:12px;--rc-font-size-code:.9286em;--rc-font-size-caption:.9286em;--rc-line-height:1.6;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:3px;--rc-radius-md:6px;--rc-radius-lg:12px}._4yrh353{--rc-text:#171717;--rc-text-secondary:#404040;--rc-text-tertiary:#737373;--rc-text-quaternary:#a3a3a3;--rc-bg:#fff;--rc-bg-secondary:#fafafa;--rc-bg-tertiary:#f5f5f5;--rc-fill:#e8e8e8;--rc-fill-secondary:#eee;--rc-fill-tertiary:#f5f5f5;--rc-fill-quaternary:#fafafa;--rc-border:#e8e8e8;--rc-border-subtle:#f0f0f0;--rc-accent:#2563eb;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-code-header-bg:#f0f0f0;--rc-hr-border:#e8e8e8;--rc-quote-border:color-mix(in oklab, var(--rc-text) 18%, transparent);--rc-quote-bg:#fafafa;--rc-alert-info:#2f6db5;--rc-alert-warning:#b7791f;--rc-alert-tip:#2f855a;--rc-alert-caution:#c53030;--rc-alert-important:#6b46c1;--rc-max-width:none;--rc-shadow-top-bar:0 8px 30px #0000001f, 0 2px 8px #0000000f;--rc-shadow-modal:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--rc-shadow-menu:0 1px 4px #0000000a, 0 4px 16px #00000014;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-flow-paragraph:.75em;--rc-flow-list:.25em;--rc-flow-block:1em;--rc-flow-heading:1em;--rc-font-family-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-font-family-serif:"Noto Serif CJK SC", "Source Han Serif SC", "Source Han Serif", "source-han-serif-sc", "Songti SC", STSong, "华文宋体", serif;--rc-font-family-kai:"楷体", KaiTi, STKaiti, "Kaiti SC", "LXGW WenKai", "霞鹜文楷", "Noto Serif CJK SC", serif;--rc-font-mono:"SF Mono", SFMono-Regular, ui-monospace, "DejaVu Sans Mono", Menlo, Consolas, "PingFang SC", "Noto Sans SC", monospace;--rc-font-size-2xs:.625em;--rc-font-size-xs:.75em;--rc-font-size-sm:.8125em;--rc-font-size-md:.875em;--rc-font-size-lg:1.25em;--rc-font-size-base:15px;--rc-font-size-small:13px;--rc-font-size-code:.8667em;--rc-font-size-caption:.8667em;--rc-line-height:1.65;--rc-line-height-tight:1.3;--rc-line-height-compact:1.6;--rc-line-height-code:1.7;--rc-font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", Roboto, Helvetica, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}.dark ._4yrh350,[data-theme=dark] ._4yrh350,.dark._4yrh350,[data-theme=dark]._4yrh350,.dark ._4yrh351,[data-theme=dark] ._4yrh351,.dark._4yrh351,[data-theme=dark]._4yrh351,.dark ._4yrh352,[data-theme=dark] ._4yrh352,.dark._4yrh352,[data-theme=dark]._4yrh352,.dark ._4yrh353,[data-theme=dark] ._4yrh353,.dark._4yrh353,[data-theme=dark]._4yrh353{--rc-text:#ededed;--rc-text-secondary:#c2c2c2;--rc-text-tertiary:#8a8a8a;--rc-text-quaternary:#525252;--rc-bg:#0a0a0a;--rc-bg-secondary:#171717;--rc-bg-tertiary:#262626;--rc-fill:#2a2a2a;--rc-fill-secondary:#222;--rc-fill-tertiary:#1a1a1a;--rc-fill-quaternary:#141414;--rc-border:#2e2e2e;--rc-border-subtle:#1f1f1f;--rc-accent:#60a5fa;--rc-accent-light:color-mix(in oklab, var(--rc-accent) 12%, transparent);--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#1a1a1a;--rc-code-header-bg:#212121;--rc-hr-border:#2e2e2e;--rc-quote-border:color-mix(in oklab, var(--rc-text) 22%, transparent);--rc-quote-bg:#262626;--rc-alert-info:#7aa7e0;--rc-alert-warning:#e0a458;--rc-alert-tip:#6cbf8f;--rc-alert-caution:#ef7d7d;--rc-alert-important:#a78bfa;--rc-shadow-top-bar:0 8px 30px #00000073, 0 2px 8px #0000004d;--rc-shadow-modal:0 10px 15px -3px #0006, 0 4px 6px -4px #00000059;--rc-shadow-menu:0 1px 4px #00000040, 0 4px 16px #0006}._73ej2i0{justify-content:flex-end;align-items:center;gap:4px;display:flex}._73ej2i1{-webkit-appearance:none;appearance:none;cursor:pointer;background:0 0;border:none;outline:none;justify-content:center;align-items:center;font-family:inherit;transition:color .15s,background-color .15s;display:inline-flex}._73ej2i1:focus-visible{box-shadow:0 0 0 2px var(--rc-accent-light)}._73ej2i1:disabled{opacity:.45;cursor:not-allowed}._73ej2i2{color:inherit}._73ej2i2:hover:not(:disabled){background-color:var(--rc-fill-secondary)}._73ej2i3{background-color:var(--rc-text);color:var(--rc-bg);transition:background-color .15s,border-color .15s,color .15s}._73ej2i3:hover:not(:disabled){background-color:color-mix(in srgb, var(--rc-text) 86%, transparent)}._73ej2i4{background:var(--rc-bg);color:var(--rc-text-secondary);border:1px solid var(--rc-border);transition:background-color .15s,border-color .15s,color .15s}._73ej2i4:hover:not(:disabled){background:var(--rc-fill-secondary);color:var(--rc-text)}._73ej2i5{background-color:var(--rc-accent);color:#fff}._73ej2i5:hover:not(:disabled){filter:brightness(.9)}._73ej2i5:disabled{opacity:.5;cursor:default;pointer-events:none}._73ej2i6{font-size:var(--rc-font-size-sm);border-radius:var(--rc-radius-sm);white-space:nowrap;gap:6px;height:24px;padding:4px 8px;font-weight:500}._73ej2i7{font-size:var(--rc-font-size-sm);border-radius:var(--rc-radius-md);white-space:nowrap;gap:6px;height:28px;padding:4px 10px;font-weight:500;line-height:1.4}._73ej2i8{font-size:var(--rc-font-size-small);border-radius:var(--rc-radius-md);white-space:nowrap;gap:8px;height:36px;padding:0 14px;font-weight:600}._73ej2ib{margin-left:auto}._73ej2ih{font-size:var(--rc-font-size-small);width:24px;height:24px;color:color-mix(in srgb, var(--rc-text-secondary) 60%, transparent);gap:0;padding:0}._73ej2ih:hover:not(:disabled){color:var(--rc-text);background-color:var(--rc-fill-secondary)}._73ej2ih:disabled{opacity:.3;pointer-events:none}._73ej2ii{font-size:var(--rc-font-size-base);border-radius:var(--rc-radius-md);width:auto;height:auto;color:var(--rc-text-secondary);gap:0;padding:6px}._73ej2ii:hover:not(:disabled){color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 8%, transparent)}._73ej2ii:disabled{opacity:.3;cursor:default}._73ej2ii:disabled:hover{color:var(--rc-text-secondary);background:0 0}._73ej2ij{border-radius:var(--rc-radius-md);width:auto;height:auto;color:var(--rc-text-secondary);gap:0;padding:8px;font-size:20px}._73ej2ij:hover:not(:disabled){color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 8%, transparent)}._73ej2ij:disabled{opacity:.3;cursor:default}._73ej2ij:disabled:hover{color:var(--rc-text-secondary);background:0 0}._73ej2ik{border-radius:50%}._73ej2il:hover:not(:disabled){color:var(--rc-alert-caution);background-color:color-mix(in srgb, var(--rc-alert-caution) 10%, transparent)}.re-ui-action-btn--icon svg{width:1em;height:1em}._15r7gwx0{border:1px solid #0000;border-radius:8px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:13px;line-height:1.5;display:flex}._15r7gwx1{color:#1e40af;background-color:#3b82f60f;border-color:#3b82f63d}._15r7gwx2{color:#92400e;background-color:#f59e0b0f;border-color:#f59e0b3d}._15r7gwx3{color:#991b1b;background-color:#ef44440f;border-color:#ef44443d}._15r7gwx4{flex:1;min-width:0}._15r7gwx5{flex-shrink:0;width:16px;height:16px;margin-top:2px}._15r7gwx6{flex-shrink:0;margin-left:auto}.iryuae0{position:relative}.iryuae1{display:flex}.iryuae2{font-size:var(--rc-font-size-md);cursor:pointer;color:var(--rc-text-secondary);background:0 0;border:none;outline:none;padding:.625rem 1rem;font-weight:500;transition:color .2s;position:relative}.iryuae2:hover{color:color-mix(in srgb, currentColor 80%, transparent)}.iryuae2:focus-visible{outline:2px solid var(--rc-accent);outline-offset:2px}.iryuae3{color:var(--rc-text)}.iryuae4{background-color:var(--rc-border);height:1px;position:absolute;bottom:0;left:0;right:0}.iryuae5{background-color:var(--rc-text);height:2px;transition:left .3s ease-in-out,width .3s ease-in-out;position:absolute;bottom:0}._1b25hgb0{resize:none;border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);background:var(--rc-bg);width:100%;color:var(--rc-text);outline:none;padding:8px 12px;font-family:inherit;font-size:14px;line-height:1.5;overflow:hidden}._1b25hgb0:focus{border-color:var(--rc-text-quaternary)}._1b25hgb0::placeholder{color:var(--rc-text-quaternary)}._1b25hgb1{overflow-y:auto}._1vt0sm10{white-space:nowrap;border-radius:9999px;align-items:center;font-weight:500;line-height:1;display:inline-flex}._1vt0sm11{background-color:var(--rc-fill-tertiary);color:var(--rc-text-tertiary)}._1vt0sm12{color:#16a34a;background-color:#22c55e1a}._1vt0sm13{color:#dc2626;background-color:#ef44441a}._1vt0sm14{color:#d97706;background-color:#f59e0b1a}._1vt0sm15{color:#2563eb;background-color:#3b82f61a}._1vt0sm16{gap:3px;padding:2px 6px;font-size:11px}._1vt0sm17{gap:4px;padding:3px 8px;font-size:12px}@keyframes _10muorc0{0%{transform:scale(1)}40%{transform:scale(.85)}to{transform:scale(1)}}@keyframes _10muorc1{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--rc-accent) 40%, transparent)}to{box-shadow:0 0 0 6px #0000}}._10muorc2{text-align:left;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;border-radius:.5rem;align-items:flex-start;gap:.75rem;padding:.25rem;display:inline-flex}._10muorc2:focus-visible{outline:2px solid var(--rc-accent);outline-offset:2px}._10muorc3{cursor:not-allowed;opacity:.5}._10muorc4{box-sizing:border-box;border-style:solid;border-width:2px;border-radius:.3rem;flex-shrink:0;justify-content:center;align-items:center;width:1.125rem;height:1.125rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}._10muorc5{border-color:color-mix(in srgb, var(--rc-text-secondary) 50%, transparent);background-color:#0000}._10muorc6{border-color:var(--rc-accent);background-color:var(--rc-accent)}._10muorc7{animation:.4s ease-out _10muorc0}._10muorc8{width:.75rem;height:.75rem;transition:all .3s cubic-bezier(.34,1.56,.64,1)}._10muorc9{opacity:1;transform:scale(1)}._10muorca{opacity:0;transform:scale(.5)}._10muorcb{pointer-events:none;border-radius:.3rem;position:absolute;top:0;bottom:0;left:0;right:0}._10muorcc{animation:.4s ease-out _10muorc1}._10muorcd{flex-direction:column;gap:.125rem;display:flex}._10muorce{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:500;line-height:1.25;transition:color .2s}._10muorcf{color:var(--rc-text-secondary)}._10muorcg{font-size:var(--rc-font-size-xs);color:var(--rc-text-secondary);line-height:1.25}._1gq8hf90{margin:var(--rc-flow-block) 0;border-radius:var(--rc-radius-md);background-color:var(--rc-code-bg);color:var(--rc-text);font-size:var(--rc-font-size-code);font-family:var(--rc-font-mono);line-height:var(--rc-line-height-code);position:relative;overflow:hidden}._1gq8hf90[data-chrome=bar]{border:1px solid var(--rc-border)}._1gq8hf91{font-family:var(--rc-font-family-sans);color:var(--rc-text-tertiary);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:.75rem;font-size:12px;line-height:1;display:flex}._1gq8hf90[data-chrome=bar] ._1gq8hf91{background-color:var(--rc-code-header-bg);border-bottom:1px solid var(--rc-border);height:36px;padding:0 6px 0 14px}._1gq8hf90[data-chrome=compact] ._1gq8hf91{z-index:2;position:absolute;top:6px;right:6px}._1gq8hf92{white-space:nowrap;align-items:center;gap:8px;min-width:0;display:flex}._1gq8hf90[data-chrome=compact] ._1gq8hf92{font-family:var(--rc-font-mono);padding:4px;font-size:11px}._1gq8hf93{border-radius:3px;flex-shrink:0;width:10px;height:10px}._1gq8hf90[data-chrome=compact] ._1gq8hf93{display:none}._1gq8hf94{-webkit-appearance:none;appearance:none;color:var(--rc-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;transition:color .15s,background-color .15s,opacity .15s;display:inline-flex}._1gq8hf94:hover{color:var(--rc-text);background-color:var(--rc-fill)}._1gq8hf90[data-chrome=compact] ._1gq8hf94{background-color:var(--rc-fill);color:var(--rc-text)}._1gq8hf95{padding:0;position:relative}._1gq8hf96{padding-block-start:12px;padding-block-end:12px}._1gq8hf97{width:100%;position:relative;overflow:auto}._1gq8hf98{max-height:50vh;overflow:hidden}._1gq8hf99{background:linear-gradient(to bottom, transparent, var(--rc-code-bg));pointer-events:none;height:56px;position:absolute;bottom:0;left:0;right:0}._1gq8hf9a{-webkit-appearance:none;appearance:none;border:none;border-top:1px solid var(--rc-border);background:var(--rc-code-bg);width:100%;height:32px;color:var(--rc-text-tertiary);font-family:var(--rc-font-family-sans);cursor:pointer;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}._1gq8hf9a:hover{color:var(--rc-text)}._1gq8hf9b{counter-reset:code-line 0}._1gq8hf9b .line{counter-increment:code-line 1}._1gq8hf9b .line:before{content:counter(code-line);color:#0000;text-align:right;box-sizing:content-box;min-width:calc(var(--rc-ln-digits,2) * 1ch);display:inline-block;position:sticky;left:0}._1gq8hf9c code{width:max-content;min-width:100%}._1gq8hf90 ._1gq8hf9c .line{padding-left:0}._1gq8hf9c .line:before{color:var(--rc-text-quaternary);background-color:var(--rc-code-bg);z-index:1;padding-left:16px;padding-right:16px}._1gq8hf90 pre{border-radius:0;font-size:1em;overflow-x:auto;margin:0!important;padding:0!important}._1gq8hf90 pre code{line-height:inherit;flex-direction:column;display:flex;font-family:var(--rc-font-mono)!important}._1gq8hf90 .highlights,._1gq8hf90 code,._1gq8hf90 pre{line-height:inherit;background:0 0!important}[data-theme=dark] ._1gq8hf90 .highlights-themes,[data-theme=dark] ._1gq8hf90 .highlights-themes span{color:var(--hls-dark)!important}._1gq8hf90 .line{padding:0 16px;display:block}._1gq8hf90[data-chrome=compact] .line{padding-right:3em}._1gq8hf90 .line>span:last-child{margin-right:16px}._1gq8hf90 .line:after{content:" "}@media (hover:hover){._1gq8hf90[data-chrome=compact] ._1gq8hf94{opacity:0;position:absolute;top:0;right:0}._1gq8hf90[data-chrome=compact]:hover ._1gq8hf94{opacity:1}._1gq8hf90[data-chrome=compact] ._1gq8hf94:focus-visible{opacity:1}._1gq8hf90[data-chrome=compact]:hover ._1gq8hf92{visibility:hidden}._1gq8hf90[data-chrome=compact]:has(._1gq8hf94:focus-visible) ._1gq8hf92{visibility:hidden}}._1hdi6a90{cursor:pointer;color:var(--rc-text-tertiary);font-size:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:0;font-family:inherit;display:flex}._1hdi6a90:hover{color:var(--rc-text-secondary)}._1hdi6a91{flex-shrink:0;width:14px;height:14px;transition:transform .2s}[data-panel-open] ._1hdi6a91{transform:rotate(90deg)}._1hdi6a92{interpolate-size:allow-keywords;height:var(--collapsible-panel-height);transition:height .2s cubic-bezier(.4,0,.2,1);overflow:hidden}._1hdi6a92[data-closed],._1hdi6a92[data-starting-style],._1hdi6a92[data-ending-style]{height:0}@keyframes f2q44l0{0%{opacity:0;transform:translateY(2px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes f2q44l1{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(2px)scale(.96)}}.f2q44l2{z-index:50;border:1px solid var(--rc-border);background-color:var(--rc-bg);width:288px;box-shadow:var(--rc-shadow-modal);font-family:var(--rc-font-family-sans);border-radius:.5rem;outline:none;padding:1rem;transition:opacity .15s ease-out,transform .15s ease-out}.f2q44l2[data-open]{animation:.15s ease-out f2q44l0}.f2q44l2[data-ending-style]{opacity:0;transform:translateY(2px)scale(.96)}.f2q44l2[data-closed]{animation:.15s ease-in f2q44l1}.f2q44l3{transform-origin:50%;width:10px;height:10px}.f2q44l3>polygon{fill:var(--rc-bg)}.f2q44l3>polyline{stroke:var(--rc-border);fill:none}.f2q44l4{font-size:var(--rc-font-size-md);color:var(--rc-text);font-weight:600;line-height:1}.f2q44l5{font-size:var(--rc-font-size-md);color:var(--rc-text-secondary);margin-top:.25rem;line-height:1.25rem}@keyframes _17r50hf0{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}._17r50hf1{cursor:pointer;height:32px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:8px;align-items:center;gap:2px;padding:0 6px;transition:color .1s,background-color .1s;display:flex}._17r50hf1:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._17r50hf2{flex-direction:column;align-items:center;display:flex}._17r50hf3{font-size:var(--rc-font-size-xs);font-weight:600;line-height:1}._17r50hf4{border-radius:1px;width:14px;height:2px;margin-top:2px}._17r50hf5{width:12px;height:12px;transition:transform .15s}._17r50hf6{width:220px;padding:8px}._17r50hf6[data-open]{animation:.12s ease-out _17r50hf0}._17r50hf7{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}._17r50hf8{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:background-color .1s;display:flex;position:relative}._17r50hf8:hover{background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._17r50hf9{border:1px solid color-mix(in srgb, var(--rc-text) 10%, transparent);border-radius:50%;width:16px;height:16px}._17r50hfa{width:10px;height:10px;color:var(--rc-bg);position:absolute}._17r50hfb{color:#fff;background:conic-gradient(#ef4444,#f59e0b,#22c55e,#3b82f6,#6366f1,#ec4899,#ef4444);border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:flex}._17r50hfc{stroke-width:3px;width:10px;height:10px}._17r50hfd{flex-direction:column;gap:8px;display:flex}._17r50hfe{cursor:pointer;font-size:var(--rc-font-size-xs);color:var(--rc-text-tertiary);background:0 0;border:none;border-radius:6px;align-self:flex-start;align-items:center;gap:4px;margin-bottom:2px;padding:2px 6px;transition:color .1s,background-color .1s;display:flex}._17r50hfe:hover{color:var(--rc-text);background-color:color-mix(in srgb, var(--rc-text) 4%, transparent)}._17r50hff{width:12px;height:12px}._17r50hfg{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;width:100%;height:140px;position:relative;overflow:hidden}._17r50hfh{pointer-events:none;background:linear-gradient(90deg,#fff,#0000);position:absolute;top:0;bottom:0;left:0;right:0}._17r50hfi{pointer-events:none;background:linear-gradient(#0000,#000);position:absolute;top:0;bottom:0;left:0;right:0}._17r50hfj{pointer-events:none;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d}._17r50hfk{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);border-radius:5px;width:100%;height:10px;position:relative}._17r50hfl{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 0/8px 8px;border-radius:5px;width:100%;height:10px;position:relative;overflow:hidden}._17r50hfm{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}._17r50hfn{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d}._17r50hfo{align-items:center;gap:4px;display:flex}._17r50hfp{min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,Courier New,monospace;font-size:var(--rc-font-size-xs);border:1px solid var(--rc-border);background:var(--rc-bg-secondary);color:var(--rc-text);text-transform:uppercase;border-radius:6px;outline:none;flex:1;padding:4px 6px}._17r50hfp:focus{border-color:var(--rc-accent)}._17r50hfq,._17r50hfq:focus{border-color:#ef4444}._17r50hfr{border:1px solid var(--rc-border);background:var(--rc-bg);width:24px;height:24px;color:var(--rc-text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background-color .1s,color .1s;display:flex}._17r50hfr:hover{color:var(--rc-text);background-color:var(--rc-fill-tertiary)}._17r50hfs{width:12px;height:12px}._17r50hft{border:1px solid var(--rc-border);background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 0/6px 6px;border-radius:6px;width:40px;height:24px;display:flex;overflow:hidden}._17r50hfu{flex:1}._17r50hfv{gap:6px;margin-top:2px;display:flex}._17r50hfw{height:28px;font-size:var(--rc-font-size-xs);border:1px solid var(--rc-border);background:var(--rc-bg);color:var(--rc-text);cursor:pointer;border-radius:6px;flex:1;transition:background-color .1s}._17r50hfw:hover{background-color:var(--rc-fill-tertiary)}._17r50hfx{background:var(--rc-text);color:var(--rc-bg);border-color:var(--rc-text)}._17r50hfx:hover{background-color:color-mix(in srgb, var(--rc-text) 85%, transparent)}@keyframes _1sxaacb0{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes _1sxaacb1{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}._1sxaacb2{background-color:var(--rc-hr-border);height:1px;margin:.25rem -.25rem}._1sxaacb3{font-size:var(--rc-font-size-xs);color:var(--rc-text-tertiary);padding:.25rem .375rem;font-weight:500;line-height:1.4}._2buwsh0{border-radius:var(--rc-radius-lg);min-width:8rem;padding:var(--rc-space-xs);background-color:var(--rc-bg);box-shadow:0 0 0 1px color-mix(in srgb, var(--rc-text) 10%, transparent), var(--rc-shadow-menu);color:var(--rc-text);font-family:var(--rc-font-family-sans);font-size:var(--rc-font-size-small);z-index:50;max-height:min(var(--available-height), 16rem);transform-origin:var(--transform-origin);outline:none;transition:opacity .1s ease-out,transform .1s ease-out;overflow:hidden auto}._2buwsh0[data-open]{animation:.1s ease-out _1sxaacb0}._2buwsh0[data-starting-style],._2buwsh0[data-ending-style]{opacity:0;transform:scale(.95)}._2buwsh0[data-closed]{animation:.1s ease-in _1sxaacb1;overflow:hidden}._2buwsh1{border-radius:var(--rc-radius-md);padding:var(--rc-space-xs) var(--rc-space-md) var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-small);-webkit-user-select:none;user-select:none;cursor:default;color:var(--rc-text);outline:none;align-items:center;gap:.375rem;line-height:1.35;transition:background-color .1s,color .1s;display:flex;position:relative}._2buwsh1[data-highlighted]{background-color:var(--rc-fill-secondary);color:var(--rc-text)}._2buwsh1[data-disabled]{opacity:.5;pointer-events:none}._2buwsh1 svg{pointer-events:none;width:1rem;height:1rem;color:var(--rc-text-secondary);flex-shrink:0;transition:color .1s}._2buwsh1[data-highlighted] svg{color:var(--rc-text)}._2buwsh2{font-size:var(--rc-font-size-small);color:var(--rc-text-secondary);text-align:center}@keyframes vwlngv0{0%{opacity:0}to{opacity:1}}@keyframes vwlngv1{0%{opacity:1}to{opacity:0}}@keyframes vwlngv2{0%{opacity:0;transform:translate(-50%,-48%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes vwlngv3{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-48%)scale(.95)}}@keyframes vwlngvd{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes vwlngve{0%{transform:translateY(0)}to{transform:translateY(100%)}}.vwlngv4{z-index:50;background-color:#000c;position:fixed;top:0;bottom:0;left:0;right:0}.vwlngv4[data-open]{animation:.25s ease-out vwlngv0}.vwlngv4[data-closed]{animation:.2s ease-in vwlngv1}.vwlngv5{z-index:50;border-radius:var(--rc-radius-lg);border:1px solid var(--rc-border);width:100%;max-width:calc(100% - 2rem);font-family:var(--rc-font-family-sans);color:var(--rc-text);background-color:var(--rc-bg);box-shadow:var(--rc-shadow-modal);outline:none;gap:0;padding:0;line-height:1.43;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.vwlngv5[data-open]{animation:.15s ease-out vwlngv2}.vwlngv5[data-closed]{animation:.1s ease-in vwlngv3}.vwlngv6{cursor:pointer;opacity:.7;width:24px;height:24px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;transition:opacity .2s,color .2s;display:inline-flex;position:absolute;top:1.25rem;right:1.5rem}.vwlngv6:hover{opacity:1;color:var(--rc-text)}.vwlngv6:focus-visible{box-shadow:0 0 0 2px var(--rc-bg), 0 0 0 4px var(--rc-text-secondary);outline:none}.vwlngv6:disabled{pointer-events:none;opacity:.5}.vwlngv6 svg{pointer-events:none;flex-shrink:0;width:16px;height:16px}.vwlngv7{align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem .75rem;display:flex}.vwlngv8{text-align:center;flex-direction:column;flex:1;gap:.375rem;min-width:0;display:flex}.vwlngv9{cursor:pointer;opacity:.7;width:24px;height:24px;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.25rem;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .2s,color .2s;display:inline-flex}.vwlngv9:hover{opacity:1;color:var(--rc-text)}.vwlngv9:focus-visible{box-shadow:0 0 0 2px var(--rc-bg), 0 0 0 4px var(--rc-text-secondary);outline:none}.vwlngv9 svg{pointer-events:none;flex-shrink:0;width:16px;height:16px}.vwlngva{flex-direction:column-reverse;gap:.5rem;padding:.75rem 1.5rem 1.25rem;display:flex}.vwlngvb{font-family:var(--rc-font-family);letter-spacing:-.015em;color:var(--rc-text);font-size:1.125em;font-weight:600;line-height:1.33}.vwlngvc{font-family:var(--rc-font-family);font-size:var(--rc-font-size-md);color:var(--rc-text-secondary);line-height:1.43}.vwlngvf{z-index:50;background-color:#00000080;transition:opacity .2s;position:fixed;top:0;bottom:0;left:0;right:0}.vwlngvg{z-index:50;background-color:var(--rc-bg);max-height:85vh;color:var(--rc-text);font-family:var(--rc-font-family-sans);will-change:transform;border-top-left-radius:12px;border-top-right-radius:12px;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000026}.vwlngvg[data-open]{animation:.3s cubic-bezier(.32,.72,0,1) vwlngvd}.vwlngvg[data-closed]{animation:.2s ease-in vwlngve}.vwlngvh{cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;padding:12px 0 4px;display:flex}.vwlngvh:active{cursor:grabbing}.vwlngvi{background-color:var(--rc-text-tertiary);opacity:.5;border-radius:2px;width:36px;height:4px}.vwlngvj{-webkit-overflow-scrolling:touch;flex:1;padding:0 1.5rem 1.5rem;overflow:hidden auto}.vwlngvk{text-align:center;flex-direction:column;gap:.375rem;padding:0 1.5rem .5rem;display:flex}@media (min-width:640px){.vwlngv5{max-width:28rem}.vwlngv8{text-align:left}.vwlngva{flex-direction:row;justify-content:flex-end}}.oih0op0{border-radius:var(--rc-radius-lg);min-width:8rem;padding:var(--rc-space-xs);background-color:var(--rc-bg);box-shadow:0 0 0 1px color-mix(in srgb, var(--rc-text) 10%, transparent), var(--rc-shadow-menu);color:var(--rc-text);font-family:var(--rc-font-family-sans);font-size:var(--rc-font-size-small);z-index:50;max-height:var(--available-height);transform-origin:var(--transform-origin);outline:none;max-width:min(20rem,100vw - .75rem);transition:opacity .1s ease-out,transform .1s ease-out;overflow:hidden auto}.oih0op0[data-open]{animation:.1s ease-out _1sxaacb0}.oih0op0[data-starting-style],.oih0op0[data-ending-style]{opacity:0;transform:scale(.95)}.oih0op0[data-closed]{animation:.1s ease-in _1sxaacb1;overflow:hidden}.oih0op1{z-index:50;isolation:isolate;outline:none}.oih0op1[data-side=bottom]{transform:translateY(2px)}.oih0op1[data-side=top]{transform:translateY(-2px)}.oih0op1[data-side=left]{transform:translate(-2px)}.oih0op1[data-side=right]{transform:translate(2px)}.oih0op2{border-radius:var(--rc-radius-md);padding:var(--rc-space-xs) var(--rc-space-md) var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-small);-webkit-user-select:none;user-select:none;cursor:default;color:var(--rc-text);outline:none;align-items:center;gap:.375rem;line-height:1.35;transition:background-color .1s,color .1s;display:flex;position:relative}.oih0op2[data-highlighted]{background-color:var(--rc-fill-secondary);color:var(--rc-text)}.oih0op2[data-disabled]{opacity:.5;pointer-events:none}.oih0op2 svg{pointer-events:none;width:1rem;height:1rem;color:var(--rc-text-secondary);flex-shrink:0;transition:color .1s}.oih0op2[data-highlighted] svg{color:var(--rc-text)}.oih0op3{padding-right:2rem}.oih0op4,.oih0op5{pointer-events:none;width:1rem;height:1rem;color:var(--rc-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:absolute;right:.5rem}._1dj5lvb0{z-index:50;pointer-events:none;position:fixed}._1dj5lvb1{pointer-events:auto;justify-content:flex-start;max-width:60%;display:flex;position:absolute;bottom:4px;left:18px}._1dj5lvb2{-webkit-appearance:none;appearance:none;text-align:start;width:100%;min-width:0;font-style:normal;font-family:var(--rc-font-family);color:var(--rc-text-tertiary);background:0 0;border:none;border-bottom:1px dotted #0000;border-radius:0;outline:none;margin:0;padding:0 2px;font-size:13px;transition:border-color .12s,background-color .12s}._1dj5lvb2::placeholder{color:var(--rc-text-quaternary)}._1dj5lvb2:hover{border-bottom-color:var(--rc-text-quaternary)}._1dj5lvb2:focus{border-bottom-color:var(--rc-text-tertiary)}._1y5k2ih0{scrollbar-width:thin;scrollbar-color:#00000026 transparent;overflow:auto}._1y5k2ih0::-webkit-scrollbar{width:6px}._1y5k2ih0::-webkit-scrollbar-track{background:0 0}._1y5k2ih0::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}._6d8tz20{background-color:var(--rc-bg-tertiary);border-radius:.5rem;align-items:center;padding:.25rem;display:inline-flex;position:relative}._6d8tz21{height:2rem;font-size:var(--rc-font-size-xs)}._6d8tz22{height:2.5rem;font-size:var(--rc-font-size-md)}._6d8tz23{width:100%}._6d8tz25{background-color:var(--rc-bg);pointer-events:none;border-radius:.375rem;transition:all .3s cubic-bezier(.25,1,.5,1);position:absolute;top:.25rem;bottom:.25rem;box-shadow:0 1px 2px #0000000d}._6d8tz27{opacity:0}._6d8tz28{z-index:10;white-space:nowrap;cursor:pointer;color:var(--rc-text-secondary);background:0 0;border:none;border-radius:.375rem;outline:none;justify-content:center;align-items:center;font-weight:500;transition:color .2s;display:flex;position:relative}._6d8tz28:focus-visible{outline:2px solid var(--rc-accent);outline-offset:1px}._6d8tz29{padding:0 .75rem}._6d8tz2a{padding:0 1rem}._6d8tz2b{color:var(--rc-text)}._6d8tz2d{pointer-events:none;opacity:.4}._6d8tz2f{flex:1}@keyframes p74a620{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes p74a621{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.p74a622{height:36px;font-size:var(--rc-font-size-small);line-height:1.35;font-family:var(--rc-font-family-sans);border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);color:var(--rc-text);cursor:pointer;white-space:nowrap;background:0 0;outline:none;justify-content:space-between;align-items:center;gap:6px;padding:8px 8px 8px 10px;transition:color .15s,box-shadow .15s,border-color .15s;display:inline-flex;box-shadow:0 1px 2px #0000000d}.p74a622:hover{background:var(--rc-fill-quaternary)}.p74a622:focus-visible{border-color:var(--rc-accent);box-shadow:0 0 0 3px var(--rc-accent-light)}.p74a622[data-popup-open]{background:var(--rc-fill-quaternary)}.p74a622[data-disabled]{opacity:.5;cursor:not-allowed}.p74a623{width:16px;height:16px;color:var(--rc-text-tertiary);pointer-events:none;flex-shrink:0}.p74a624{z-index:50;isolation:isolate;outline:none}.p74a625{background:var(--rc-bg);color:var(--rc-text);font-family:var(--rc-font-family-sans);font-size:var(--rc-font-size-small);border-radius:var(--rc-radius-md);box-shadow:0 0 0 1px color-mix(in srgb, var(--rc-text) 10%, transparent), var(--rc-shadow-menu);width:min(var(--anchor-width), calc(100vw - .75rem));max-width:calc(100vw - .75rem);max-height:var(--available-height);transform-origin:var(--transform-origin);outline:none;transition:opacity .1s ease-out,transform .1s ease-out;overflow:hidden auto}.p74a625[data-open]{animation:.1s ease-out p74a620}.p74a625[data-starting-style],.p74a625[data-ending-style]{opacity:0;transform:scale(.95)}.p74a625[data-closed]{animation:.1s ease-in p74a621;overflow:hidden}.p74a626{padding:4px}.p74a626+.p74a626{border-top:1px solid var(--rc-hr-border)}.p74a627{border-radius:var(--rc-radius-sm);font-size:var(--rc-font-size-small);-webkit-user-select:none;user-select:none;cursor:default;color:var(--rc-text);outline:none;align-items:center;gap:8px;padding:6px 32px 6px 8px;line-height:1.35;transition:background-color .1s,color .1s;display:flex;position:relative}.p74a627[data-highlighted]{background-color:var(--rc-fill-secondary);color:var(--rc-text)}.p74a627[data-disabled]{opacity:.5;pointer-events:none}.p74a627 svg{pointer-events:none;flex-shrink:0;width:16px;height:16px}.p74a628{pointer-events:none;width:16px;height:16px;color:var(--rc-text-secondary);justify-content:center;align-items:center;display:flex;position:absolute;right:8px}.p74a627[data-highlighted] .p74a628{color:var(--rc-text)}.p74a629{font-size:var(--rc-font-size-xs);color:var(--rc-text-tertiary);padding:6px 8px;font-weight:500;line-height:1.4}.p74a62a{background-color:var(--rc-hr-border);height:1px;margin:4px -4px}.p74a62b{cursor:default;width:100%;color:var(--rc-text-tertiary);background:var(--rc-bg);z-index:10;justify-content:center;align-items:center;padding:4px 0;display:flex}.p74a62b svg{width:16px;height:16px}@keyframes _131cfek0{to{transform:rotate(360deg)}}._131cfek1{border:2px solid;border-top-color:#0000;border-radius:50%;flex-shrink:0;animation:.6s linear infinite _131cfek0;display:inline-block}._131cfek2{width:14px;height:14px}._131cfek3{width:20px;height:20px}@keyframes _73cmpa0{0%{opacity:1;transform:scale(1)}50%{opacity:0;transform:scale(1.8)}to{opacity:0;transform:scale(1.8)}}._73cmpa1{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}._73cmpa2{border-radius:50%;flex-shrink:0}._73cmpa3{background-color:#a3a3a3}._73cmpa4{background-color:#3b82f6}._73cmpa5{background-color:#22c55e}._73cmpa6{background-color:#ef4444}._73cmpa7{background-color:#f59e0b}._73cmpa8{width:8px;height:8px}._73cmpa9{width:12px;height:12px}._73cmpaa{border-radius:50%;animation:1.5s ease-in-out infinite _73cmpa0;position:absolute}._73cmpab{background-color:#a3a3a3}._73cmpac{background-color:#3b82f6}._73cmpad{background-color:#22c55e}._73cmpae{background-color:#ef4444}._73cmpaf{background-color:#f59e0b}._73cmpag{width:8px;height:8px}._73cmpah{width:12px;height:12px}@keyframes _1cspf2m0{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes _1cspf2m1{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(2px)}}._1cspf2m2{z-index:50;outline:none}._1cspf2m3{max-width:320px;padding:var(--rc-space-xs) var(--rc-space-sm);font-size:var(--rc-font-size-xs);color:var(--rc-text);background-color:var(--rc-bg);border:1px solid var(--rc-border);border-radius:var(--rc-radius-md);box-shadow:var(--rc-shadow-menu);white-space:normal;word-break:break-word;pointer-events:none;outline:none;line-height:1.4;transition:opacity .12s ease-out,transform .12s ease-out}._1cspf2m3[data-open]{animation:.12s ease-out _1cspf2m0}._1cspf2m3[data-ending-style]{opacity:0;transform:translateY(2px)}._1cspf2m3[data-closed]{animation:.12s ease-in _1cspf2m1}
|
|
2
2
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haklex/rich-editor-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.52.0",
|
|
4
4
|
"description": "UI components for haklex rich editor",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@haklex/rich-style-token": "0.
|
|
24
|
+
"@haklex/rich-style-token": "0.52.0",
|
|
25
|
+
"@pierre/highlights": "0.2.0"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
28
|
"@lexical/react": "^0.52.0",
|
|
@@ -43,8 +44,7 @@
|
|
|
43
44
|
"lexical": "^0.52.0",
|
|
44
45
|
"lucide-react": "^1.0.0",
|
|
45
46
|
"react": ">=19",
|
|
46
|
-
"react-dom": ">=19"
|
|
47
|
-
"shiki": ">=4.0.0"
|
|
47
|
+
"react-dom": ">=19"
|
|
48
48
|
},
|
|
49
49
|
"peerDependenciesMeta": {
|
|
50
50
|
"@lexical/react": {
|
|
@@ -52,9 +52,6 @@
|
|
|
52
52
|
},
|
|
53
53
|
"lexical": {
|
|
54
54
|
"optional": true
|
|
55
|
-
},
|
|
56
|
-
"shiki": {
|
|
57
|
-
"optional": true
|
|
58
55
|
}
|
|
59
56
|
},
|
|
60
57
|
"publishConfig": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shiki.d.ts","sourceRoot":"","sources":["../../../src/components/code-block/shiki.ts"],"names":[],"mappings":"AAcA,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,gBAe5D;AAED,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC"}
|