@haklex/rich-editor-ui 0.51.1 → 0.53.1

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.
@@ -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;AAEvD,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,CAgE/B"}
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,6 @@
1
+ export interface CodeLanguage {
2
+ id: string;
3
+ name: string;
4
+ }
5
+ export declare const codeLanguages: readonly CodeLanguage[];
6
+ //# sourceMappingURL=languages.d.ts.map
@@ -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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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/shiki.ts
633
- var highlighterPromise = null;
634
- function getHighlighter() {
635
- if (!highlighterPromise) highlighterPromise = import("shiki/bundle/full").then((mod) => mod.createHighlighter({
636
- langs: [],
637
- themes: ["github-light", "github-dark"]
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 highlighterPromise;
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
- async function getHighlighterWithLang(language) {
642
- const highlighter = await getHighlighter();
643
- if (language && language !== "text" && language !== "plaintext") {
644
- if (!highlighter.getLoadedLanguages().includes(language)) try {
645
- await highlighter.loadLanguage(language);
646
- } catch {}
677
+ function escapeHtml(text) {
678
+ return text.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
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("\"", "&quot;")}"` : ""}>${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 highlighter;
1051
+ return result;
649
1052
  }
650
- var SHIKI_DUAL_THEMES = {
651
- light: "github-light",
652
- dark: "github-dark"
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
- (async () => {
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 };
@@ -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.51.1",
3
+ "version": "0.53.1",
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.51.1"
24
+ "@haklex/rich-style-token": "0.53.1",
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,6 +0,0 @@
1
- export declare function getHighlighterWithLang(language: string): Promise<any>;
2
- export declare const SHIKI_DUAL_THEMES: {
3
- readonly light: "github-light";
4
- readonly dark: "github-dark";
5
- };
6
- //# sourceMappingURL=shiki.d.ts.map
@@ -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"}