fumadocs-ui 13.4.10 → 14.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-774JT2B6.js → chunk-5KVEK5A7.js} +11 -8
- package/dist/chunk-5QPVK7QM.js +542 -0
- package/dist/chunk-BN7HGCQ4.js +212 -0
- package/dist/chunk-CDPVENXR.js +8 -0
- package/dist/{chunk-KWZZNVSY.js → chunk-CPGKWLLV.js} +7 -3
- package/dist/chunk-DN6Z5VW6.js +61 -0
- package/dist/{chunk-HOIRMHZT.js → chunk-E3VO2QQT.js} +10 -2
- package/dist/chunk-GHOAONNQ.js +48 -0
- package/dist/{chunk-ERUVE5R6.js → chunk-IHIFNFRB.js} +4 -2
- package/dist/{chunk-CP67AHDD.js → chunk-IVBHRX3O.js} +1 -1
- package/dist/{chunk-NSEJBI4V.js → chunk-KZTWSBYY.js} +28 -16
- package/dist/chunk-MCX7E6ZW.js +57 -0
- package/dist/chunk-PZTQPB4U.js +125 -0
- package/dist/{chunk-EDNTYBXS.js → chunk-QKOA6KEZ.js} +2 -17
- package/dist/{chunk-YIOV4KEY.js → chunk-TYZZJ335.js} +26 -16
- package/dist/chunk-V6RONFCQ.js +69 -0
- package/dist/chunk-WRBUXI2A.js +82 -0
- package/dist/chunk-YL3MZH7N.js +66 -0
- package/dist/components/accordion.js +7 -3
- package/dist/components/api.d.ts +2 -5
- package/dist/components/api.js +2 -4
- package/dist/components/banner.js +5 -6
- package/dist/components/callout.js +2 -1
- package/dist/components/card.d.ts +6 -5
- package/dist/components/card.js +1 -1
- package/dist/components/codeblock.js +4 -3
- package/dist/components/dialog/search-algolia.d.ts +10 -4
- package/dist/components/dialog/search-algolia.js +25 -15
- package/dist/components/dialog/search-default.d.ts +10 -6
- package/dist/components/dialog/search-default.js +27 -5
- package/dist/components/dialog/search.d.ts +7 -7
- package/dist/components/dialog/search.js +4 -3
- package/dist/components/files.js +15 -11
- package/dist/components/heading.js +2 -1
- package/dist/components/image-zoom.js +8 -5
- package/dist/components/inline-toc.js +3 -1
- package/dist/components/layout/language-toggle.d.ts +4 -3
- package/dist/components/layout/language-toggle.js +8 -6
- package/dist/components/layout/root-toggle.d.ts +3 -3
- package/dist/components/layout/root-toggle.js +7 -73
- package/dist/components/tabs.js +30 -13
- package/dist/components/type-table.d.ts +7 -5
- package/dist/components/type-table.js +11 -11
- package/dist/dynamic-sidebar-QWGMOUMS.js +129 -0
- package/dist/{edit-on-github-YFVYCMB7.js → edit-on-github-PCTRDRD6.js} +10 -8
- package/dist/layouts/docs.client.d.ts +27 -0
- package/dist/layouts/docs.client.js +200 -0
- package/dist/layouts/docs.d.ts +30 -0
- package/dist/layouts/docs.js +207 -0
- package/dist/layouts/home.client.d.ts +11 -0
- package/dist/layouts/home.client.js +274 -0
- package/dist/layouts/home.d.ts +7 -0
- package/dist/layouts/home.js +61 -0
- package/dist/layouts/shared.d.ts +2 -0
- package/dist/layouts/shared.js +9 -0
- package/dist/mdx.client.js +4 -3
- package/dist/mdx.d.ts +1 -2
- package/dist/mdx.js +8 -10
- package/dist/og.d.ts +1 -7
- package/dist/og.js +5 -15
- package/dist/page.client.d.ts +2 -1
- package/dist/page.client.js +91 -63
- package/dist/page.d.ts +7 -6
- package/dist/page.js +78 -62
- package/dist/provider.d.ts +1 -2
- package/dist/provider.js +3 -4
- package/dist/shared-SScCiV7b.d.ts +152 -0
- package/dist/{sidebar-DwBSl7jC.d.ts → sidebar-CQ4HmzQl.d.ts} +8 -9
- package/dist/style.css +1 -1
- package/dist/tailwind-plugin.js +86 -39
- package/dist/{toc-clerk-CAID2WGC.js → toc-clerk-SKE4LBT7.js} +40 -50
- package/dist/{tree-CrKzI9Nz.d.ts → tree-06ley65N.d.ts} +9 -3
- package/package.json +32 -68
- package/dist/chunk-KCZRDPB4.js +0 -308
- package/dist/chunk-LSTPTAZ5.js +0 -58
- package/dist/chunk-P4HLRHHV.js +0 -36
- package/dist/chunk-UOD2T27N.js +0 -27
- package/dist/chunk-WLTWFYQA.js +0 -44
- package/dist/docs-layout.client.d.ts +0 -18
- package/dist/docs-layout.client.js +0 -406
- package/dist/home-layout.client.d.ts +0 -9
- package/dist/home-layout.client.js +0 -88
- package/dist/home-layout.d.ts +0 -7
- package/dist/home-layout.js +0 -30
- package/dist/layout.d.ts +0 -19
- package/dist/layout.js +0 -127
- package/dist/layout.shared-DEQFTB9M.d.ts +0 -117
- package/dist/twoslash/popup.d.ts +0 -11
- package/dist/twoslash/popup.js +0 -97
- package/dist/twoslash.css +0 -1
- /package/dist/{image-zoom.css → components/image-zoom.css} +0 -0
package/dist/layout.js
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
TreeContextProvider,
|
|
3
|
-
SidebarCollapseTrigger,
|
|
4
|
-
ThemeToggle,
|
|
5
|
-
SubNav,
|
|
6
|
-
LanguageToggle,
|
|
7
|
-
LinksMenu,
|
|
8
|
-
DynamicSidebar,
|
|
9
|
-
Sidebar,
|
|
10
|
-
} from "./docs-layout.client"
|
|
11
|
-
import {
|
|
12
|
-
getLinks
|
|
13
|
-
} from "./chunk-HOIRMHZT.js";
|
|
14
|
-
import {
|
|
15
|
-
replaceOrDefault
|
|
16
|
-
} from "./chunk-UOD2T27N.js";
|
|
17
|
-
import {
|
|
18
|
-
buttonVariants
|
|
19
|
-
} from "./chunk-EDNTYBXS.js";
|
|
20
|
-
import {
|
|
21
|
-
twMerge
|
|
22
|
-
} from "./chunk-TK3TM3MR.js";
|
|
23
|
-
import "./chunk-MLKGABMK.js";
|
|
24
|
-
|
|
25
|
-
// src/layout.tsx
|
|
26
|
-
import Link from "next/link";
|
|
27
|
-
import { MoreHorizontal } from "lucide-react";
|
|
28
|
-
import { notFound } from "next/navigation";
|
|
29
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
30
|
-
function DocsLayout({
|
|
31
|
-
nav,
|
|
32
|
-
githubUrl,
|
|
33
|
-
sidebar: {
|
|
34
|
-
enabled: sidebarEnabled = true,
|
|
35
|
-
collapsible = true,
|
|
36
|
-
component: sidebarReplace,
|
|
37
|
-
...sidebar
|
|
38
|
-
} = {},
|
|
39
|
-
containerProps = {},
|
|
40
|
-
i18n = false,
|
|
41
|
-
...props
|
|
42
|
-
}) {
|
|
43
|
-
const links = getLinks(props.links ?? [], githubUrl);
|
|
44
|
-
const Aside = collapsible ? DynamicSidebar : Sidebar;
|
|
45
|
-
if (props.tree === void 0) notFound();
|
|
46
|
-
const banner = [];
|
|
47
|
-
const footer = [];
|
|
48
|
-
if (nav?.title)
|
|
49
|
-
banner.push(
|
|
50
|
-
/* @__PURE__ */ jsx(
|
|
51
|
-
Link,
|
|
52
|
-
{
|
|
53
|
-
href: nav.url ?? "/",
|
|
54
|
-
className: "inline-flex items-center gap-2.5 py-1 font-medium",
|
|
55
|
-
children: nav.title
|
|
56
|
-
},
|
|
57
|
-
"title"
|
|
58
|
-
)
|
|
59
|
-
);
|
|
60
|
-
if (links.length > 0)
|
|
61
|
-
banner.push(
|
|
62
|
-
/* @__PURE__ */ jsx(
|
|
63
|
-
LinksMenu,
|
|
64
|
-
{
|
|
65
|
-
items: links,
|
|
66
|
-
className: twMerge(
|
|
67
|
-
buttonVariants({
|
|
68
|
-
size: "icon",
|
|
69
|
-
color: "ghost",
|
|
70
|
-
className: "ms-auto"
|
|
71
|
-
})
|
|
72
|
-
),
|
|
73
|
-
children: /* @__PURE__ */ jsx(MoreHorizontal, {})
|
|
74
|
-
},
|
|
75
|
-
"links"
|
|
76
|
-
)
|
|
77
|
-
);
|
|
78
|
-
footer.push(/* @__PURE__ */ jsx(ThemeToggle, {}, "theme"));
|
|
79
|
-
if (i18n) {
|
|
80
|
-
footer.push(/* @__PURE__ */ jsx(LanguageToggle, {}, "i18n"));
|
|
81
|
-
}
|
|
82
|
-
if (collapsible) {
|
|
83
|
-
footer.push(/* @__PURE__ */ jsx(SidebarCollapseTrigger, {}, "sidebar"));
|
|
84
|
-
}
|
|
85
|
-
return /* @__PURE__ */ jsxs(TreeContextProvider, { tree: props.tree, children: [
|
|
86
|
-
replaceOrDefault(nav, /* @__PURE__ */ jsx(SubNav, { ...nav })),
|
|
87
|
-
/* @__PURE__ */ jsxs(
|
|
88
|
-
"main",
|
|
89
|
-
{
|
|
90
|
-
id: "nd-docs-layout",
|
|
91
|
-
...containerProps,
|
|
92
|
-
className: twMerge("flex flex-1 flex-row", containerProps.className),
|
|
93
|
-
children: [
|
|
94
|
-
replaceOrDefault(
|
|
95
|
-
{ enabled: sidebarEnabled, component: sidebarReplace },
|
|
96
|
-
/* @__PURE__ */ jsx(
|
|
97
|
-
Aside,
|
|
98
|
-
{
|
|
99
|
-
...sidebar,
|
|
100
|
-
items: links,
|
|
101
|
-
banner: banner.length > 0 || sidebar.banner ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
102
|
-
banner.length > 0 ? /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center border-b pb-2 max-md:hidden", children: banner }) : null,
|
|
103
|
-
sidebar.banner
|
|
104
|
-
] }) : null,
|
|
105
|
-
bannerProps: {
|
|
106
|
-
...sidebar.bannerProps,
|
|
107
|
-
className: twMerge(
|
|
108
|
-
!sidebar.banner && "max-md:hidden",
|
|
109
|
-
sidebar.bannerProps?.className
|
|
110
|
-
)
|
|
111
|
-
},
|
|
112
|
-
footer: footer.length > 0 || sidebar.footer ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
113
|
-
sidebar.footer,
|
|
114
|
-
footer
|
|
115
|
-
] }) : null
|
|
116
|
-
}
|
|
117
|
-
)
|
|
118
|
-
),
|
|
119
|
-
props.children
|
|
120
|
-
]
|
|
121
|
-
}
|
|
122
|
-
)
|
|
123
|
-
] });
|
|
124
|
-
}
|
|
125
|
-
export {
|
|
126
|
-
DocsLayout
|
|
127
|
-
};
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
|
|
3
|
-
interface BaseItem {
|
|
4
|
-
/**
|
|
5
|
-
* Restrict where the item is displayed
|
|
6
|
-
*
|
|
7
|
-
* @defaultValue 'all'
|
|
8
|
-
*/
|
|
9
|
-
on?: 'menu' | 'nav' | 'all';
|
|
10
|
-
}
|
|
11
|
-
interface BaseLinkItem extends BaseItem {
|
|
12
|
-
url: string;
|
|
13
|
-
/**
|
|
14
|
-
* When the item is marked as active
|
|
15
|
-
*
|
|
16
|
-
* @defaultValue 'url'
|
|
17
|
-
*/
|
|
18
|
-
active?: 'url' | 'nested-url' | 'none';
|
|
19
|
-
external?: boolean;
|
|
20
|
-
}
|
|
21
|
-
type LinkItemType = (BaseLinkItem & {
|
|
22
|
-
type?: 'main';
|
|
23
|
-
icon?: ReactNode;
|
|
24
|
-
text: ReactNode;
|
|
25
|
-
}) | (BaseLinkItem & {
|
|
26
|
-
type: 'icon';
|
|
27
|
-
/**
|
|
28
|
-
* `aria-label` of icon button
|
|
29
|
-
*/
|
|
30
|
-
label?: string;
|
|
31
|
-
icon: ReactNode;
|
|
32
|
-
text: ReactNode;
|
|
33
|
-
/**
|
|
34
|
-
* @defaultValue true
|
|
35
|
-
*/
|
|
36
|
-
secondary?: boolean;
|
|
37
|
-
}) | (BaseLinkItem & {
|
|
38
|
-
type: 'button';
|
|
39
|
-
icon?: ReactNode;
|
|
40
|
-
text: ReactNode;
|
|
41
|
-
/**
|
|
42
|
-
* @defaultValue false
|
|
43
|
-
*/
|
|
44
|
-
secondary?: boolean;
|
|
45
|
-
}) | (BaseItem & {
|
|
46
|
-
type: 'menu';
|
|
47
|
-
icon?: ReactNode;
|
|
48
|
-
text: ReactNode;
|
|
49
|
-
items: LinkItemType[];
|
|
50
|
-
/**
|
|
51
|
-
* @defaultValue false
|
|
52
|
-
*/
|
|
53
|
-
secondary?: boolean;
|
|
54
|
-
}) | (BaseItem & {
|
|
55
|
-
type: 'custom';
|
|
56
|
-
/**
|
|
57
|
-
* @defaultValue false
|
|
58
|
-
*/
|
|
59
|
-
secondary?: boolean;
|
|
60
|
-
children: ReactNode;
|
|
61
|
-
});
|
|
62
|
-
interface LinksMenuProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
63
|
-
items: LinkItemType[];
|
|
64
|
-
footer?: React.ReactNode;
|
|
65
|
-
}
|
|
66
|
-
declare function LinksMenu({ items, footer, ...props }: LinksMenuProps): React.ReactElement;
|
|
67
|
-
|
|
68
|
-
interface NavBoxProps {
|
|
69
|
-
/**
|
|
70
|
-
* Use transparent background
|
|
71
|
-
*
|
|
72
|
-
* @defaultValue none
|
|
73
|
-
*/
|
|
74
|
-
transparentMode?: 'always' | 'top' | 'none';
|
|
75
|
-
}
|
|
76
|
-
interface TitleProps {
|
|
77
|
-
title?: ReactNode;
|
|
78
|
-
/**
|
|
79
|
-
* Redirect url of title
|
|
80
|
-
* @defaultValue '/'
|
|
81
|
-
*/
|
|
82
|
-
url?: string;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
interface NavOptions extends SharedNavProps {
|
|
86
|
-
enabled: boolean;
|
|
87
|
-
component: ReactNode;
|
|
88
|
-
}
|
|
89
|
-
interface SharedNavProps extends TitleProps, NavBoxProps {
|
|
90
|
-
/**
|
|
91
|
-
* Show/hide search toggle
|
|
92
|
-
*
|
|
93
|
-
* Note: Enable/disable search from root provider instead
|
|
94
|
-
*/
|
|
95
|
-
enableSearch?: boolean;
|
|
96
|
-
children?: ReactNode;
|
|
97
|
-
}
|
|
98
|
-
interface BaseLayoutProps {
|
|
99
|
-
/**
|
|
100
|
-
* Enable Language Switch
|
|
101
|
-
*
|
|
102
|
-
* @defaultValue false
|
|
103
|
-
*/
|
|
104
|
-
i18n?: boolean;
|
|
105
|
-
/**
|
|
106
|
-
* GitHub url
|
|
107
|
-
*/
|
|
108
|
-
githubUrl?: string;
|
|
109
|
-
links?: LinkItemType[];
|
|
110
|
-
/**
|
|
111
|
-
* Replace or disable navbar
|
|
112
|
-
*/
|
|
113
|
-
nav?: Partial<NavOptions>;
|
|
114
|
-
children?: ReactNode;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export { type BaseLayoutProps as B, type LinkItemType as L, type SharedNavProps as S, LinksMenu as a };
|
package/dist/twoslash/popup.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import * as _radix_ui_react_popover from '@radix-ui/react-popover';
|
|
2
|
-
import * as react from 'react';
|
|
3
|
-
|
|
4
|
-
declare function Popup({ delay, children, }: {
|
|
5
|
-
delay?: number;
|
|
6
|
-
children: react.ReactNode;
|
|
7
|
-
}): JSX.Element;
|
|
8
|
-
declare const PopupTrigger: react.ForwardRefExoticComponent<Omit<_radix_ui_react_popover.PopoverTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
|
|
9
|
-
declare const PopupContent: react.ForwardRefExoticComponent<Omit<Omit<_radix_ui_react_popover.PopoverContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
10
|
-
|
|
11
|
-
export { Popup, PopupContent, PopupTrigger };
|
package/dist/twoslash/popup.js
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import {
|
|
3
|
-
Popover,
|
|
4
|
-
PopoverContent,
|
|
5
|
-
PopoverTrigger
|
|
6
|
-
} from "../chunk-CP67AHDD.js";
|
|
7
|
-
import {
|
|
8
|
-
twMerge
|
|
9
|
-
} from "../chunk-TK3TM3MR.js";
|
|
10
|
-
import "../chunk-MLKGABMK.js";
|
|
11
|
-
|
|
12
|
-
// src/twoslash/popup.tsx
|
|
13
|
-
import * as React from "react";
|
|
14
|
-
import { jsx } from "react/jsx-runtime";
|
|
15
|
-
var PopupContext = React.createContext(
|
|
16
|
-
void 0
|
|
17
|
-
);
|
|
18
|
-
function Popup({
|
|
19
|
-
delay = 300,
|
|
20
|
-
children
|
|
21
|
-
}) {
|
|
22
|
-
const [open, setOpen] = React.useState(false);
|
|
23
|
-
const openTimeoutRef = React.useRef();
|
|
24
|
-
const closeTimeoutRef = React.useRef();
|
|
25
|
-
const handleOpen = React.useCallback(
|
|
26
|
-
(e) => {
|
|
27
|
-
if (e.pointerType === "touch") return;
|
|
28
|
-
if (closeTimeoutRef.current) clearTimeout(closeTimeoutRef.current);
|
|
29
|
-
openTimeoutRef.current = window.setTimeout(() => {
|
|
30
|
-
setOpen(true);
|
|
31
|
-
}, delay);
|
|
32
|
-
},
|
|
33
|
-
[delay]
|
|
34
|
-
);
|
|
35
|
-
const handleClose = React.useCallback(
|
|
36
|
-
(e) => {
|
|
37
|
-
if (e.pointerType === "touch") return;
|
|
38
|
-
if (openTimeoutRef.current) clearTimeout(openTimeoutRef.current);
|
|
39
|
-
closeTimeoutRef.current = window.setTimeout(() => {
|
|
40
|
-
setOpen(false);
|
|
41
|
-
}, delay);
|
|
42
|
-
},
|
|
43
|
-
[delay]
|
|
44
|
-
);
|
|
45
|
-
return /* @__PURE__ */ jsx(Popover, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsx(
|
|
46
|
-
PopupContext.Provider,
|
|
47
|
-
{
|
|
48
|
-
value: React.useMemo(
|
|
49
|
-
() => ({
|
|
50
|
-
open,
|
|
51
|
-
setOpen,
|
|
52
|
-
handleOpen,
|
|
53
|
-
handleClose
|
|
54
|
-
}),
|
|
55
|
-
[handleClose, handleOpen, open]
|
|
56
|
-
),
|
|
57
|
-
children
|
|
58
|
-
}
|
|
59
|
-
) });
|
|
60
|
-
}
|
|
61
|
-
var PopupTrigger = React.forwardRef((props, ref) => {
|
|
62
|
-
const ctx = React.useContext(PopupContext);
|
|
63
|
-
if (!ctx) throw new Error("Missing Popup Context");
|
|
64
|
-
return /* @__PURE__ */ jsx(
|
|
65
|
-
PopoverTrigger,
|
|
66
|
-
{
|
|
67
|
-
ref,
|
|
68
|
-
onPointerEnter: ctx.handleOpen,
|
|
69
|
-
onPointerLeave: ctx.handleClose,
|
|
70
|
-
...props
|
|
71
|
-
}
|
|
72
|
-
);
|
|
73
|
-
});
|
|
74
|
-
PopupTrigger.displayName = "PopupTrigger";
|
|
75
|
-
var PopupContent = React.forwardRef(({ className, ...props }, ref) => {
|
|
76
|
-
const ctx = React.useContext(PopupContext);
|
|
77
|
-
if (!ctx) throw new Error("Missing Popup Context");
|
|
78
|
-
return /* @__PURE__ */ jsx(
|
|
79
|
-
PopoverContent,
|
|
80
|
-
{
|
|
81
|
-
ref,
|
|
82
|
-
onPointerEnter: ctx.handleOpen,
|
|
83
|
-
onPointerLeave: ctx.handleClose,
|
|
84
|
-
onCloseAutoFocus: (e) => {
|
|
85
|
-
e.preventDefault();
|
|
86
|
-
},
|
|
87
|
-
className: twMerge("max-w-80", className),
|
|
88
|
-
...props
|
|
89
|
-
}
|
|
90
|
-
);
|
|
91
|
-
});
|
|
92
|
-
PopupContent.displayName = "PopupContent";
|
|
93
|
-
export {
|
|
94
|
-
Popup,
|
|
95
|
-
PopupContent,
|
|
96
|
-
PopupTrigger
|
|
97
|
-
};
|
package/dist/twoslash.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
:root{--twoslash-error-color:#d45656;--twoslash-error-bg:rgba(212,86,86,.125);--twoslash-tag-color:#3772cf;--twoslash-tag-bg:rgba(55,114,207,.125);--twoslash-tag-warn-color:#c37d0d;--twoslash-tag-warn-bg:rgba(195,125,13,.125);--twoslash-tag-annotate-color:#1ba673;--twoslash-tag-annotate-bg:rgba(27,166,115,.125)}.twoslash-query-presisted .twoslash-popup-container,.twoslash-completion-list{-webkit-user-select:none;-ms-user-select:none;user-select:none;white-space:normal;z-index:8;--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity));--tw-text-opacity:1;color:hsl(var(--popover-foreground)/var(--tw-text-opacity));border-width:1px;border-radius:6px;flex-direction:column;width:20rem;padding:8px;display:flex;position:absolute;top:0;left:0;transform:translateY(16px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.twoslash-query-presisted .twoslash-popup-container:hover,.twoslash-completion-list:hover{-webkit-user-select:auto;-ms-user-select:auto;user-select:auto}.twoslash-popup-arrow{pointer-events:none;--tw-bg-opacity:1;background-color:hsl(var(--popover)/var(--tw-bg-opacity));border-top-width:1px;border-right-width:1px;width:6px;height:6px;position:absolute;top:-4px;left:1em;transform:rotate(-45deg)}.twoslash-popup-docs-tag{flex-direction:column;gap:.5em;display:flex}.twoslash-popup-docs-tag-name{font-weight:600}.twoslash-popup-code{font-size:14px;display:block!important}.twoslash-popup-code .line{padding-left:0!important}.twoslash-popup-docs,.twoslash-popup-docs-tags{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity));margin-top:8px!important;font-size:14px!important;line-height:20px!important}.twoslash:hover .twoslash-hover{border-color:currentColor}.twoslash .twoslash-hover{border-color:transparent;border-bottom-style:dotted;border-bottom-width:1px;transition:border .3s;position:relative}.twoslash .twoslash-error-line{background-color:var(--twoslash-error-bg);border-left:3px solid var(--twoslash-error-color);color:var(--twoslash-error-color);margin:.2em 0;padding:6px 12px;position:relative}.twoslash .twoslash-error{-webkit-text-decoration:wavy underline var(--twoslash-error-color);text-decoration:wavy underline var(--twoslash-error-color);padding-bottom:2px}.twoslash .twoslash-completion-cursor{position:relative}.twoslash-completion-list:before{content:" ";--tw-bg-opacity:1;background-color:hsl(var(--foreground)/var(--tw-bg-opacity));width:1px;height:1em;position:absolute;top:-1.2em;left:-1px}.twoslash-completion-list li{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.5rem;font-size:13px;display:inline-flex;overflow:hidden}.twoslash-completion-list li span.twoslash-completions-unmatched{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity))}.twoslash-completion-list .deprecated{opacity:.5;text-decoration:line-through}.twoslash-completion-list .twoslash-completions-icon{--tw-text-opacity:1;color:hsl(var(--muted-foreground)/var(--tw-text-opacity));flex:none;width:1em}.twoslash .twoslash-tag-line{background-color:var(--twoslash-tag-bg);border-left:3px solid var(--twoslash-tag-color);color:var(--twoslash-tag-color);align-items:center;gap:.3em;margin:.2em 0;padding:6px 10px;display:flex;position:relative}.twoslash .twoslash-tag-line .twoslash-tag-icon{color:inherit;width:1.1em}.twoslash .twoslash-tag-line.twoslash-tag-error-line{background-color:var(--twoslash-error-bg);border-left:3px solid var(--twoslash-error-color);color:var(--twoslash-error-color)}.twoslash .twoslash-tag-line.twoslash-tag-warn-line{background-color:var(--twoslash-tag-warn-bg);border-left:3px solid var(--twoslash-tag-warn-color);color:var(--twoslash-tag-warn-color)}.twoslash .twoslash-tag-line.twoslash-tag-annotate-line{background-color:var(--twoslash-tag-annotate-bg);border-left:3px solid var(--twoslash-tag-annotate-color);color:var(--twoslash-tag-annotate-color)}@media (prefers-reduced-motion:reduce){.twoslash *{transition:none!important}}
|
|
File without changes
|