@moduix/react 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/angle-slider/AngleSlider_module.css +2 -2
- package/dist/components/sidebar/Sidebar.d.ts +0 -1
- package/dist/components/sidebar/Sidebar.js +9 -5
- package/dist/components/sidebar/Sidebar_module.css +20 -0
- package/dist/components/toc/Toc.d.ts +23 -0
- package/dist/components/toc/Toc.js +144 -0
- package/dist/components/toc/Toc.module.js +13 -0
- package/dist/components/toc/Toc_module.css +184 -0
- package/dist/components/toc/index.d.ts +1 -0
- package/dist/components/toc/index.js +1 -0
- package/dist/presets/contrast.css +63 -129
- package/dist/presets/dense.css +63 -129
- package/dist/presets/soft.css +62 -128
- package/dist/styles/animations.css +5 -7
- package/dist/styles/borders.css +2 -2
- package/dist/styles/colors.css +79 -163
- package/dist/styles/opacity.css +4 -5
- package/dist/styles/radius.css +6 -6
- package/dist/styles/reset.css +215 -104
- package/dist/styles/shadows.css +1 -2
- package/dist/styles/sizing.css +5 -2
- package/dist/styles/spacing.css +9 -7
- package/dist/styles/style.css +12 -12
- package/dist/styles/transforms.css +3 -4
- package/dist/styles/transitions.css +19 -15
- package/dist/styles/typography.css +16 -6
- package/dist/styles/z-index.css +2 -2
- package/package.json +5 -1
|
@@ -47,12 +47,12 @@
|
|
|
47
47
|
|
|
48
48
|
@media (hover: hover) {
|
|
49
49
|
.control-TKuxcQ:not([data-disabled], [data-readonly]):hover {
|
|
50
|
-
background-color: var(--moduix-angle-slider-track-bg-hover,
|
|
50
|
+
background-color: var(--moduix-angle-slider-track-bg-hover, var(--moduix-angle-slider-track-bg, var(--moduix-color-muted)));
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
.control-TKuxcQ:not([data-disabled], [data-readonly]):active {
|
|
55
|
-
background-color: var(--moduix-angle-slider-track-bg-active,
|
|
55
|
+
background-color: var(--moduix-angle-slider-track-bg-active, var(--moduix-angle-slider-track-bg, var(--moduix-color-muted)));
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
.control-TKuxcQ:after {
|
|
@@ -4,7 +4,6 @@ import { Tooltip } from '../tooltip';
|
|
|
4
4
|
type SidebarSide = 'left' | 'right';
|
|
5
5
|
type SidebarRootProps = Omit<ComponentProps<typeof Splitter.Root>, 'orientation' | 'panels'> & {
|
|
6
6
|
panelId?: string;
|
|
7
|
-
panels?: ComponentProps<typeof Splitter.Root>['panels'];
|
|
8
7
|
side?: SidebarSide;
|
|
9
8
|
};
|
|
10
9
|
type SidebarPanelProps = Omit<ComponentProps<typeof Splitter.Panel>, 'id'>;
|
|
@@ -53,7 +53,7 @@ function toggleSidebarPanel(splitter, panelId) {
|
|
|
53
53
|
if (splitter.isPanelCollapsed(panelId)) return void splitter.expandPanel(panelId);
|
|
54
54
|
splitter.collapsePanel(panelId);
|
|
55
55
|
}
|
|
56
|
-
const Sidebar_SidebarRoot = /*#__PURE__*/ forwardRef(function({ className,
|
|
56
|
+
const Sidebar_SidebarRoot = /*#__PURE__*/ forwardRef(function({ className, defaultSize, panelId = 'sidebar', side = 'left', ...props }, ref) {
|
|
57
57
|
return /*#__PURE__*/ jsx(SidebarConfigContext.Provider, {
|
|
58
58
|
value: {
|
|
59
59
|
panelId,
|
|
@@ -62,7 +62,7 @@ const Sidebar_SidebarRoot = /*#__PURE__*/ forwardRef(function({ className, panel
|
|
|
62
62
|
children: /*#__PURE__*/ jsx(Splitter.Root, {
|
|
63
63
|
...props,
|
|
64
64
|
ref: ref,
|
|
65
|
-
panels:
|
|
65
|
+
panels: getDefaultPanels(side, panelId),
|
|
66
66
|
defaultSize: defaultSize ?? getDefaultSidebarSize(side),
|
|
67
67
|
orientation: "horizontal",
|
|
68
68
|
"data-side": side,
|
|
@@ -118,7 +118,7 @@ const Sidebar_SidebarResizeTrigger = /*#__PURE__*/ forwardRef(function({ childre
|
|
|
118
118
|
"data-side": side,
|
|
119
119
|
"data-slot": "sidebar-resize-trigger",
|
|
120
120
|
className: clsx(Sidebar_module.resizeTrigger, normalizeClassName(className)),
|
|
121
|
-
children:
|
|
121
|
+
children: children
|
|
122
122
|
});
|
|
123
123
|
});
|
|
124
124
|
const Sidebar_SidebarTrigger = /*#__PURE__*/ forwardRef(function({ className, children, onClick, type = 'button', 'aria-label': ariaLabel = 'Toggle sidebar', ...props }, ref) {
|
|
@@ -302,7 +302,7 @@ const Sidebar_SidebarMenuSubItem = /*#__PURE__*/ forwardRef(function({ className
|
|
|
302
302
|
...props
|
|
303
303
|
});
|
|
304
304
|
});
|
|
305
|
-
const Sidebar_SidebarMenuSubButton = /*#__PURE__*/ forwardRef(function({ active = false, className, 'aria-current': ariaCurrent, ...props }, ref) {
|
|
305
|
+
const Sidebar_SidebarMenuSubButton = /*#__PURE__*/ forwardRef(function({ active = false, children, className, 'aria-current': ariaCurrent, ...props }, ref) {
|
|
306
306
|
return /*#__PURE__*/ jsx(ark.a, {
|
|
307
307
|
ref: ref,
|
|
308
308
|
"aria-current": ariaCurrent ?? (active ? 'page' : void 0),
|
|
@@ -311,7 +311,11 @@ const Sidebar_SidebarMenuSubButton = /*#__PURE__*/ forwardRef(function({ active
|
|
|
311
311
|
"data-slot": "sidebar-menu-sub-button",
|
|
312
312
|
"data-active": active ? '' : void 0,
|
|
313
313
|
className: clsx(Sidebar_module.menuSubButton, normalizeClassName(className)),
|
|
314
|
-
...props
|
|
314
|
+
...props,
|
|
315
|
+
children: 'string' == typeof children ? /*#__PURE__*/ jsx("span", {
|
|
316
|
+
"data-slot": "sidebar-menu-sub-label",
|
|
317
|
+
children: children
|
|
318
|
+
}) : children
|
|
315
319
|
});
|
|
316
320
|
});
|
|
317
321
|
const Sidebar_SidebarTooltip = function({ children, content, openDelay = 200, closeDelay = 0, positioning, ...props }) {
|
|
@@ -299,6 +299,8 @@
|
|
|
299
299
|
appearance: none;
|
|
300
300
|
font: inherit;
|
|
301
301
|
text-align: start;
|
|
302
|
+
text-overflow: ellipsis;
|
|
303
|
+
white-space: nowrap;
|
|
302
304
|
cursor: pointer;
|
|
303
305
|
transition: background-color var(--moduix-sidebar-transition, var(--moduix-transition-default)),
|
|
304
306
|
border-color var(--moduix-sidebar-transition, var(--moduix-transition-default)),
|
|
@@ -308,6 +310,7 @@
|
|
|
308
310
|
align-items: center;
|
|
309
311
|
text-decoration: none;
|
|
310
312
|
display: flex;
|
|
313
|
+
overflow: hidden;
|
|
311
314
|
}
|
|
312
315
|
|
|
313
316
|
:is(.menuButton-OAl6eQ, .menuSubButton-MjeEfX) > svg {
|
|
@@ -444,6 +447,23 @@
|
|
|
444
447
|
var(--moduix-sidebar-menu-button-padding-x, var(--moduix-spacing-2)) * 2);
|
|
445
448
|
}
|
|
446
449
|
|
|
450
|
+
:is(.menuItem-ktGhRk:has(.menuAction-_BDfHY) .menuButton-OAl6eQ, .menuItem-ktGhRk:has(.menuBadge-GKf4u4) .menuButton-OAl6eQ) > [data-slot="sidebar-menu-sub-label"] {
|
|
451
|
+
text-overflow: ellipsis;
|
|
452
|
+
min-width: 0;
|
|
453
|
+
overflow: hidden;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.menuItem-ktGhRk:has(.menuAction-_BDfHY):has(.menuBadge-GKf4u4) .menuButton-OAl6eQ {
|
|
457
|
+
padding-inline-end: calc(var(--moduix-sidebar-menu-action-size, var(--moduix-size-xs)) +
|
|
458
|
+
var(--moduix-sidebar-menu-badge-min-width, 1.5rem) +
|
|
459
|
+
var(--moduix-sidebar-menu-button-padding-x, var(--moduix-spacing-2)) * 3);
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
.menuItem-ktGhRk:has(.menuAction-_BDfHY):has(.menuBadge-GKf4u4) .menuAction-_BDfHY {
|
|
463
|
+
inset-inline-end: calc(var(--moduix-sidebar-menu-badge-min-width, 1.5rem) +
|
|
464
|
+
var(--moduix-sidebar-menu-button-padding-x, var(--moduix-spacing-2)) * 2);
|
|
465
|
+
}
|
|
466
|
+
|
|
447
467
|
:is(.panel-l44YAX[data-state="collapsed"] .menuItem-ktGhRk:has(.menuAction-_BDfHY) .menuButton-OAl6eQ, .panel-l44YAX[data-state="collapsed"] .menuItem-ktGhRk:has(.menuBadge-GKf4u4) .menuButton-OAl6eQ) {
|
|
448
468
|
padding-inline-end: 0;
|
|
449
469
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Toc as TocPrimitive, type UseTocProps } from '@ark-ui/react/toc';
|
|
2
|
+
import type { ComponentProps } from 'react';
|
|
3
|
+
declare const useToc: ({ autoScroll, ...props }: UseTocProps) => import("@ark-ui/react/toc").UseTocReturn;
|
|
4
|
+
declare const useTocContext: () => import("@ark-ui/react/toc").UseTocContext;
|
|
5
|
+
type TocRailProps = ComponentProps<'svg'> & {
|
|
6
|
+
depth: number;
|
|
7
|
+
previousDepth?: number;
|
|
8
|
+
nextDepth?: number;
|
|
9
|
+
};
|
|
10
|
+
declare const Toc: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
|
|
11
|
+
Root: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
12
|
+
RootProvider: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.RootProviderProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
13
|
+
Context: (props: TocPrimitive.ContextProps) => import("react").ReactNode;
|
|
14
|
+
Content: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.ContentProps & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
15
|
+
Nav: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.NavProps & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
16
|
+
Title: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.TitleProps & import("react").RefAttributes<HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
|
|
17
|
+
List: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.ListProps & import("react").RefAttributes<HTMLUListElement>, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
|
|
18
|
+
Item: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.ItemProps & import("react").RefAttributes<HTMLLIElement>, "ref"> & import("react").RefAttributes<HTMLLIElement>>;
|
|
19
|
+
Link: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.LinkProps & import("react").RefAttributes<HTMLAnchorElement>, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
20
|
+
Indicator: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.IndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
21
|
+
Rail: import("react").ForwardRefExoticComponent<Omit<TocRailProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
22
|
+
};
|
|
23
|
+
export { Toc, useToc, useTocContext };
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Toc, useToc, useTocContext } from "@ark-ui/react/toc";
|
|
4
|
+
import { clsx } from "clsx";
|
|
5
|
+
import { forwardRef } from "react";
|
|
6
|
+
import { normalizeClassName } from "../../internal/normalizeClassName.js";
|
|
7
|
+
import Toc_module from "./Toc.module.js";
|
|
8
|
+
const railBaseOffset = 0;
|
|
9
|
+
const railStep = 12;
|
|
10
|
+
const railBridge = 6;
|
|
11
|
+
const maxRailLevel = 2;
|
|
12
|
+
const getRailOffset = (depth)=>railBaseOffset + Math.min(Math.max(depth - 2, 0), maxRailLevel) * railStep;
|
|
13
|
+
const Toc_useToc = ({ autoScroll = false, ...props })=>useToc({
|
|
14
|
+
autoScroll,
|
|
15
|
+
...props
|
|
16
|
+
});
|
|
17
|
+
const Toc_useTocContext = useTocContext;
|
|
18
|
+
const Toc_TocRoot = /*#__PURE__*/ forwardRef(function({ autoScroll = false, className, ...props }, ref) {
|
|
19
|
+
return /*#__PURE__*/ jsx(Toc.Root, {
|
|
20
|
+
ref: ref,
|
|
21
|
+
autoScroll: autoScroll,
|
|
22
|
+
"data-slot": "toc-root",
|
|
23
|
+
className: clsx(Toc_module.root, normalizeClassName(className)),
|
|
24
|
+
...props
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
const Toc_TocRootProvider = /*#__PURE__*/ forwardRef(function({ className, style, value, ...props }, ref) {
|
|
28
|
+
return /*#__PURE__*/ jsx(Toc.RootProvider, {
|
|
29
|
+
ref: ref,
|
|
30
|
+
value: value,
|
|
31
|
+
"data-slot": "toc-root-provider",
|
|
32
|
+
className: clsx(Toc_module.root, normalizeClassName(className)),
|
|
33
|
+
style: {
|
|
34
|
+
...value.getRootProps().style,
|
|
35
|
+
...style
|
|
36
|
+
},
|
|
37
|
+
...props
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
const Toc_TocContent = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
41
|
+
return /*#__PURE__*/ jsx(Toc.Content, {
|
|
42
|
+
ref: ref,
|
|
43
|
+
"data-slot": "toc-content",
|
|
44
|
+
className: clsx(Toc_module.content, normalizeClassName(className)),
|
|
45
|
+
...props
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
const Toc_TocNav = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
49
|
+
return /*#__PURE__*/ jsx(Toc.Nav, {
|
|
50
|
+
ref: ref,
|
|
51
|
+
"data-slot": "toc-nav",
|
|
52
|
+
className: clsx(Toc_module.nav, normalizeClassName(className)),
|
|
53
|
+
...props
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
const Toc_TocTitle = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
57
|
+
return /*#__PURE__*/ jsx(Toc.Title, {
|
|
58
|
+
ref: ref,
|
|
59
|
+
"data-slot": "toc-title",
|
|
60
|
+
className: clsx(Toc_module.title, normalizeClassName(className)),
|
|
61
|
+
...props
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
const Toc_TocList = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
65
|
+
return /*#__PURE__*/ jsx(Toc.List, {
|
|
66
|
+
ref: ref,
|
|
67
|
+
"data-slot": "toc-list",
|
|
68
|
+
className: clsx(Toc_module.list, normalizeClassName(className)),
|
|
69
|
+
...props
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
const Toc_TocItem = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
73
|
+
return /*#__PURE__*/ jsx(Toc.Item, {
|
|
74
|
+
ref: ref,
|
|
75
|
+
"data-slot": "toc-item",
|
|
76
|
+
className: clsx(Toc_module.item, normalizeClassName(className)),
|
|
77
|
+
...props
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
const Toc_TocLink = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
81
|
+
return /*#__PURE__*/ jsx(Toc.Link, {
|
|
82
|
+
ref: ref,
|
|
83
|
+
"data-slot": "toc-link",
|
|
84
|
+
className: clsx(Toc_module.link, normalizeClassName(className)),
|
|
85
|
+
...props
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
const Toc_TocIndicator = /*#__PURE__*/ forwardRef(function({ className, ...props }, ref) {
|
|
89
|
+
return /*#__PURE__*/ jsx(Toc.Indicator, {
|
|
90
|
+
ref: ref,
|
|
91
|
+
"data-slot": "toc-indicator",
|
|
92
|
+
className: clsx(Toc_module.indicator, normalizeClassName(className)),
|
|
93
|
+
...props
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
const Toc_TocRail = /*#__PURE__*/ forwardRef(function({ className, depth, nextDepth = depth, previousDepth = depth, style, ...props }, ref) {
|
|
97
|
+
const lineOffset = getRailOffset(depth);
|
|
98
|
+
const previousLineOffset = getRailOffset(previousDepth);
|
|
99
|
+
const nextLineOffset = getRailOffset(nextDepth);
|
|
100
|
+
const hasTurn = previousLineOffset !== lineOffset;
|
|
101
|
+
const width = Math.max(previousLineOffset, lineOffset, nextLineOffset) + 2;
|
|
102
|
+
return /*#__PURE__*/ jsxs("svg", {
|
|
103
|
+
ref: ref,
|
|
104
|
+
"aria-hidden": "true",
|
|
105
|
+
"data-slot": "toc-rail",
|
|
106
|
+
className: clsx(Toc_module.rail, normalizeClassName(className)),
|
|
107
|
+
style: {
|
|
108
|
+
width,
|
|
109
|
+
height: lineOffset === nextLineOffset ? `calc(100% + ${railBridge}px + var(--moduix-table-of-contents-list-gap, var(--moduix-spacing-0-5)))` : '100%',
|
|
110
|
+
...style
|
|
111
|
+
},
|
|
112
|
+
...props,
|
|
113
|
+
children: [
|
|
114
|
+
hasTurn && /*#__PURE__*/ jsx("path", {
|
|
115
|
+
d: `M ${previousLineOffset + 0.5} 0 C ${previousLineOffset + 0.5} 8 ${lineOffset + 0.5} 4 ${lineOffset + 0.5} ${2 * railBridge}`,
|
|
116
|
+
fill: "none",
|
|
117
|
+
vectorEffect: "non-scaling-stroke",
|
|
118
|
+
stroke: "currentColor"
|
|
119
|
+
}),
|
|
120
|
+
/*#__PURE__*/ jsx("line", {
|
|
121
|
+
x1: lineOffset + 0.5,
|
|
122
|
+
y1: hasTurn ? 2 * railBridge : railBridge,
|
|
123
|
+
x2: lineOffset + 0.5,
|
|
124
|
+
y2: "100%",
|
|
125
|
+
vectorEffect: "non-scaling-stroke",
|
|
126
|
+
stroke: "currentColor"
|
|
127
|
+
})
|
|
128
|
+
]
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
const Toc_Toc = Object.assign(Toc_TocRoot, {
|
|
132
|
+
Root: Toc_TocRoot,
|
|
133
|
+
RootProvider: Toc_TocRootProvider,
|
|
134
|
+
Context: Toc.Context,
|
|
135
|
+
Content: Toc_TocContent,
|
|
136
|
+
Nav: Toc_TocNav,
|
|
137
|
+
Title: Toc_TocTitle,
|
|
138
|
+
List: Toc_TocList,
|
|
139
|
+
Item: Toc_TocItem,
|
|
140
|
+
Link: Toc_TocLink,
|
|
141
|
+
Indicator: Toc_TocIndicator,
|
|
142
|
+
Rail: Toc_TocRail
|
|
143
|
+
});
|
|
144
|
+
export { Toc_Toc as Toc, Toc_useToc as useToc, Toc_useTocContext as useTocContext };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import "./Toc_module.css";
|
|
2
|
+
const Toc_module = {
|
|
3
|
+
root: "root-VBggED",
|
|
4
|
+
content: "content-AHeziM",
|
|
5
|
+
nav: "nav-q0EDqs",
|
|
6
|
+
title: "title-RjjR4J",
|
|
7
|
+
list: "list-KZD4Qg",
|
|
8
|
+
indicator: "indicator-Zeit8l",
|
|
9
|
+
item: "item-xFlCTb",
|
|
10
|
+
link: "link-L4LQA0",
|
|
11
|
+
rail: "rail-BwE9eo"
|
|
12
|
+
};
|
|
13
|
+
export default Toc_module;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
@layer moduix.components {
|
|
2
|
+
.root-VBggED {
|
|
3
|
+
box-sizing: border-box;
|
|
4
|
+
grid-template-columns: minmax(0, 1fr) minmax(var(--moduix-table-of-contents-nav-min-width, 12rem),
|
|
5
|
+
var(--moduix-table-of-contents-nav-width, 16rem));
|
|
6
|
+
gap: var(--moduix-table-of-contents-gap, var(--moduix-spacing-6));
|
|
7
|
+
width: 100%;
|
|
8
|
+
min-width: 0;
|
|
9
|
+
color: var(--moduix-table-of-contents-color, var(--moduix-color-foreground));
|
|
10
|
+
--_moduix-toc-indicator-top: var(--top);
|
|
11
|
+
--_moduix-toc-indicator-height: var(--height);
|
|
12
|
+
display: grid;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@media (max-width: 48rem) {
|
|
16
|
+
.root-VBggED {
|
|
17
|
+
grid-template-columns: minmax(0, 1fr);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.content-AHeziM {
|
|
22
|
+
scroll-behavior: smooth;
|
|
23
|
+
min-width: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.content-AHeziM:has( ~ .nav-q0EDqs[data-placement="left"]) {
|
|
27
|
+
grid-area: 1 / 2;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.nav-q0EDqs {
|
|
31
|
+
top: var(--moduix-table-of-contents-nav-top, var(--moduix-spacing-4));
|
|
32
|
+
max-height: var(--moduix-table-of-contents-nav-max-height, calc(100dvh - 2rem));
|
|
33
|
+
padding: var(--moduix-table-of-contents-nav-padding, var(--moduix-spacing-4));
|
|
34
|
+
border: var(--moduix-table-of-contents-nav-border-width, var(--moduix-border-width-sm)) solid
|
|
35
|
+
var(--moduix-table-of-contents-nav-border-color, var(--moduix-color-border));
|
|
36
|
+
border-radius: var(--moduix-table-of-contents-nav-radius, var(--moduix-radius-lg));
|
|
37
|
+
background-color: var(--moduix-table-of-contents-nav-bg, var(--moduix-color-card));
|
|
38
|
+
align-self: start;
|
|
39
|
+
position: sticky;
|
|
40
|
+
overflow: auto;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.nav-q0EDqs[data-placement="left"] {
|
|
44
|
+
grid-area: 1 / 1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.root-VBggED:has(.nav-q0EDqs[data-placement="left"]) {
|
|
48
|
+
grid-template-columns: minmax(var(--moduix-table-of-contents-nav-min-width, 12rem),
|
|
49
|
+
var(--moduix-table-of-contents-nav-width, 16rem)) minmax(0, 1fr);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@media (max-width: 48rem) {
|
|
53
|
+
.root-VBggED:has(.nav-q0EDqs[data-placement="left"]) .nav-q0EDqs[data-placement="left"] {
|
|
54
|
+
grid-area: auto;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.root-VBggED:has(.nav-q0EDqs[data-placement="left"]) .content-AHeziM:has( ~ .nav-q0EDqs[data-placement="left"]) {
|
|
58
|
+
grid-area: auto;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.title-RjjR4J {
|
|
63
|
+
margin: 0 0 var(--moduix-table-of-contents-title-margin-bottom, var(--moduix-spacing-2));
|
|
64
|
+
color: var(--moduix-table-of-contents-title-color, var(--moduix-color-foreground));
|
|
65
|
+
font-size: var(--moduix-table-of-contents-title-font-size, var(--moduix-text-sm));
|
|
66
|
+
font-weight: var(--moduix-table-of-contents-title-font-weight, var(--moduix-weight-semibold));
|
|
67
|
+
line-height: var(--moduix-table-of-contents-title-line-height, var(--moduix-line-height-text-sm));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.list-KZD4Qg {
|
|
71
|
+
gap: var(--moduix-table-of-contents-list-gap, var(--moduix-spacing-0-5));
|
|
72
|
+
margin: 0;
|
|
73
|
+
padding-block: 0;
|
|
74
|
+
padding-inline-start: var(--moduix-table-of-contents-list-padding-start, var(--moduix-spacing-1));
|
|
75
|
+
list-style: none;
|
|
76
|
+
display: grid;
|
|
77
|
+
position: relative;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.list-KZD4Qg:has(.indicator-Zeit8l):before {
|
|
81
|
+
top: var(--moduix-spacing-0-5);
|
|
82
|
+
bottom: var(--moduix-spacing-0-5);
|
|
83
|
+
width: var(--moduix-table-of-contents-indicator-width, var(--moduix-border-width-md));
|
|
84
|
+
border-radius: var(--moduix-radius-full);
|
|
85
|
+
background-color: var(--moduix-table-of-contents-indicator-track-bg, var(--moduix-color-border));
|
|
86
|
+
content: "";
|
|
87
|
+
pointer-events: none;
|
|
88
|
+
position: absolute;
|
|
89
|
+
inset-inline-start: 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.item-xFlCTb {
|
|
93
|
+
min-width: 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.link-L4LQA0 {
|
|
97
|
+
min-width: 0;
|
|
98
|
+
padding-block: var(--moduix-table-of-contents-link-padding-y, var(--moduix-spacing-1));
|
|
99
|
+
border-radius: var(--moduix-table-of-contents-link-radius, var(--moduix-radius-sm));
|
|
100
|
+
color: var(--moduix-table-of-contents-link-color, var(--moduix-color-muted-foreground));
|
|
101
|
+
font-size: var(--moduix-table-of-contents-link-font-size, var(--moduix-text-sm));
|
|
102
|
+
line-height: var(--moduix-table-of-contents-link-line-height, var(--moduix-line-height-text-sm));
|
|
103
|
+
text-overflow: ellipsis;
|
|
104
|
+
white-space: nowrap;
|
|
105
|
+
transition: color var(--moduix-transition-default);
|
|
106
|
+
outline: none;
|
|
107
|
+
padding-inline-start: calc(var(--moduix-table-of-contents-link-padding-x, var(--moduix-spacing-1)) +
|
|
108
|
+
var(--moduix-table-of-contents-indicator-width, var(--moduix-border-width-md)) +
|
|
109
|
+
var(--moduix-spacing-2) +
|
|
110
|
+
max(0px,
|
|
111
|
+
calc((var(--depth) - 2) *
|
|
112
|
+
var(--moduix-table-of-contents-link-indent, var(--moduix-spacing-2)))));
|
|
113
|
+
padding-inline-end: var(--moduix-table-of-contents-link-padding-x, var(--moduix-spacing-1));
|
|
114
|
+
text-decoration: none;
|
|
115
|
+
display: block;
|
|
116
|
+
position: relative;
|
|
117
|
+
overflow: hidden;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@media (hover: hover) {
|
|
121
|
+
.link-L4LQA0:hover {
|
|
122
|
+
color: var(--moduix-table-of-contents-link-color-hover, var(--moduix-color-foreground));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.link-L4LQA0:focus-visible {
|
|
127
|
+
box-shadow: 0 0 0
|
|
128
|
+
var(--moduix-table-of-contents-focus-ring-width, var(--moduix-focus-ring-inset-width, var(--moduix-border-width-sm)))
|
|
129
|
+
var(--moduix-table-of-contents-focus-ring-color, var(--moduix-color-ring));
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.link-L4LQA0[data-active] {
|
|
133
|
+
color: var(--moduix-table-of-contents-link-color-active, var(--moduix-color-foreground));
|
|
134
|
+
font-weight: var(--moduix-table-of-contents-link-font-weight-active, var(--moduix-weight-medium));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.link-L4LQA0[data-active] .rail-BwE9eo {
|
|
138
|
+
color: var(--moduix-table-of-contents-indicator-bg, var(--moduix-color-muted-foreground));
|
|
139
|
+
opacity: .7;
|
|
140
|
+
translate: 0 var(--moduix-spacing-0-5);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.link-L4LQA0:has(.rail-BwE9eo) {
|
|
144
|
+
overflow: visible;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.indicator-Zeit8l {
|
|
148
|
+
z-index: 1;
|
|
149
|
+
top: calc(var(--_moduix-toc-indicator-top) + var(--moduix-spacing-0-5));
|
|
150
|
+
width: var(--moduix-table-of-contents-indicator-width, var(--moduix-border-width-md));
|
|
151
|
+
height: calc(var(--_moduix-toc-indicator-height) - var(--moduix-spacing-1));
|
|
152
|
+
border-radius: var(--moduix-table-of-contents-indicator-radius, var(--moduix-radius-full));
|
|
153
|
+
background-color: var(--moduix-table-of-contents-indicator-bg, var(--moduix-color-muted-foreground));
|
|
154
|
+
opacity: .7;
|
|
155
|
+
pointer-events: none;
|
|
156
|
+
transition: top var(--moduix-transition-default),
|
|
157
|
+
height var(--moduix-transition-default);
|
|
158
|
+
inset-inline-start: 0;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.rail-BwE9eo {
|
|
162
|
+
top: calc(-1 * var(--moduix-spacing-1-5));
|
|
163
|
+
color: var(--moduix-table-of-contents-rail-color, var(--moduix-color-border));
|
|
164
|
+
pointer-events: none;
|
|
165
|
+
position: absolute;
|
|
166
|
+
inset-inline-start: 0;
|
|
167
|
+
overflow: visible;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.rail-BwE9eo :is(line, path) {
|
|
171
|
+
stroke-width: var(--moduix-border-width-sm);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
@media (prefers-reduced-motion: reduce) {
|
|
175
|
+
.content-AHeziM {
|
|
176
|
+
scroll-behavior: auto;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.indicator-Zeit8l {
|
|
180
|
+
transition: none;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Toc, useToc, useTocContext } from './Toc.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Toc, useToc, useTocContext } from "./Toc.js";
|