fumadocs-ui 16.3.2 → 16.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../src/components/callout.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,CAAC;AAIX,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,2CAO9D;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAClE;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAQD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EAAE,SAAkB,EACxB,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,qBAAqB,2CA6BvB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAMrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAYrB"}
1
+ {"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../src/components/callout.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,MAAM,CAAC;AAIX,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EAAE;IAAE,KAAK,CAAC,EAAE,SAAS,CAAA;CAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,2CAO9D;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,KAAK,CAAC;IAClE;;OAEG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAQD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,EAAE,SAAkB,EACxB,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,qBAAqB,2CA+BvB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAMrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAYrB"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CircleCheck, CircleX, Info, Sun, TriangleAlert, } from '@fumadocs/ui/icons';
2
+ import { CircleCheck, CircleX, Info, LightBulb, TriangleAlert, } from '@fumadocs/ui/icons';
3
3
  import { cn } from '@fumadocs/ui/cn';
4
4
  const iconClass = 'size-5 -me-0.5 fill-(--callout-color) text-fd-card';
5
5
  export function Callout({ children, title, ...props }) {
@@ -23,7 +23,7 @@ export function CalloutContainer({ type: inputType = 'info', icon, children, cla
23
23
  warning: _jsx(TriangleAlert, { className: iconClass }),
24
24
  error: _jsx(CircleX, { className: iconClass }),
25
25
  success: _jsx(CircleCheck, { className: iconClass }),
26
- idea: _jsx(Sun, { className: iconClass }),
26
+ idea: (_jsx(LightBulb, { className: "size-5 -me-0.5 fill-(--callout-color) text-(--callout-color)" })),
27
27
  }[type], _jsx("div", { className: "flex flex-col gap-2 min-w-0 flex-1", children: children })] }));
28
28
  }
