@haklex/rich-editor-ui 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import { ReactElement } from 'react';
2
+ export declare function QuoteAttributionPlugin(): ReactElement | null;
3
+ //# sourceMappingURL=QuoteAttributionPlugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteAttributionPlugin.d.ts","sourceRoot":"","sources":["../../../src/components/quote-attribution/QuoteAttributionPlugin.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EASV,YAAY,EAEb,MAAM,OAAO,CAAC;AAkCf,wBAAgB,sBAAsB,IAAI,YAAY,GAAG,IAAI,CA0J5D"}
@@ -0,0 +1,2 @@
1
+ export { QuoteAttributionPlugin } from './QuoteAttributionPlugin';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/quote-attribution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const semanticClassNames: {
2
+ readonly editor: "rich-quote-attribution-editor";
3
+ readonly input: "rich-quote-attribution-input";
4
+ };
5
+ export declare const editor: string;
6
+ export declare const input: string;
7
+ //# sourceMappingURL=styles.css.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.css.d.ts","sourceRoot":"","sources":["../../../src/components/quote-attribution/styles.css.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAEX,eAAO,MAAM,MAAM,QAQjB,CAAC;AAEH,eAAO,MAAM,KAAK,QA6BhB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -27,6 +27,7 @@ export type { DropdownMenuCheckboxItemProps, DropdownMenuContentProps, DropdownM
27
27
  export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, } from './components/dropdown-menu';
28
28
  export type { PopoverArrowProps, PopoverCloseProps, PopoverDescriptionProps, PopoverPanelProps, PopoverPopupProps, PopoverPortalProps, PopoverPositionerProps, PopoverProps, PopoverTitleProps, PopoverTriggerProps, } from './components/popover';
29
29
  export { Popover, PopoverArrow, PopoverClose, PopoverDescription, PopoverPanel, PopoverPopup, PopoverPortal, PopoverPositioner, PopoverTitle, PopoverTrigger, usePopover, } from './components/popover';
30
+ export { QuoteAttributionPlugin } from './components/quote-attribution';
30
31
  export type { ScrollAreaProps } from './components/scroll-area';
31
32
  export { ScrollArea } from './components/scroll-area';
32
33
  export type { SegmentedControlItem, SegmentedControlProps } from './components/segmented-control';
