@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.
@@ -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, color-mix(in oklab, var(--moduix-color-muted) 92%, var(--moduix-color-foreground)));
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, color-mix(in oklab, var(--moduix-color-muted) 84%, var(--moduix-color-foreground)));
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, panels, defaultSize, panelId = 'sidebar', side = 'left', ...props }, ref) {
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: panels ?? getDefaultPanels(side, panelId),
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: void 0 === children ? null : 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";