29
29
  export function CalloutTitle({ children, className, ...props }) {
@@ -22,7 +22,7 @@ export function CodeBlock({ ref, title, allowCopy = true, keepBackground = false
22
22
  className: '-me-2',
23
23
  children: allowCopy && _jsx(CopyButton, { containerRef: areaRef }),
24
24
  })] })) : (Actions({
25
- className: 'absolute top-2 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground',
25
+ className: 'absolute top-3 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground',
26
26
  children: allowCopy && _jsx(CopyButton, { containerRef: areaRef }),
27
27
  })), _jsx("div", { ref: areaRef, ...viewportProps, role: "region", tabIndex: 0, className: cn('text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring', viewportProps.className), style: {
28
28
  // space for toolbar
@@ -14,10 +14,11 @@ export type { SharedProps };
14
14
  export interface SearchDialogProps extends SharedProps {
15
15
  search: string;
16
16
  onSearchChange: (v: string) => void;
17
+ onSelect?: (item: SearchItemType) => void;
17
18
  isLoading?: boolean;
18
19
  children: ReactNode;
19
20
  }
20
- export declare function SearchDialog({ open, onOpenChange, search, onSearchChange, isLoading, children, }: SearchDialogProps): import("react/jsx-runtime").JSX.Element;
21
+ export declare function SearchDialog({ open, onOpenChange, search, onSearchChange, isLoading, onSelect: onSelectProp, children, }: SearchDialogProps): import("react/jsx-runtime").JSX.Element;
21
22
  export declare function SearchDialogHeader(props: ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
22
23
  export declare function SearchDialogInput(props: ComponentProps<'input'>): import("react/jsx-runtime").JSX.Element;
23
24
  export declare function SearchDialogClose({ children, className, ...props }: ComponentProps<'button'>): import("react/jsx-runtime").JSX.Element;
@@ -58,6 +59,7 @@ export declare function useSearch(): {
58
59
  onOpenChange: (open: boolean) => void;
59
60
  search: string;
60
61
  onSearchChange: (v: string) => void;
62
+ onSelect: (item: SearchItemType) => void;
61
63
  isLoading: boolean;
62
64
  };
63
65
  export declare function useTagsList(): {
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/search.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/components/dialog/search.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { ChevronRight, Hash, Search as SearchIcon } from '@fumadocs/ui/icons';
4
- import { createContext, Fragment, useCallback, useContext, useEffect, useEffectEvent, useMemo, useRef, useState, } from 'react';
4
+ import { createContext, Fragment, use, useCallback, useEffect, useEffectEvent, useMemo, useRef, useState, } from 'react';
5
5
  import { I18nLabel, useI18n } from '../../contexts/i18n.js';
6
6
  import { cn } from '@fumadocs/ui/cn';
7
7
  import { Dialog, DialogContent, DialogOverlay, DialogTitle, } from '@radix-ui/react-dialog';
@@ -13,17 +13,30 @@ import { buttonVariants } from '../../components/ui/button.js';
13
13
  const Context = createContext(null);
14
14
  const ListContext = createContext(null);
15
15
  const TagsListContext = createContext(null);
16
- export function SearchDialog({ open, onOpenChange, search, onSearchChange, isLoading = false, children, }) {
17
- const [active, setActive] = useState(null);
16
+ export function SearchDialog({ open, onOpenChange, search, onSearchChange, isLoading = false, onSelect: onSelectProp, children, }) {
17
+ const router = useRouter();
18
+ const onSelect = useEffectEvent((item) => {
19
+ if (item.type === 'action') {
20
+ item.onSelect();
21
+ }
22
+ else if (item.external) {
23
+ window.open(item.url, '_blank')?.focus();
24
+ }
25
+ else {
26
+ router.push(item.url);
27
+ }
28
+ onOpenChange(false);
29
+ onSelectProp?.(item);
30
+ });
18
31
  return (_jsx(Dialog, { open: open, onOpenChange: onOpenChange, children: _jsx(Context.Provider, { value: useMemo(() => ({
19
32
  open,
20
33
  onOpenChange,
21
34
  search,
22
35
  onSearchChange,
23
- active,
24
- setActive,
36
+ // eslint-disable-next-line react-hooks/rules-of-hooks -- used in child components
37
+ onSelect,
25
38
  isLoading,
26
- }), [active, isLoading, onOpenChange, onSearchChange, open, search]), children: children }) }));
39
+ }), [isLoading, onOpenChange, onSearchChange, open, search]), children: children }) }));
27
40
  }