@@ -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
@@ -7,6 +7,9 @@ import { PortalThemeProvider, PortalThemeProvider as PortalThemeProvider$1, Port
7
7
  import { Combobox as Combobox$1 } from "@base-ui/react/combobox";
8
8
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
9
9
  import { Menu } from "@base-ui/react/menu";
10
+ import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
11
+ import { $getNodeByKey, $getSelection, $isRangeSelection, COMMAND_PRIORITY_LOW, SELECTION_CHANGE_COMMAND } from "lexical";
12
+ import { createPortal } from "react-dom";
10
13
  import { Select as Select$1 } from "@base-ui/react/select";
11
14
  import { Tooltip } from "@base-ui/react/tooltip";
12
15
  //#region ../../node_modules/.pnpm/@vanilla-extract+recipes@0.5.7_@vanilla-extract+css@1.20.1/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js
@@ -98,7 +101,7 @@ var createRuntimeFn = (config) => {
98
101
  };
99
102
  //#endregion
100
103
  //#region src/components/action-button/styles.css.ts
101
- var semanticClassNames = {
104
+ var semanticClassNames$1 = {
102
105
  actionBar: "re-ui-action-bar",
103
106
  actionButton: "re-ui-action-btn",
104
107
  actionButtonEnd: "re-ui-action-btn--end",
@@ -169,7 +172,7 @@ var actionButton$1 = createRuntimeFn({
169
172
  //#region src/components/action-button/index.tsx
170
173
  function ActionBar({ className, gap, style, ...props }) {
171
174
  return /* @__PURE__ */ jsx("div", {
172
- className: `${actionBar} ${semanticClassNames.actionBar}${className ? ` ${className}` : ""}`,
175
+ className: `${actionBar} ${semanticClassNames$1.actionBar}${className ? ` ${className}` : ""}`,
173
176
  style: gap != null ? {
174
177
  ...style,
175
178
  gap
@@ -178,10 +181,10 @@ function ActionBar({ className, gap, style, ...props }) {
178
181
  });
179
182
  }
180
183
  function ActionButton({ variant, size, end = false, danger = false, icon = false, rounded = false, className, type = "button", ...props }) {
181
- const semanticParts = [semanticClassNames.actionButton];
182
- if (end) semanticParts.push(semanticClassNames.actionButtonEnd);
183
- if (danger) semanticParts.push(semanticClassNames.actionButtonDanger);
184
- if (icon) semanticParts.push(semanticClassNames.actionButtonIcon);
184
+ const semanticParts = [semanticClassNames$1.actionButton];
185
+ if (end) semanticParts.push(semanticClassNames$1.actionButtonEnd);
186
+ if (danger) semanticParts.push(semanticClassNames$1.actionButtonDanger);
187
+ if (icon) semanticParts.push(semanticClassNames$1.actionButtonIcon);
185
188
  return /* @__PURE__ */ jsx("button", {
186
189
  className: `${actionButton$1({
187
190
  variant,
@@ -196,7 +199,7 @@ function ActionButton({ variant, size, end = false, danger = false, icon = false
196
199
  });
197
200
  }
198
201
  function getActionButtonClassName(options) {
199
- return `${actionButton$1(options)} ${semanticClassNames.actionButton}`;
202
+ return `${actionButton$1(options)} ${semanticClassNames$1.actionButton}`;
200
203
  }
201
204
  //#endregion
202
205
  //#region src/components/alert/styles.css.ts
@@ -1750,6 +1753,155 @@ function CheckIcon() {
1750
1753
  return /* @__PURE__ */ jsx(Check, { size: 16 });
1751
1754
  }
1752
1755
  //#endregion
1756
+ //#region src/components/quote-attribution/styles.css.ts
1757
+ var semanticClassNames = {
1758
+ editor: "rich-quote-attribution-editor",
1759
+ input: "rich-quote-attribution-input"
1760
+ };
1761
+ var editor = "_1dj5lvb0";
1762
+ var input = "_1dj5lvb1";
1763
+ //#endregion
1764
+ //#region src/components/quote-attribution/QuoteAttributionPlugin.tsx
1765
+ var RICH_QUOTE_TYPE = "rich-quote";
1766
+ function $isRichQuoteLike(node) {
1767
+ if (!node) return false;
1768
+ const ctor = node.constructor;
1769
+ return typeof ctor.getType === "function" && ctor.getType() === RICH_QUOTE_TYPE;
1770
+ }
1771
+ function $findRichQuoteAncestor(node) {
1772
+ let current = node;
1773
+ while (current) {
1774
+ if ($isRichQuoteLike(current)) return current;
1775
+ current = current.getParent();
1776
+ }
1777
+ return null;
1778
+ }
1779
+ function QuoteAttributionPlugin() {
1780
+ const [editor$1] = useLexicalComposerContext();
1781
+ const inputRef = useRef(null);
1782
+ const panelFocusedRef = useRef(false);
1783
+ const [visible, setVisible] = useState(false);
1784
+ const [quoteState, setQuoteState] = useState({
1785
+ attribution: "",
1786
+ quoteKey: "",
1787
+ quoteDom: null
1788
+ });
1789
+ const [inputValue, setInputValue] = useState("");
1790
+ const updateQuote = useCallback(() => {
1791
+ if (panelFocusedRef.current) return;
1792
+ const selection = $getSelection();
1793
+ if (!$isRangeSelection(selection)) {
1794
+ setVisible(false);
1795
+ return;
1796
+ }
1797
+ const quoteNode = $findRichQuoteAncestor(selection.anchor.getNode());
1798
+ if (!quoteNode) {
1799
+ setVisible(false);
1800
+ return;
1801
+ }
1802
+ const attribution = quoteNode.getAttribution() ?? "";
1803
+ const key = quoteNode.getKey();
1804
+ setQuoteState({
1805
+ attribution,
1806
+ quoteKey: key,
1807
+ quoteDom: editor$1.getElementByKey(key)
1808
+ });
1809
+ setInputValue(attribution);
1810
+ setVisible(true);
1811
+ }, [editor$1]);
1812
+ useEffect(() => {
1813
+ const unregisterCommand = editor$1.registerCommand(SELECTION_CHANGE_COMMAND, () => {
1814
+ updateQuote();
1815
+ return false;
1816
+ }, COMMAND_PRIORITY_LOW);
1817
+ const unregisterUpdate = editor$1.registerUpdateListener(({ editorState }) => {
1818
+ editorState.read(() => {
1819
+ updateQuote();
1820
+ });
1821
+ });
1822
+ return () => {
1823
+ unregisterCommand();
1824
+ unregisterUpdate();
1825
+ };
1826
+ }, [editor$1, updateQuote]);
1827
+ const commitAttribution = useCallback((value) => {
1828
+ editor$1.update(() => {
1829
+ const node = $getNodeByKey(quoteState.quoteKey);
1830
+ if ($isRichQuoteLike(node)) node.setAttribution(value);
1831
+ });
1832
+ }, [editor$1, quoteState.quoteKey]);
1833
+ const handleSave = useCallback(() => {
1834
+ commitAttribution(inputValue.trim() || null);
1835
+ }, [commitAttribution, inputValue]);
1836
+ const handleKeyDown = useCallback((e) => {
1837
+ if (e.key === "Enter") {
1838
+ e.preventDefault();
1839
+ handleSave();
1840
+ editor$1.focus();
1841
+ } else if (e.key === "Escape") {
1842
+ e.preventDefault();
1843
+ setInputValue(quoteState.attribution);
1844
+ editor$1.focus();
1845
+ }
1846
+ e.stopPropagation();
1847
+ }, [
1848
+ editor$1,
1849
+ handleSave,
1850
+ quoteState.attribution
1851
+ ]);
1852
+ const stop = useCallback((e) => {
1853
+ e.stopPropagation();
1854
+ }, []);
1855
+ const handlePanelFocusIn = useCallback(() => {
1856
+ panelFocusedRef.current = true;
1857
+ }, []);
1858
+ const handlePanelFocusOut = useCallback((e) => {
1859
+ if (!e.currentTarget.contains(e.relatedTarget)) {
1860
+ panelFocusedRef.current = false;
1861
+ handleSave();
1862
+ }
1863
+ }, [handleSave]);
1864
+ if (!editor$1.isEditable()) return null;
1865
+ if (!visible || !quoteState.quoteDom) return null;
1866
+ return createPortal(/* @__PURE__ */ jsx("div", {
1867
+ suppressContentEditableWarning: true,
1868
+ className: `${editor} ${semanticClassNames.editor}`,
1869
+ contentEditable: false,
1870
+ "data-lexical-editor": "false",
1871
+ onBlur: handlePanelFocusOut,
1872
+ onClick: stop,
1873
+ onFocus: handlePanelFocusIn,
1874
+ onMouseDown: stop,
1875
+ onPointerDown: stop,
1876
+ children: /* @__PURE__ */ jsx("input", {
1877
+ className: `${input} ${semanticClassNames.input}`,
1878
+ placeholder: "— Author, Work",
1879
+ ref: inputRef,
1880
+ type: "text",
1881
+ value: inputValue,
1882
+ onBeforeInput: stop,
1883
+ onClick: stop,
1884
+ onCompositionEnd: stop,
1885
+ onCompositionStart: stop,
1886
+ onCompositionUpdate: stop,
1887
+ onCopy: stop,
1888
+ onCut: stop,
1889
+ onDragStart: stop,
1890
+ onDrop: stop,
1891
+ onInput: stop,
1892
+ onKeyDown: handleKeyDown,
1893
+ onKeyUp: stop,
1894
+ onMouseDown: stop,
1895
+ onPaste: stop,
1896
+ onPointerDown: stop,
1897
+ onChange: (e) => {
1898
+ e.stopPropagation();
1899
+ setInputValue(e.target.value);
1900
+ }
1901
+ })
1902
+ }), quoteState.quoteDom);
1903
+ }
1904
+ //#endregion
1753
1905
  //#region src/components/scroll-area/styles.css.ts
1754
1906
  var scrollArea = "_1y5k2ih0";
1755
1907
  //#endregion
@@ -2169,4 +2321,4 @@ function ViewportGate({ children, fallback, threshold = .5 }) {
2169
2321
  });
2170
2322
  }
2171
2323
  //#endregion
2172
- 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, 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 };
2324
+ 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 };
@@ -1,2 +1,2 @@
1
- :root{--rc-text:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--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:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-max-width:700px;--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;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh350{--rc-text:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh351{--rc-text:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.8;--rc-line-height-tight:1.4;--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:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#a3a3a3;--rc-quote-bg:#fafafa;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.5;--rc-line-height-tight:1.3;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:3px;--rc-radius-md:6px;--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{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--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:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--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{--rr-code-accent:#737373;font-size:var(--rc-font-size-md);font-family:var(--rc-font-mono);border-radius:.5rem;margin:1.5rem 0;line-height:1.65;position:relative;overflow:hidden}._1gq8hf91{z-index:1;font-size:var(--rc-font-size-md);opacity:.6;pointer-events:none;align-items:center;gap:.375rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}._1gq8hf92{-webkit-appearance:none;appearance:none;z-index:3;border:1px solid color-mix(in srgb, var(--rr-code-accent) 5%, transparent);background:color-mix(in srgb, var(--rr-code-accent) 80%, transparent);color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.375rem;justify-content:center;align-items:center;padding:.375rem;transition:opacity .2s;display:flex;position:absolute;top:.5rem;right:.5rem}._1gq8hf90:hover ._1gq8hf92{opacity:1}._1gq8hf93{background:color-mix(in srgb, var(--rr-code-accent) 5%, transparent);padding:0;position:relative}._1gq8hf94{padding-block-start:12px;padding-block-end:12px}._1gq8hf95{width:100%;position:relative;overflow:auto}._1gq8hf96{max-height:50vh;overflow:hidden}._1gq8hf97{background:linear-gradient(to bottom, transparent 0%, var(--bg,var(--rc-bg-secondary)) 80%);pointer-events:none;justify-content:center;padding:.5rem 0 .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}._1gq8hf98{-webkit-appearance:none;appearance:none;cursor:pointer;font-size:var(--rc-font-size-xs);color:inherit;opacity:.7;pointer-events:auto;background:0 0;border:none;align-items:center;gap:.5rem;display:flex}._1gq8hf98:hover{opacity:1}._1gq8hf99{counter-reset:shiki-line 0}._1gq8hf99 .line{counter-increment:shiki-line 1}._1gq8hf99 .line:before{content:counter(shiki-line);color:#0000;text-align:right;box-sizing:border-box;width:2em;display:inline-block;position:sticky;left:0}._1gq8hf9a .line:before{color:inherit;opacity:.4;width:5em;padding-right:2em}._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 1.25rem;display:block}._1gq8hf90 .line>span:last-child{margin-right:1.25rem}._1gq8hf90 .line:after{content:" "}._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}._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:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}:root.dark,[data-theme=dark]{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--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:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--rc-max-width:700px;--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;--rc-space-xs:4px;--rc-space-sm:8px;--rc-space-md:16px;--rc-space-lg:24px;--rc-space-xl:32px;--rc-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh350{--rc-text:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.7;--rc-line-height-tight:1.4;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:4px;--rc-radius-md:8px;--rc-radius-lg:12px}._4yrh351{--rc-text:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#2563eb;--rc-quote-bg:#f5f5f5;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.8;--rc-line-height-tight:1.4;--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:#000;--rc-text-secondary:#262626;--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:#f5f5f5;--rc-accent:#2563eb;--rc-accent-light:#2563eb20;--rc-link:#2563eb;--rc-code-text:#404040;--rc-code-bg:#f5f5f5;--rc-hr-border:#e5e5e5;--rc-quote-border:#a3a3a3;--rc-quote-bg:#fafafa;--rc-alert-info:#006bb7;--rc-alert-warning:#c50;--rc-alert-tip:#1c0;--rc-alert-caution:#c01;--rc-alert-important:#50c;--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-font-family-sans:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not 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, 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-line-height:1.5;--rc-line-height-tight:1.3;--rc-font-family:"PingFang SC", "Microsoft YaHei", "Segoe UI", Roboto, Helvetica, "noto sans sc", "hiragino sans gb", -apple-system, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Not Color Emoji;--rc-radius-sm:3px;--rc-radius-md:6px;--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{--rc-text:#fafafa;--rc-text-secondary:#a3a3a3;--rc-text-tertiary:#737373;--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:#262626;--rc-accent:#60a5fa;--rc-accent-light:#60a5fa20;--rc-link:#60a5fa;--rc-code-text:#d4d4d4;--rc-code-bg:#262626;--rc-hr-border:#262626;--rc-quote-border:#60a5fa;--rc-quote-bg:#262626;--rc-alert-info:#7db9e5;--rc-alert-warning:#da864a;--rc-alert-tip:#54da48;--rc-alert-caution:#e16973;--rc-alert-important:#9966e0;--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{--rr-code-accent:#737373;font-size:var(--rc-font-size-md);font-family:var(--rc-font-mono);border-radius:.5rem;margin:1.5rem 0;line-height:1.65;position:relative;overflow:hidden}._1gq8hf91{z-index:1;font-size:var(--rc-font-size-md);opacity:.6;pointer-events:none;align-items:center;gap:.375rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}._1gq8hf92{-webkit-appearance:none;appearance:none;z-index:3;border:1px solid color-mix(in srgb, var(--rr-code-accent) 5%, transparent);background:color-mix(in srgb, var(--rr-code-accent) 80%, transparent);color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.375rem;justify-content:center;align-items:center;padding:.375rem;transition:opacity .2s;display:flex;position:absolute;top:.5rem;right:.5rem}._1gq8hf90:hover ._1gq8hf92{opacity:1}._1gq8hf93{background:color-mix(in srgb, var(--rr-code-accent) 5%, transparent);padding:0;position:relative}._1gq8hf94{padding-block-start:12px;padding-block-end:12px}._1gq8hf95{width:100%;position:relative;overflow:auto}._1gq8hf96{max-height:50vh;overflow:hidden}._1gq8hf97{background:linear-gradient(to bottom, transparent 0%, var(--bg,var(--rc-bg-secondary)) 80%);pointer-events:none;justify-content:center;padding:.5rem 0 .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}._1gq8hf98{-webkit-appearance:none;appearance:none;cursor:pointer;font-size:var(--rc-font-size-xs);color:inherit;opacity:.7;pointer-events:auto;background:0 0;border:none;align-items:center;gap:.5rem;display:flex}._1gq8hf98:hover{opacity:1}._1gq8hf99{counter-reset:shiki-line 0}._1gq8hf99 .line{counter-increment:shiki-line 1}._1gq8hf99 .line:before{content:counter(shiki-line);color:#0000;text-align:right;box-sizing:border-box;width:2em;display:inline-block;position:sticky;left:0}._1gq8hf9a .line:before{color:inherit;opacity:.4;width:5em;padding-right:2em}._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 1.25rem;display:block}._1gq8hf90 .line>span:last-child{margin-right:1.25rem}._1gq8hf90 .line:after{content:" "}._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{pointer-events:auto;justify-content:flex-end;max-width:60%;display:flex;position:absolute;bottom:4px;right:8px}._1dj5lvb1{-webkit-appearance:none;appearance:none;text-align:right;width:100%;min-width:0;font-style:italic;font-family:var(--rc-font-family);color:var(--rc-text-secondary);background:0 0;border:none;border-bottom:1px dotted #0000;border-radius:0;outline:none;margin:0;padding:0 2px;font-size:12px;transition:border-color .12s,background-color .12s}._1dj5lvb1::placeholder{color:var(--rc-text-quaternary);font-style:italic}._1dj5lvb1:hover{border-bottom-color:var(--rc-text-quaternary)}._1dj5lvb1: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.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "UI components for haklex rich editor",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,14 +22,16 @@
22
22
  ],
23
23
  "dependencies": {
24
24
  "@base-ui/react": "^1.4.1",
25
- "@haklex/rich-style-token": "0.11.0"
25
+ "@haklex/rich-style-token": "0.12.0"
26
26
  },
27
27
  "devDependencies": {
28
+ "@lexical/react": "^0.44.0",
28
29
  "@types/react": "^19.2.14",
29
30
  "@types/react-dom": "^19.2.3",
30
31
  "@vanilla-extract/css": "^1.20.1",
31
32
  "@vanilla-extract/recipes": "^0.5.7",
32
33
  "@vanilla-extract/vite-plugin": "^5.2.2",
34
+ "lexical": "^0.44.0",
33
35
  "react": "19.2.5",
34
36
  "react-dom": "19.2.5",
35
37
  "typescript": "^5.9.3",
@@ -37,12 +39,20 @@
37
39
  "vite-plugin-dts": "^4.5.4"
38
40
  },
39
41
  "peerDependencies": {
42
+ "@lexical/react": "^0.44.0",
43
+ "lexical": "^0.44.0",
40
44
  "lucide-react": "^1.0.0",
41
45
  "react": ">=19",
42
46
  "react-dom": ">=19",
43
47
  "shiki": ">=3.0.0"
44
48
  },
45
49
  "peerDependenciesMeta": {
50
+ "@lexical/react": {
51
+ "optional": true
52
+ },
53
+ "lexical": {
54
+ "optional": true
55
+ },
46
56
  "shiki": {
47
57
  "optional": true
48
58
  }