28
41
  export function SearchDialogHeader(props) {
29
42
  return (_jsx("div", { ...props, className: cn('flex flex-row items-center gap-2 p-3', props.className) }));
@@ -53,21 +66,8 @@ export function SearchDialogContent({ children, ...props }) {
53
66
  }
54
67
  export function SearchDialogList({ items = null, Empty = () => (_jsx("div", { className: "py-12 text-center text-sm text-fd-muted-foreground", children: _jsx(I18nLabel, { label: "searchNoResult" }) })), Item = (props) => _jsx(SearchDialogListItem, { ...props }), ...props }) {
55
68
  const ref = useRef(null);
69
+ const { onSelect } = useSearch();
56
70
  const [active, setActive] = useState(() => items && items.length > 0 ? items[0].id : null);
57
- const { onOpenChange } = useSearch();
58
- const router = useRouter();
59
- const onOpen = (item) => {
60
- if (item.type === 'action') {
61
- item.onSelect();
62
- }
63
- else if (item.external) {
64
- window.open(item.url, '_blank')?.focus();
65
- }
66
- else {
67
- router.push(item.url);
68
- }
69
- onOpenChange(false);
70
- };
71
71
  const onKey = useEffectEvent((e) => {
72
72
  if (!items || e.isComposing)
73
73
  return;
@@ -85,7 +85,7 @@ export function SearchDialogList({ items = null, Empty = () => (_jsx("div", { cl
85
85
  if (e.key === 'Enter') {
86
86
  const selected = items.find((item) => item.id === active);
87
87
  if (selected)
88
- onOpen(selected);
88
+ onSelect(selected);
89
89
  e.preventDefault();
90
90
  }
91
91
  });
@@ -114,7 +114,7 @@ export function SearchDialogList({ items = null, Empty = () => (_jsx("div", { cl
114
114
  return (_jsx("div", { ...props, ref: ref, "data-empty": items === null, className: cn('overflow-hidden h-(--fd-animated-height) transition-[height]', props.className), children: _jsx("div", { className: cn('w-full flex flex-col overflow-y-auto max-h-[460px] p-1', !items && 'hidden'), children: _jsxs(ListContext.Provider, { value: useMemo(() => ({
115
115
  active,
116
116
  setActive,
117
- }), [active]), children: [items?.length === 0 && Empty(), items?.map((item) => (_jsx(Fragment, { children: Item({ item, onClick: () => onOpen(item) }) }, item.id)))] }) }) }));
117
+ }), [active]), children: [items?.length === 0 && Empty(), items?.map((item) => (_jsx(Fragment, { children: Item({ item, onClick: () => onSelect(item) }) }, item.id)))] }) }) }));
118
118
  }
119
119
  export function SearchDialogListItem({ item, className, children, renderHighlights: render = renderHighlights, ...props }) {
120
120
  const { active: activeId, setActive } = useSearchList();
@@ -123,7 +123,7 @@ export function SearchDialogListItem({ item, className, children, renderHighligh
123
123
  children ?? (children = item.node);
124
124
  }
125
125
  else {
126
- children ?? (children = _jsxs(_Fragment, { children: [_jsx("div", { className: "inline-flex items-center text-fd-muted-foreground text-xs empty:hidden", children: item.breadcrumbs?.map((item, i) => (_jsxs(Fragment, { children: [i > 0 && _jsx(ChevronRight, { className: "size-4" }), item] }, i))) }), item.type !== 'page' && (_jsx("div", { role: "none", className: "absolute start-3 inset-y-0 w-px bg-fd-border" })), _jsxs("p", { className: cn('min-w-0 truncate', item.type !== 'page' && 'ps-4', item.type === 'page' || item.type === 'heading'
126
+ children ?? (children = _jsxs(_Fragment, { children: [_jsx("div", { className: "inline-flex items-center text-fd-muted-foreground text-xs empty:hidden", children: item.breadcrumbs?.map((item, i) => (_jsxs(Fragment, { children: [i > 0 && _jsx(ChevronRight, { className: "size-4 rtl:rotate-180" }), item] }, i))) }), item.type !== 'page' && (_jsx("div", { role: "none", className: "absolute start-3 inset-y-0 w-px bg-fd-border" })), _jsxs("p", { className: cn('min-w-0 truncate', item.type !== 'page' && 'ps-4', item.type === 'page' || item.type === 'heading'
127
127
  ? 'font-medium'
128
128
  : 'text-fd-popover-foreground/80'), children: [item.type === 'heading' && (_jsx(Hash, { className: "inline me-1 size-4 text-fd-muted-foreground" })), item.contentWithHighlights
129
129
  ? render(item.contentWithHighlights)
@@ -173,19 +173,19 @@ function renderHighlights(highlights) {
173
173
  });
174
174
  }
175
175
  export function useSearch() {
176
- const ctx = useContext(Context);
176
+ const ctx = use(Context);
177
177
  if (!ctx)
178
178
  throw new Error('Missing <SearchDialog />');
179
179
  return ctx;
180
180
  }
181
181
  export function useTagsList() {
182
- const ctx = useContext(TagsListContext);
182
+ const ctx = use(TagsListContext);
183
183
  if (!ctx)
184
184
  throw new Error('Missing <TagsList />');
185
185
  return ctx;
186
186
  }
187
187
  export function useSearchList() {
188
- const ctx = useContext(ListContext);
188
+ const ctx = use(ListContext);
189
189
  if (!ctx)
190
190
  throw new Error('Missing <SearchDialogList />');
191
191
  return ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/contexts/i18n.tsx"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/contexts/i18n.tsx"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -1,2 +1 @@
1
- 'use client';
2
1
  export * from '@fumadocs/ui/contexts/i18n';
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/contexts/search.tsx"],"names":[],"mappings":"AACA,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/contexts/search.tsx"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC"}
@@ -1,2 +1 @@
1
- 'use client';
2
1
  export * from '@fumadocs/ui/contexts/search';
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/contexts/tree.tsx"],"names":[],"mappings":"AACA,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/contexts/tree.tsx"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -1,2 +1 @@
1
- 'use client';
2
1
  export * from '@fumadocs/ui/contexts/tree';
@@ -1,6 +1,6 @@
1
1
  import * as Base from '../../components/sidebar/base.js';
2
2
  import { type ComponentProps } from 'react';
3
- export declare const Sidebar: typeof Base.SidebarProvider, SidebarFolder: typeof Base.SidebarFolder, SidebarCollapseTrigger: typeof Base.SidebarCollapseTrigger, SidebarViewport: typeof Base.SidebarViewport, SidebarTrigger: typeof Base.SidebarTrigger;
3
+ export { SidebarProvider as Sidebar, SidebarFolder, SidebarCollapseTrigger, SidebarViewport, SidebarTrigger, } from '../../components/sidebar/base.js';
4
4
  export declare function SidebarContent({ ref: refProp, className, children, ...props }: ComponentProps<'aside'>): import("react/jsx-runtime").JSX.Element;
5
5
  export declare function SidebarDrawer({ children, className, ...props }: ComponentProps<typeof Base.SidebarDrawerContent>): import("react/jsx-runtime").JSX.Element;
6
6
  export declare function SidebarSeparator({ className, style, children, ...props }: ComponentProps<'p'>): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layouts/docs/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,OAAO,CAAC;AA6BpD,eAAO,MACY,OAAO,+BACxB,aAAa,6BACb,sBAAsB,sCACtB,eAAe,+BACf,cAAc,4BACR,CAAC;AAET,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EAAE,OAAO,EACZ,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,CAAC,2CA+DzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAelD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAerB;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,2CAkBzC;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAmBlD;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,2CAmB/C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAgBlD;AAED,eAAO,MAAM,eAAe,sIAO1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;6CAM1B,CAAC"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layouts/docs/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,KAAK,cAAc,EAAU,MAAM,OAAO,CAAC;AA6BpD,OAAO,EACL,eAAe,IAAI,OAAO,EAC1B,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,cAAc,GACf,MAAM,2BAA2B,CAAC;AAEnC,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EAAE,OAAO,EACZ,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,CAAC,2CA+DzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAelD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAerB;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,2CAkBzC;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAmBlD;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,2CAmB/C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAgBlD;AAED,eAAO,MAAM,eAAe,sIAO1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;6CAM1B,CAAC"}
@@ -24,7 +24,7 @@ const itemVariants = cva('relative flex flex-row items-center gap-2 rounded-lg p
24
24
  function getItemOffset(depth) {
25
25
  return `calc(${2 + 3 * depth} * var(--spacing))`;
26
26
  }
27
- export const { SidebarProvider: Sidebar, SidebarFolder, SidebarCollapseTrigger, SidebarViewport, SidebarTrigger, } = Base;
27
+ export { SidebarProvider as Sidebar, SidebarFolder, SidebarCollapseTrigger, SidebarViewport, SidebarTrigger, } from '../../components/sidebar/base.js';
28
28
  export function SidebarContent({ ref: refProp, className, children, ...props }) {
29
29
  const ref = useRef(null);
30
30
  return (_jsx(Base.SidebarContent, { children: ({ collapsed, hovered, ref: asideRef, ...rest }) => (_jsxs(_Fragment, { children: [_jsxs("div", { "data-sidebar-placeholder": "", className: "sticky top-(--fd-docs-row-1) z-20 [grid-area:sidebar] pointer-events-none *:pointer-events-auto h-[calc(var(--fd-docs-height)-var(--fd-docs-row-1))] md:layout:[--fd-sidebar-width:268px] max-md:hidden", children: [collapsed && (_jsx("div", { className: "absolute start-0 inset-y-0 w-4", ...rest })), _jsx("aside", { id: "nd-sidebar", ref: mergeRefs(ref, refProp, asideRef), "data-collapsed": collapsed, "data-hovered": collapsed && hovered, className: cn('absolute flex flex-col w-full start-0 inset-y-0 items-end bg-fd-card text-sm border-e duration-250 *:w-(--fd-sidebar-width)', collapsed && [
@@ -35,7 +35,7 @@ export function SidebarContent({ ref: refProp, className, children, ...props })
35
35
  ], ref.current &&
36
36
  (ref.current.getAttribute('data-collapsed') === 'true') !==
37
37
  collapsed &&
38
- 'transition-[width,inset-block,translate,background-color]', className), ...props, ...rest, children: children })] }), _jsxs("div", { "data-sidebar-panel": "", className: cn('fixed flex top-[calc(--spacing(4)+var(--fd-docs-row-3))] start-4 shadow-lg transition-opacity rounded-xl p-0.5 border bg-fd-muted text-fd-muted-foreground z-10', (!collapsed || hovered) && 'pointer-events-none opacity-0'), children: [_jsx(SidebarCollapseTrigger, { className: cn(buttonVariants({
38
+ 'transition-[width,inset-block,translate,background-color]', className), ...props, ...rest, children: children })] }), _jsxs("div", { "data-sidebar-panel": "", className: cn('fixed flex top-[calc(--spacing(4)+var(--fd-docs-row-3))] start-4 shadow-lg transition-opacity rounded-xl p-0.5 border bg-fd-muted text-fd-muted-foreground z-10', (!collapsed || hovered) && 'pointer-events-none opacity-0'), children: [_jsx(Base.SidebarCollapseTrigger, { className: cn(buttonVariants({
39
39
  color: 'ghost',
40
40
  size: 'icon-sm',
41
41
  className: 'rounded-lg',
@@ -78,7 +78,7 @@ export function SidebarFolderContent({ className, children, ...props }) {
78
78
  "before:content-[''] before:absolute before:w-px before:inset-y-1 before:bg-fd-border before:start-2.5", className), ...props, children: children }));
79
79
  }
80
80
  export const SidebarPageTree = createPageTreeRenderer({
81
- SidebarFolder,
81
+ SidebarFolder: Base.SidebarFolder,
82
82
  SidebarFolderContent,
83
83
  SidebarFolderLink,
84
84
  SidebarFolderTrigger,
@@ -86,7 +86,7 @@ export const SidebarPageTree = createPageTreeRenderer({
86
86
  SidebarSeparator,
87
87
  });
88
88
  export const SidebarLinkItem = createLinkItemRenderer({
89
- SidebarFolder,
89
+ SidebarFolder: Base.SidebarFolder,
90
90
  SidebarFolderContent,
91
91
  SidebarFolderLink,
92
92
  SidebarFolderTrigger,
@@ -1,6 +1,10 @@
1
1
  import * as Base from '../../components/sidebar/base.js';
2
2
  import { type ComponentProps } from 'react';
3
- export declare const Sidebar: typeof Base.SidebarProvider, SidebarFolder: typeof Base.SidebarFolder, SidebarCollapseTrigger: typeof Base.SidebarCollapseTrigger, SidebarViewport: typeof Base.SidebarViewport, SidebarTrigger: typeof Base.SidebarTrigger;
3
+ export declare function Sidebar(props: ComponentProps<typeof Base.SidebarProvider>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function SidebarFolder(props: ComponentProps<typeof Base.SidebarFolder>): import("react/jsx-runtime").JSX.Element;
5
+ export declare function SidebarCollapseTrigger(props: ComponentProps<typeof Base.SidebarCollapseTrigger>): import("react/jsx-runtime").JSX.Element;
6
+ export declare function SidebarViewport(props: ComponentProps<typeof Base.SidebarViewport>): import("react/jsx-runtime").JSX.Element;
7
+ export declare function SidebarTrigger(props: ComponentProps<typeof Base.SidebarTrigger>): import("react/jsx-runtime").JSX.Element;
4
8
  export declare function SidebarContent({ ref: refProp, className, children, ...props }: ComponentProps<'aside'>): import("react/jsx-runtime").JSX.Element;
5
9
  export declare function SidebarDrawer({ children, className, ...props }: ComponentProps<typeof Base.SidebarDrawerContent>): import("react/jsx-runtime").JSX.Element;
6
10
  export declare function SidebarSeparator({ className, style, children, ...props }: ComponentProps<'p'>): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layouts/notebook/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,OAAO,CAAC;AA2BzD,eAAO,MACY,OAAO,+BACxB,aAAa,6BACb,sBAAsB,sCACtB,eAAe,+BACf,cAAc,4BACR,CAAC;AAET,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EAAE,OAAO,EACZ,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,CAAC,2CAgDzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAelD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAerB;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,2CAkBzC;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAmBlD;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,2CAmB/C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAgBlD;AACD,eAAO,MAAM,eAAe,sIAO1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;6CAM1B,CAAC"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layouts/notebook/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,2BAA2B,CAAC;AAElD,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,OAAO,CAAC;AA2BzD,wBAAgB,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,2CAEzE;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,2CAGjD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,sBAAsB,CAAC,2CAG1D;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,2CAGnD;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,cAAc,CAAC,2CAGlD;AAED,wBAAgB,cAAc,CAAC,EAC7B,GAAG,EAAE,OAAO,EACZ,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,CAAC,2CAgDzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAelD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,GAAG,CAAC,2CAerB;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,2CAkBzC;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAmBlD;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,iBAAiB,CAAC,2CAmB/C;AAED,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,CAAC,OAAO,IAAI,CAAC,oBAAoB,CAAC,2CAgBlD;AACD,eAAO,MAAM,eAAe,sIAO1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;6CAM1B,CAAC"}
@@ -22,7 +22,21 @@ const itemVariants = cva('relative flex flex-row items-center gap-2 rounded-lg p
22
22
  function getItemOffset(depth) {
23
23
  return `calc(${2 + 3 * depth} * var(--spacing))`;
24
24
  }
25
- export const { SidebarProvider: Sidebar, SidebarFolder, SidebarCollapseTrigger, SidebarViewport, SidebarTrigger, } = Base;
25
+ export function Sidebar(props) {
26
+ return _jsx(Base.SidebarProvider, { ...props });
27
+ }
28
+ export function SidebarFolder(props) {
29
+ return _jsx(Base.SidebarFolder, { ...props });
30
+ }
31
+ export function SidebarCollapseTrigger(props) {
32
+ return _jsx(Base.SidebarCollapseTrigger, { ...props });
33
+ }
34
+ export function SidebarViewport(props) {
35
+ return _jsx(Base.SidebarViewport, { ...props });
36
+ }
37
+ export function SidebarTrigger(props) {
38
+ return _jsx(Base.SidebarTrigger, { ...props });
39
+ }
26
40
  export function SidebarContent({ ref: refProp, className, children, ...props }) {
27
41
  const { navMode } = use(LayoutContext);
28
42
  const ref = useRef(null);
package/dist/style.css CHANGED
@@ -337,6 +337,9 @@
337
337
  .top-\(--fd-docs-row-3\) {
338
338
  top: var(--fd-docs-row-3);
339
339
  }
340
+ .top-\(--fd-top\) {
341
+ top: var(--fd-top);
342
+ }
340
343
  .top-0 {
341
344
  top: calc(var(--spacing) * 0);
342
345
  }
@@ -346,8 +349,8 @@
346
349
  .top-1\/2 {
347
350
  top: calc(1/2 * 100%);
348
351
  }
349
- .top-2 {
350
- top: calc(var(--spacing) * 2);
352
+ .top-3 {
353
+ top: calc(var(--spacing) * 3);
351
354
  }
352
355
  .top-4 {
353
356
  top: calc(var(--spacing) * 4);
@@ -1580,6 +1583,9 @@
1580
1583
  .whitespace-nowrap {
1581
1584
  white-space: nowrap;
1582
1585
  }
1586
+ .text-\(--callout-color\) {
1587
+ color: var(--callout-color);
1588
+ }
1583
1589
  .text-fd-accent-foreground {
1584
1590
  color: var(--color-fd-accent-foreground);
1585
1591
  }
@@ -1704,6 +1710,11 @@
1704
1710
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1705
1711
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1706
1712
  }
1713
+ .transition-\[top\,height\] {
1714
+ transition-property: top,height;
1715
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1716
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1717
+ }
1707
1718
  .transition-\[translate\,height\] {
1708
1719
  transition-property: translate,height;
1709
1720
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -1759,6 +1770,10 @@
1759
1770
  --tw-duration: 400ms;
1760
1771
  transition-duration: 400ms;
1761
1772
  }
1773
+ .ease-linear {
1774
+ --tw-ease: linear;
1775
+ transition-timing-function: linear;
1776
+ }
1762
1777
  .outline-none {
1763
1778
  --tw-outline-style: none;
1764
1779
  outline-style: none;
@@ -3006,6 +3021,10 @@
3006
3021
  syntax: "*";
3007
3022
  inherits: false;
3008
3023
  }
3024
+ @property --tw-ease {
3025
+ syntax: "*";
3026
+ inherits: false;
3027
+ }
3009
3028
  @property --tw-content {
3010
3029
  syntax: "*";
3011
3030
  initial-value: "";
@@ -3236,6 +3255,7 @@
3236
3255
  --tw-backdrop-saturate: initial;
3237
3256
  --tw-backdrop-sepia: initial;
3238
3257
  --tw-duration: initial;
3258
+ --tw-ease: initial;
3239
3259
  --tw-content: "";
3240
3260
  --tw-scale-x: 1;
3241
3261
  --tw-scale-y: 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fumadocs-ui",
3
- "version": "16.3.2",
3
+ "version": "16.4.1",
4
4
  "description": "The Radix UI version of Fumadocs UI",
5
5
  "keywords": [
6
6
  "Fumadocs",
@@ -105,8 +105,8 @@
105
105
  "next-themes": "^0.4.6",
106
106
  "react-medium-image-zoom": "^5.4.0",
107
107
  "scroll-into-view-if-needed": "^3.1.0",
108
- "@fumadocs/ui": "16.3.2",
109
- "fumadocs-core": "16.3.2"
108
+ "@fumadocs/ui": "16.4.1",
109
+ "fumadocs-core": "16.4.1"
110
110
  },
111
111
  "devDependencies": {
112
112
  "@tailwindcss/cli": "^4.1.18",
@@ -117,7 +117,7 @@
117
117
  "tsc-alias": "^1.8.16",
118
118
  "@fumadocs/cli": "1.2.0",
119
119
  "eslint-config-custom": "0.0.0",
120
- "fumadocs-core": "16.3.2",
120
+ "fumadocs-core": "16.4.1",
121
121
  "tsconfig": "0.0.0"
122
122
  },
123
123
  "peerDependencies": {