@fumadocs/base-ui 16.15.10 → 16.15.12
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/css/generated/shared.css +1 -1
- package/dist/components/accordion.js +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/dialog/search.js +1 -1
- package/dist/components/image-zoom.d.ts +2 -2
- package/dist/components/image-zoom.js +1 -1
- package/dist/components/sidebar/base.d.ts +2 -2
- package/dist/components/sidebar/base.js +13 -6
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/button.js +3 -1
- package/dist/layouts/docs/page/index.js +1 -1
- package/dist/layouts/docs/page/slots/toc.js +0 -1
- package/dist/layouts/docs/slots/container.js +0 -1
- package/dist/layouts/docs/slots/header.js +1 -1
- package/dist/layouts/docs/slots/sidebar.js +5 -6
- package/dist/layouts/flux/index.js +1 -1
- package/dist/layouts/flux/page/index.js +1 -1
- package/dist/layouts/glass/page/index.js +1 -1
- package/dist/layouts/glass/slots/header.js +1 -1
- package/dist/layouts/glass/slots/sidebar.js +13 -6
- package/dist/layouts/home/not-found.js +1 -1
- package/dist/layouts/home/slots/header.js +5 -6
- package/dist/layouts/notebook/page/index.js +1 -1
- package/dist/layouts/notebook/slots/header.js +4 -4
- package/dist/layouts/notebook/slots/sidebar.js +4 -5
- package/dist/layouts/shared/page-actions.js +2 -2
- package/dist/layouts/shared/slots/search-trigger.d.ts +1 -1
- package/dist/layouts/shared/slots/search-trigger.js +2 -2
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/controlled.d.ts +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/controlled.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/uncontrolled.d.ts +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/uncontrolled.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/adjust-svg-ids.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/compute-positioned-style.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/element-tests.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-div-img-style.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-img-alt.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-img-object-fit-style.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-img-regular-style.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-img-src.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-modal-img-transform.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-scale.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-style-ghost.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-style-modal-img.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/get-target-dimension.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/parse-position.js +1 -1
- package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/utils/test-has-scalable-src.js +1 -1
- package/dist/style.css +0 -3
- package/package.json +19 -16
- package/dist/components/ui/scroll-area.d.ts +0 -8
- package/dist/components/ui/scroll-area.js +0 -32
- /package/dist/node_modules/.pnpm/{react-medium-image-zoom@5.4.9_react-dom@19.2.8_react@19.2.8__react@19.2.8 → react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0}/node_modules/react-medium-image-zoom/dist/index.d.ts +0 -0
package/css/generated/shared.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@source inline("!collapsed !isActive !items !nested !open !title *:border-b *:data-[empty=true]:border-b-0 *:flex *:flex-col *:has-[+:last-child[data-empty=true]]:border-b-0 *:last:border-b-0 *:rounded-full --accordion-panel-height --anchor-width --available-height --callout-color --collapsible-panel-height --color-fd- --color-fd-muted --fd-animated-height --fd-banner-height --offset-distance --opacity --padding-right --shiki-dark-bg --shiki-light-bg --spacing --track-bottom --track-top --transform-origin -mb-px -me-0.5 -me-2 -mx-px -rotate-90 -top-1.5 -translate-x-1/2 -translate-y-1/2 -z-1 @container @defaultValue @deprecated @fuma-translate/react @keyframes @max-lg:col-span-full @max-xl:hidden @param @ts-expect-error @typescript-eslint/no-namespace [&>figure:only-child]:-m-4 [&>figure:only-child]:border-none [&[hidden]:not([hidden='until-found'])]:hidden [&_svg]:size-3.5 [&_svg]:size-4 [&_svg]:size-4.5 [&_svg]:size-5 [&_svg]:size-full [&_svg]:text-fd-muted-foreground [offset-distance:var(--offset-distance,0)] [scrollbar-width:none] a abcdefghijklmnopqrstuvwxyz234567 about absolute accordion action actions active add addEventListener advanced algoliaClient align alignItems alignmentBaseline all allowClear allowCopy allowDangerousHtml allows alphabet always an anchor and animate-pulse animation another application/json areaRef aria-controls aria-describedby aria-expanded aria-label aria-selected as aside ask assume assumes async at auto await backdrop-blur-lg backdrop-blur-xs background background-position backgroundColor backgroundImage backgroundSize backward banner basePath baseProps baseSlots baseUrl based behaviour belongs between bg-(--callout-color)/50 bg-(--shiki-light-bg) bg-fd-accent bg-fd-background bg-fd-border bg-fd-card bg-fd-muted bg-fd-overlay bg-fd-popover bg-fd-popover/60 bg-fd-primary bg-fd-primary/10 bg-fd-secondary bg-fd-secondary/50 bg-transparent bind bitsLeft black block blocks boolean border border-b border-l border-none border-s border-t border-transparent borderBottom bottom bottom-0 bottom-1.5 bound boundary buffer bundle button buttonVariants by cache cached can case center central change changeLayout checked child children chooseLanguage class-variance-authority className clear client client-side clientHeight clientWidth clipPath clone close closeOnRedirect closed cn code col-span-full collapsed collapsible collection color colors column com compact compat compatibility component components composedRef computed config const container containerRef containing content contents context controlled/uncontrolled copy core counterSet createContext createMarkdownRenderer createRelativeLink css ctx current currentColor custom customize cva cx cy d dangerouslySetInnerHTML dark dark:bg-(--shiki-dark-bg) dashed data data-[active=true]:text-fd-primary data-[active]:border-fd-primary data-[active]:text-fd-primary data-[inactive]:hidden data-[popup-open]:bg-fd-accent data-[popup-open]:text-fd-accent-foreground data-accordion-value data-active data-card data-checked data-checked:text-fd-accent-foreground data-closed:animate-fd-dialog-out data-closed:animate-fd-fade-out data-closed:animate-fd-popover-out data-collapsed data-empty data-ending-style:h-0 data-ending-style:opacity-0 data-fd-search-dialog-input data-icon data-line-numbers data-line-numbers-start data-open:animate-fd-dialog-in data-open:animate-fd-fade-in data-open:animate-fd-popover-in data-search data-search-full data-starting-style:h-0 data-starting-style:opacity-0 data-state data-theme-toggle date debounced declare default defaultColor defaultFormatter defaultIndex defaultItems defaultLanguage defaultMdxComponents defaultOpen defaultOpenLevel defaultShikiFactory defaultTransform defaultUrl defaultValue defineI18nUI defined delay delayMs depends deprecated depth description detect dialog dialogHandle dir disabled disabled:opacity-50 disabled:pointer-events-none display displayName displayed distance div divide-fd-border divide-x divide-y documented dominantBaseline don drawer dropdown duration-100 duration-200 duration-400 each ease-out element else empty empty:hidden empty:mb-0 enabled encoded endIdx endpoint env environment equal error escape eslint-disable-next-line event export extends external extraProps false fd-moving-banner fd-scroll-container fd-search-dialog-content fd-step fd-steps fetch fetchClient fetchOptions field fieldVariants figure file fill fill-(--callout-color) fill-fd-muted fill-fd-muted-foreground fill-fd-primary fill-fd-primary-foreground filter filters finally first:mt-0 fixed flex flex-1 flex-col flex-row flex-wrap flexDirection flushSync focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring focus-visible:ring-inset folder folders font-medium font-mono fontSize fontWeight for forks formatter formatterOptions found fragment free from full fumadocs fumadocs-core/framework fumadocs-core/highlight fumadocs-core/i18n fumadocs-core/link fumadocs-core/page-tree fumadocs-core/search fumadocs-core/source fumadocs-core/toc function gap gap-0.5 gap-1 gap-1.5 gap-2 gap-3 gap-3.5 gap-4 gap-y-4 generated ghost github-dark github-light githubUrl given global globalKey grid grid-cols-2 grid-cols-[1fr_3fr] group group-data-[open]:rotate-180 group-data-active:bg-fd-primary group-data-open:rotate-180 group-data-panel-open:rotate-90 group-hover/heading:opacity-100 group/heading groupListeners groups guides h h-(--accordion-panel-height) h-(--collapsible-panel-height) h-(--fd-animated-height) h-1.5 h-9.5 h-[calc(100%+--spacing(1.5))] h-full h-px h1 h2 h3 h4 h5 h6 handle handleThemeChange has-focus-visible:bg-fd-accent hash hashchange hast have header headers heading height hidden hideLocale highlight highlighter hints horizontal hover:bg-fd-accent hover:bg-fd-accent/80 hover:bg-fd-primary/80 hover:text-fd-accent-foreground hovered hovering href html i i18n i18nProvider icon icon-sm icon-xs iconClass id idea idx if if-needed ignore img import in inPre inTab index infinite info initialFocus inline inline-flex input inputType inset-0 inset-e-2 inset-s-0 inset-s-3 inset-s-6 inset-x-2 inset-y-0 inside instanceof instead integration interface intersect invisible is isActive isComposing isFirst isLast isLoading isUp it item itemLineLengths itemVariants items items-center js justify-between justify-center keepBackground keepMounted key keyCode keydown keys l l0 l1 l2 label lang language languageSelect last:rounded-b-xl layer layout leading-none leaving left-0 left-1/2 length let letting level light light-dark light-dark-system line line-through linear link links list listener listeners localRef locale localeTranslations locales lower ltr lucide lucide-book lucide-book-icon lucide-react made main make map mapped margin marginTop mark markdownUrl marked mask-[linear-gradient(to_bottom,transparent,white_12px,white_calc(100%-12px),transparent)] mask-[linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent)] mask-[linear-gradient(to_bottom,white,white_30px,transparent_80px)] maskComposite maskImage max-h-(--available-height) max-h-20 max-h-[460px] max-h-[600px] max-md:bg-fd-secondary max-md:border max-md:p-1.5 max-md:rounded-md max-w-[1400px] max-w-[98vw] max-w-full max-w-screen-sm max-width maximumFractionDigits mb-1 mb-1.5 mb-2 md:hidden md:mb-auto md:size-5 md:top-[calc(50%-250px)] mdComponents mdRenderer mdx/types.js me-1 me-2 me-auto menu menuItems mergeRefs message middle min-h-0 min-w-0 min-w-[240px] min-w-fit min-w-full mode module mounted mouse ms-2 ms-auto mt-1 mt-6 must mx-auto my-0 my-0! my-0.5 my-4 my-6 my-auto n name namespace nav navItems navTitle navigate navigation nd-copy-ignore nd-sidebar nd-sidebar-mobile nearest needed nested nested-url never new newTheme next next-themes next/og node nodes none noopener noreferrer normal normalize not not-last:mb-2 not-prose notation note now null number numbers object observer of offsetPath offsetTop on onAnimationEnd onChange onClick onCopy onKey onOpenChange onOpenChangeCallback onPointerEnter onPointerLeave onPointerMove onPrint onSearchChange onSearchChangeCallback onSelect onSelectCallback onTagChange onTagChangeCallback onValueChange once one only opacity-(--opacity,0) opacity-0 open openFromHash option optional options or oramaCloudClient order orientation origin-(--transform-origin) origin-center original other out outline outline-none output overflow-auto overflow-hidden overflow-x-auto overflow-x-clip overflow-y-auto override overscroll-contain own owner oxlint-disable-next-line p p-0.5 p-1 p-1.5 p-2 p-3 p-4 padding paddingBottom paddingInlineStart page pageUrl panel panels parameters params parentId pass passed path pathname paths pb-0 pb-2 pe-2 per performing persist persistent placeholder placeholder:text-fd-muted-foreground please pointerType points populated positions possible powered pre pre-rendering prefetch prev preventScroll previous previousRef primary primaryColor primaryTextColor promise promises prompt prop props prose prose-no-margin provide provider ps-1 ps-2 ps-4 ps-8 pt-0 pure px px-0.5 px-1 px-1.5 px-2 px-2.5 px-3 px-4 px-px py-0.5 py-1 py-1.5 py-12 py-2 py-2.5 py-3 py-3.5 q query querySelector questions rainbow rainbowColors raw re-create react react-dom react-hooks/exhaustive-deps react-hooks/rules-of-hooks react-medium-image-zoom ref referenced region registering rehype-raw rehypeCustomElements rehypePlugins rehypeRaw rel relative remarkRehypeOptions remove removeEventListener render renderHighlights renderMarkdown repo repository required resolve resolved resolvedTheme response rest result results return revalidate right-2 role root rootRef round rounded-2xl rounded-[inherit] rounded-full rounded-lg rounded-md rounded-sm rounded-xl router row rtl:-scale-x-100 rtl:rotate-180 rtl:rotate-90 s same scroll scroll-into-view-if-needed scroll-m-20 scroll-m-24 scroll-m-28 scroll-m-4 scrollIntoView scrollMode search searchOptions searchToggle searchToggleEnabled searchTrigger secondary see select-none selected separate separator server set setActive setCollapsed setHidden setHover setLoading setMounted setOpen setSvg setTag setValue shadow-2xl shadow-lg shadow-md shadow-sm shiki shikiOptions shortcuts show showAlgolia showOrama shrink-0 side sideOffset sidebar signature simple since site size size-1 size-3 size-3.5 size-4 size-5 size-6.5 size-9 size-full sizes slots sm solid some source sourceMappingURL space span specific src stars startIdx state static stay sticky still str string stroke stroke-fd-foreground/10 stroke-fd-primary strokeLinecap strokeLinejoin strokeWidth strong style styles success supported supposed sure svg switch switcher system t tab tabIndex table tabs tabsRef tag tagName tags target text text-(--callout-color) text-[0.8125rem] text-[0.9375rem] text-center text-fd-accent-foreground text-fd-card text-fd-card-foreground text-fd-foreground/80 text-fd-muted-foreground text-fd-muted-foreground/50 text-fd-popover-foreground text-fd-popover-foreground/80 text-fd-primary text-fd-primary-foreground text-fd-primary/50 text-fd-secondary-foreground text-lg text-nowrap text-sm text-start text-xs text/plain textAnchor textContent that the their theme themeAriaLabels themeSwitch themeSwitchEnabled themes then this throw thumbBox tier timerRef tip title to toc tocInfo toolbar top top-0 top-1/2 top-2 top-2.5 top-4 touch transform transition-[clip-path] transition-[height,opacity] transition-[height] transition-[opacity,offset-distance] transition-all transition-colors transition-opacity transition-transform translationKeys translations translations/keys.json transparent tree trigger true truncate try type typeof types unchanged undefined underline underlying understand unified unist-util-visit unknown unnecessarily updateAnchor updates upperX url urls us usage use useCopyButton useDocsSearch useI18n useId useIsDocsLayout useItems useMediaQuery useMemo useOnChange usePathname useProps useRef useRouter useSearchContext useSidebar useState useTOCItems useTheme useTranslations useTreePath useful users using usually v v17 value valueToIdMap values variables variant variants vertical viewBox viewRef viewport viewportProps visit vite void w w-(--anchor-width) w-0 w-0.5 w-1.5 w-1/4 w-[calc(100%-1rem)] w-fit w-full w-max w-px want warn warning what when where which while white whitespace-nowrap whitespaces width will window with work wrap wrap-anywhere wrapElement wrapInSuspense wrapped x x1 x2 xmlns y y1 y2 you your z-2 z-40 z-50 zoom zoomImg zoomMargin");
|
|
1
|
+
@source inline("!collapsed !isActive !items !nested !open !title *:border-b *:data-[empty=true]:border-b-0 *:flex *:flex-col *:has-[+:last-child[data-empty=true]]:border-b-0 *:last:border-b-0 *:rounded-full --accordion-panel-height --anchor-width --available-height --callout-color --collapsible-panel-height --color-fd- --color-fd-muted --fd-animated-height --fd-banner-height --offset-distance --opacity --padding-right --shiki-dark-bg --shiki-light-bg --spacing --track-bottom --track-top --transform-origin -mb-px -me-0.5 -me-2 -mx-px -rotate-90 -top-1.5 -translate-x-1/2 -translate-y-1/2 -z-1 @container @defaultValue @deprecated @fuma-translate/react @keyframes @max-lg:col-span-full @max-xl:hidden @param @ts-expect-error @typescript-eslint/no-namespace [&>figure:only-child]:-m-4 [&>figure:only-child]:border-none [&[hidden]:not([hidden='until-found'])]:hidden [&_svg]:size-3.5 [&_svg]:size-4 [&_svg]:size-4.5 [&_svg]:size-5 [&_svg]:size-full [&_svg]:text-fd-muted-foreground [offset-distance:var(--offset-distance,0)] [scrollbar-width:none] a abcdefghijklmnopqrstuvwxyz234567 about absolute accordion action actions active add addEventListener advanced algoliaClient align alignItems alignmentBaseline all allowClear allowCopy allowDangerousHtml allows alphabet always an anchor and animate-pulse animation another application/json areaRef aria-controls aria-describedby aria-expanded aria-label aria-selected as aside ask assume assumes async at auto await backdrop-blur-lg backdrop-blur-xs background background-position backgroundColor backgroundImage backgroundSize backward banner basePath baseProps baseSlots baseUrl based behaviour belongs between bg-(--callout-color)/50 bg-(--shiki-light-bg) bg-fd-accent bg-fd-background bg-fd-border bg-fd-card bg-fd-muted bg-fd-overlay bg-fd-popover bg-fd-popover/60 bg-fd-primary bg-fd-primary/10 bg-fd-secondary bg-fd-secondary/50 bg-transparent bind bitsLeft black block blocks boolean border border-b border-l border-none border-s border-t border-transparent borderBottom bottom bottom-0 bottom-1.5 bound boundary buffer bundle button buttonVariants by cache cached can case center central change changeLayout checked child children chooseLanguage class-variance-authority className clear client client-side clientHeight clientWidth clipPath clone close closeOnRedirect closed cn code col-span-full collapsed collapsible collection color colors column com compact compat compatibility compatible component components composedRef computed config const container containerRef containing content contents context controlled/uncontrolled copy core counterSet createContext createMarkdownRenderer createRelativeLink css ctx current currentColor custom customize cva cx cy d dangerouslySetInnerHTML dark dark:bg-(--shiki-dark-bg) dashed data data-[active=true]:text-fd-primary data-[active]:border-fd-primary data-[active]:text-fd-primary data-[inactive]:hidden data-[popup-open]:bg-fd-accent data-[popup-open]:text-fd-accent-foreground data-accordion-value data-active data-card data-checked data-checked:text-fd-accent-foreground data-closed:animate-fd-dialog-out data-closed:animate-fd-fade-out data-closed:animate-fd-popover-out data-collapsed data-empty data-ending-style:h-0 data-ending-style:opacity-0 data-fd-search-dialog-input data-icon data-line-numbers data-line-numbers-start data-open:animate-fd-dialog-in data-open:animate-fd-fade-in data-open:animate-fd-popover-in data-search data-search-full data-starting-style:h-0 data-starting-style:opacity-0 data-state data-theme-toggle date debounced declare default defaultColor defaultFormatter defaultIndex defaultItems defaultLanguage defaultMdxComponents defaultOpen defaultOpenLevel defaultShikiFactory defaultTransform defaultUrl defaultValue defineI18nUI defined delay delayMs depends deprecated depth description detect dialog dialogHandle dir disabled disabled:opacity-50 disabled:pointer-events-none display displayName displayed distance div divide-fd-border divide-x divide-y documented dominantBaseline don drawer dropdown duration-100 duration-200 duration-400 each ease-out element else empty empty:hidden empty:mb-0 enabled encoded endIdx endpoint env environment equal error escape eslint-disable-next-line event export extends external extraProps false fd-moving-banner fd-scroll-container fd-search-dialog-content fd-step fd-steps fetch fetchClient fetchOptions field fieldVariants figure file fill fill-(--callout-color) fill-fd-muted fill-fd-muted-foreground fill-fd-primary fill-fd-primary-foreground filter filters finally first:mt-0 fixed flex flex-1 flex-col flex-row flex-wrap flexDirection flushSync focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring focus-visible:ring-inset folder folders font-medium font-mono fontSize fontWeight for forks formatter formatterOptions found fragment free from full fumadocs-core/framework fumadocs-core/highlight fumadocs-core/i18n fumadocs-core/link fumadocs-core/page-tree fumadocs-core/search fumadocs-core/source fumadocs-core/toc function gap gap-0.5 gap-1 gap-1.5 gap-2 gap-3 gap-3.5 gap-4 gap-y-4 generated ghost github-dark github-light githubUrl given global globalKey grid grid-cols-2 grid-cols-[1fr_3fr] group group-data-[open]:rotate-180 group-data-active:bg-fd-primary group-data-open:rotate-180 group-data-panel-open:rotate-90 group-hover/heading:opacity-100 group/heading groupListeners groups guides h h-(--accordion-panel-height) h-(--collapsible-panel-height) h-(--fd-animated-height) h-9.5 h-[calc(100%+--spacing(1.5))] h-full h-px h1 h2 h3 h4 h5 h6 handle handleThemeChange has-focus-visible:bg-fd-accent hash hashchange hast have header headers heading height hidden hideLocale highlight highlighter hints hover:bg-fd-accent hover:bg-fd-accent/80 hover:bg-fd-primary/80 hover:text-fd-accent-foreground hovered hovering href html i i18n i18nProvider icon icon-sm icon-xs iconClass id idea idx if if-needed ignore img import in inPre inTab index infinite info initialFocus inline inline-flex input inputType inset-0 inset-e-2 inset-s-0 inset-s-3 inset-s-6 inset-x-2 inset-y-0 inside instanceof instead integration interface intersect invisible is isActive isComposing isFirst isLast isLoading isUp it item itemLineLengths itemVariants items items-center js justify-between justify-center keepBackground keepMounted key keyCode keydown keys l l0 l1 l2 label lang language languageSelect last:rounded-b-xl layer layout leading-none leaving left-0 left-1/2 length let letting level light light-dark light-dark-system line line-through linear link links list listener listeners localRef locale localeTranslations locales lower ltr lucide lucide-book lucide-book-icon lucide-react made main make map mapped margin marginTop mark markdownUrl marked mask-[linear-gradient(to_bottom,transparent,white_12px,white_calc(100%-12px),transparent)] mask-[linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent)] mask-[linear-gradient(to_bottom,white,white_30px,transparent_80px)] maskComposite maskImage max-h-(--available-height) max-h-20 max-h-[460px] max-h-[600px] max-md:bg-fd-secondary max-md:border max-md:p-1.5 max-md:rounded-md max-w-[1400px] max-w-[98vw] max-w-full max-w-screen-sm max-width maximumFractionDigits mb-1 mb-1.5 mb-2 md:hidden md:mb-auto md:size-5 md:top-[calc(50%-250px)] mdComponents mdRenderer mdx/types.js me-1 me-2 me-auto menu menuItems mergeRefs message middle min-h-0 min-w-0 min-w-[240px] min-w-fit min-w-full mode module mounted mouse ms-2 ms-auto mt-1 mt-6 must mx-auto my-0 my-0! my-0.5 my-4 my-6 my-auto n name names namespace nav navItems navTitle navigate navigation nd-copy-ignore nd-sidebar nd-sidebar-mobile nearest needed nested nested-url never new newTheme next next-themes next/og node nodes none noopener noreferrer normal normalize not not-last:mb-2 not-prose notation note now null number numbers object observer of offsetPath offsetTop on onAnimationEnd onChange onClick onCopy onKey onOpenChange onOpenChangeCallback onPointerEnter onPointerLeave onPointerMove onPrint onSearchChange onSearchChangeCallback onSelect onSelectCallback onTagChange onTagChangeCallback onValueChange once one only opacity-(--opacity,0) opacity-0 open openFromHash option optional options or oramaCloudClient order origin-(--transform-origin) origin-center original other out outline outline-none output overflow-auto overflow-hidden overflow-x-auto overflow-x-clip overflow-y-auto override overscroll-contain own owner oxlint-disable-next-line p p-0.5 p-1 p-1.5 p-2 p-3 p-4 padding paddingBottom paddingInlineStart page pageUrl panel panels parameters params parentId pass passed path pathname paths pb-0 pb-2 pe-2 per performing persist persistent placeholder placeholder:text-fd-muted-foreground please pointerType points populated positions possible powered pre pre-rendering predate prefetch prev preventScroll previous previousRef primary primaryColor primaryTextColor promise promises prompt prop props prose prose-no-margin provide provider ps-1 ps-2 ps-4 ps-8 pt-0 pure px px-0.5 px-1 px-1.5 px-2 px-2.5 px-3 px-4 px-px py-0.5 py-1 py-1.5 py-12 py-2 py-2.5 py-3 py-3.5 q query querySelector questions rainbow rainbowColors raw re-create react react-dom react-hooks/exhaustive-deps react-hooks/rules-of-hooks react-medium-image-zoom ref referenced region registering rehype-raw rehypeCustomElements rehypePlugins rehypeRaw rel relative remarkRehypeOptions remove removeEventListener render renderHighlights renderMarkdown repo repository required resolve resolved resolvedTheme response rest result results return revalidate right-2 role root rootRef round rounded-2xl rounded-[inherit] rounded-full rounded-lg rounded-md rounded-sm rounded-xl router row rtl:-scale-x-100 rtl:rotate-180 rtl:rotate-90 s same scroll scroll-into-view-if-needed scroll-m-20 scroll-m-24 scroll-m-28 scroll-m-4 scrollIntoView scrollMode search searchOptions searchToggle searchToggleEnabled searchTrigger secondary see select-none selected separate separator server set setActive setCollapsed setHidden setHover setLoading setMounted setOpen setSvg setTag setValue shadow-2xl shadow-lg shadow-md shadow-sm shiki shikiOptions shortcuts show showAlgolia showOrama shrink-0 side sideOffset sidebar signature simple since site size size-1 size-3 size-3.5 size-4 size-5 size-6.5 size-9 size-full sizes slots sm solid some source sourceMappingURL space span specific src stars startIdx state static stay sticky still str string stroke stroke-fd-foreground/10 stroke-fd-primary strokeLinecap strokeLinejoin strokeWidth strong style styles success supported supposed sure svg switch switcher system t tab tabIndex table tabs tabsRef tag tagName tags target text text-(--callout-color) text-[0.8125rem] text-[0.9375rem] text-center text-fd-accent-foreground text-fd-card text-fd-card-foreground text-fd-foreground/80 text-fd-muted-foreground text-fd-muted-foreground/50 text-fd-popover-foreground text-fd-popover-foreground/80 text-fd-primary text-fd-primary-foreground text-fd-primary/50 text-fd-secondary-foreground text-lg text-nowrap text-sm text-start text-xs text/plain textAnchor textContent that the their theme themeAriaLabels themeSwitch themeSwitchEnabled themes then this throw thumbBox tier timerRef tip title to toc tocInfo toolbar top top-0 top-1/2 top-2 top-2.5 top-4 touch transform transition-[clip-path] transition-[height,opacity] transition-[height] transition-[opacity,offset-distance] transition-all transition-colors transition-opacity transition-transform translationKeys translations translations/keys.json transparent tree trigger true truncate try type typeof types unchanged undefined underline underlying understand unified unist-util-visit unknown unnecessarily updateAnchor updates upperX url urls us usage use useCopyButton useDocsSearch useI18n useId useIsDocsLayout useItems useMediaQuery useMemo useOnChange usePathname useProps useRef useRouter useSearchContext useSidebar useState useTOCItems useTheme useTranslations useTreePath useful users using usually v v17 value valueToIdMap values variables variant variants vertical viewBox viewRef viewport viewportProps visit vite void w w-(--anchor-width) w-0 w-0.5 w-1.5 w-1/4 w-[calc(100%-1rem)] w-fit w-full w-max w-px want warn warning what when where which while white whitespace-nowrap whitespaces width will window with work wrap wrap-anywhere wrapElement wrapInSuspense wrapped x x1 x2 xmlns y y1 y2 you your z-2 z-40 z-50 zoom zoomImg zoomMargin");
|
|
@@ -39,7 +39,7 @@ function Banner({ id, variant = "normal", changeLayout = true, height = "3rem",
|
|
|
39
39
|
"aria-label": t("Close Banner", { note: "aria-label" }),
|
|
40
40
|
onClick: onClose,
|
|
41
41
|
className: cn(buttonVariants({
|
|
42
|
-
|
|
42
|
+
variant: "ghost",
|
|
43
43
|
className: "absolute inset-e-2 top-1/2 -translate-y-1/2 text-fd-muted-foreground/50",
|
|
44
44
|
size: "icon-sm"
|
|
45
45
|
})),
|
|
@@ -161,7 +161,7 @@ function SearchDialogClose({ children = "ESC", className, ...props }) {
|
|
|
161
161
|
"aria-label": t("Close Search", { note: "aria-label" }),
|
|
162
162
|
onClick: () => onOpenChange(false),
|
|
163
163
|
className: cn(buttonVariants({
|
|
164
|
-
|
|
164
|
+
variant: "outline",
|
|
165
165
|
size: "sm",
|
|
166
166
|
className: "font-mono text-fd-muted-foreground"
|
|
167
167
|
}), className),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { UncontrolledProps } from "../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
2
|
-
import "../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
import { UncontrolledProps } from "../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/uncontrolled.js";
|
|
2
|
+
import "../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/index.js";
|
|
3
3
|
import { ImageProps } from "fumadocs-core/framework";
|
|
4
4
|
import { ComponentProps } from "react";
|
|
5
5
|
//#region src/components/image-zoom.d.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { Uncontrolled } from "../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
2
|
+
import { Uncontrolled } from "../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/uncontrolled.js";
|
|
3
3
|
import "./image-zoom2.css";
|
|
4
4
|
import { Image } from "fumadocs-core/framework";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CollapsibleContentProps, CollapsibleTriggerProps } from "../ui/collapsible.js";
|
|
2
|
-
import { ScrollAreaProps } from "../ui/scroll-area.js";
|
|
3
2
|
import { LinkProps } from "fumadocs-core/link";
|
|
4
3
|
import { ComponentProps, PointerEvent, ReactNode, RefObject } from "react";
|
|
4
|
+
import { ScrollArea } from "@base-ui/react/scroll-area";
|
|
5
5
|
declare namespace base_d_exports {
|
|
6
6
|
export { SidebarCollapseTrigger, SidebarContent, SidebarDrawerContent, SidebarDrawerOverlay, SidebarFolder, SidebarFolderContent, SidebarFolderLink, SidebarFolderTrigger, SidebarItem, SidebarProvider, SidebarProviderProps, SidebarSeparator, SidebarTrigger, SidebarViewport, useAutoScroll, useFolder, useFolderDepth, useSidebar };
|
|
7
7
|
}
|
|
@@ -54,7 +54,7 @@ export declare function SidebarContent({ children }: {
|
|
|
54
54
|
}): ReactNode;
|
|
55
55
|
export declare function SidebarDrawerOverlay(props: ComponentProps<'div'>): import("react").JSX.Element | undefined;
|
|
56
56
|
export declare function SidebarDrawerContent({ className, children, ...props }: ComponentProps<'aside'>): import("react").JSX.Element | undefined;
|
|
57
|
-
export declare function SidebarViewport({ className, ...props }:
|
|
57
|
+
export declare function SidebarViewport({ className, ...props }: ScrollArea.Root.Props): import("react").JSX.Element;
|
|
58
58
|
export declare function SidebarSeparator(props: ComponentProps<'p'>): import("react").JSX.Element;
|
|
59
59
|
export declare function SidebarItem({ icon, active, children, ...props }: LinkProps & {
|
|
60
60
|
active?: boolean;
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
3
3
|
import { cn } from "../../utils/cn.js";
|
|
4
4
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../ui/collapsible.js";
|
|
5
|
-
import { ScrollArea, ScrollViewport } from "../ui/scroll-area.js";
|
|
6
5
|
import Link from "fumadocs-core/link";
|
|
7
6
|
import { usePathname } from "fumadocs-core/framework";
|
|
8
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -11,6 +10,7 @@ import { createContext, use, useEffect, useMemo, useRef, useState } from "react"
|
|
|
11
10
|
import { useTranslations } from "@fuma-translate/react";
|
|
12
11
|
import ReactDOM from "react-dom";
|
|
13
12
|
import { useOnChange } from "fumadocs-core/utils/use-on-change";
|
|
13
|
+
import { ScrollArea } from "@base-ui/react/scroll-area";
|
|
14
14
|
import { useMediaQuery } from "fumadocs-core/utils/use-media-query";
|
|
15
15
|
import scrollIntoView from "scroll-into-view-if-needed";
|
|
16
16
|
//#region src/components/sidebar/base.tsx
|
|
@@ -137,13 +137,20 @@ function SidebarDrawerContent({ className, children, ...props }) {
|
|
|
137
137
|
});
|
|
138
138
|
}
|
|
139
139
|
function SidebarViewport({ className, ...props }) {
|
|
140
|
-
return /* @__PURE__ */
|
|
140
|
+
return /* @__PURE__ */ jsxs(ScrollArea.Root, {
|
|
141
141
|
className: (s) => cn("min-h-0 flex-1", typeof className === "function" ? className(s) : className),
|
|
142
142
|
...props,
|
|
143
|
-
children:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
143
|
+
children: [
|
|
144
|
+
/* @__PURE__ */ jsx(ScrollArea.Viewport, {
|
|
145
|
+
className: "size-full rounded-[inherit] p-4 overscroll-contain mask-[linear-gradient(to_bottom,transparent,white_12px,white_calc(100%-12px),transparent)]",
|
|
146
|
+
children: props.children
|
|
147
|
+
}),
|
|
148
|
+
/* @__PURE__ */ jsx(ScrollArea.Corner, {}),
|
|
149
|
+
/* @__PURE__ */ jsx(ScrollArea.Scrollbar, {
|
|
150
|
+
className: (s) => cn("flex h-full w-1.5 select-none transition-opacity", !s.hovering && "opacity-0"),
|
|
151
|
+
children: /* @__PURE__ */ jsx(ScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-fd-border" })
|
|
152
|
+
})
|
|
153
|
+
]
|
|
147
154
|
});
|
|
148
155
|
}
|
|
149
156
|
function SidebarSeparator(props) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { VariantProps } from "class-variance-authority";
|
|
2
2
|
//#region src/components/ui/button.d.ts
|
|
3
3
|
export declare const buttonVariants: (props?: ({
|
|
4
|
-
variant?: "ghost" | "outline" | "primary" | "secondary" | null | undefined;
|
|
5
|
-
color?: "ghost" | "outline" | "primary" | "secondary" | null | undefined;
|
|
4
|
+
variant?: "default" | "ghost" | "outline" | "primary" | "secondary" | null | undefined;
|
|
5
|
+
color?: "default" | "ghost" | "outline" | "primary" | "secondary" | null | undefined;
|
|
6
6
|
size?: "icon" | "icon-sm" | "icon-xs" | "sm" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
export type ButtonProps = VariantProps<typeof buttonVariants>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { cva } from "class-variance-authority";
|
|
2
2
|
//#region src/components/ui/button.tsx
|
|
3
|
+
const primary = "bg-fd-primary text-fd-primary-foreground hover:bg-fd-primary/80";
|
|
3
4
|
const variants = {
|
|
4
|
-
|
|
5
|
+
default: primary,
|
|
6
|
+
primary,
|
|
5
7
|
outline: "border hover:bg-fd-accent hover:text-fd-accent-foreground",
|
|
6
8
|
ghost: "hover:bg-fd-accent hover:text-fd-accent-foreground",
|
|
7
9
|
secondary: "border bg-fd-secondary text-fd-secondary-foreground hover:bg-fd-accent hover:text-fd-accent-foreground"
|
|
@@ -73,7 +73,7 @@ function EditOnGitHub(props) {
|
|
|
73
73
|
rel: "noreferrer noopener",
|
|
74
74
|
...props,
|
|
75
75
|
className: cn(buttonVariants({
|
|
76
|
-
|
|
76
|
+
variant: "secondary",
|
|
77
77
|
size: "sm"
|
|
78
78
|
}), "gap-1.5 not-prose", props.className),
|
|
79
79
|
children: props.children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Edit, { className: "size-3.5" }), t("Edit on GitHub")] })
|
|
@@ -6,7 +6,6 @@ import { clerk_exports } from "../../../../components/toc/clerk.js";
|
|
|
6
6
|
import { useTreePath } from "../../../../contexts/tree.js";
|
|
7
7
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../../../components/ui/collapsible.js";
|
|
8
8
|
import { useDocsLayout } from "../../client.js";
|
|
9
|
-
import "../../index.js";
|
|
10
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
10
|
import { ChevronDown, Text } from "lucide-react";
|
|
12
11
|
import { createContext, use, useEffect, useEffectEvent, useMemo, useRef, useState } from "react";
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../../../utils/cn.js";
|
|
3
3
|
import { useDocsLayout } from "../client.js";
|
|
4
|
-
import "../index.js";
|
|
5
4
|
import { jsx } from "react/jsx-runtime";
|
|
6
5
|
import { useEffect, useState } from "react";
|
|
7
6
|
//#region src/layouts/docs/slots/container.tsx
|
|
@@ -4,7 +4,6 @@ import { buttonVariants } from "../../../components/ui/button.js";
|
|
|
4
4
|
import { mergeRefs } from "../../../utils/merge-refs.js";
|
|
5
5
|
import { SearchTrigger } from "../../shared/slots/search-trigger.js";
|
|
6
6
|
import { LinkItem } from "../../shared/client.js";
|
|
7
|
-
import "../../shared/index.js";
|
|
8
7
|
import { SidebarCollapseTrigger as SidebarCollapseTrigger$1, SidebarContent as SidebarContent$1, SidebarDrawerContent, SidebarDrawerOverlay, SidebarFolder as SidebarFolder$1, SidebarFolderContent as SidebarFolderContent$1, SidebarFolderLink as SidebarFolderLink$1, SidebarFolderTrigger as SidebarFolderTrigger$1, SidebarItem as SidebarItem$1, SidebarProvider as SidebarProvider$1, SidebarSeparator as SidebarSeparator$1, SidebarTrigger as SidebarTrigger$1, SidebarViewport, base_exports, useFolder, useFolderDepth } from "../../../components/sidebar/base.js";
|
|
9
8
|
import { createPageTreeRenderer } from "../../../components/sidebar/page-tree.js";
|
|
10
9
|
import { createLinkItemRenderer } from "../../../components/sidebar/link-item.js";
|
|
@@ -49,7 +48,7 @@ function Sidebar({ footer, banner, collapsible = true, components, ...rest }) {
|
|
|
49
48
|
nav?.children,
|
|
50
49
|
collapsible && /* @__PURE__ */ jsx(SidebarCollapseTrigger, {
|
|
51
50
|
className: cn(buttonVariants({
|
|
52
|
-
|
|
51
|
+
variant: "ghost",
|
|
53
52
|
size: "icon-sm",
|
|
54
53
|
className: "mb-auto text-fd-muted-foreground"
|
|
55
54
|
})),
|
|
@@ -81,7 +80,7 @@ function Sidebar({ footer, banner, collapsible = true, components, ...rest }) {
|
|
|
81
80
|
item,
|
|
82
81
|
className: cn(buttonVariants({
|
|
83
82
|
size: "icon-sm",
|
|
84
|
-
|
|
83
|
+
variant: "ghost"
|
|
85
84
|
})),
|
|
86
85
|
"aria-label": item.label,
|
|
87
86
|
children: item.icon
|
|
@@ -104,7 +103,7 @@ function Sidebar({ footer, banner, collapsible = true, components, ...rest }) {
|
|
|
104
103
|
item,
|
|
105
104
|
className: cn(buttonVariants({
|
|
106
105
|
size: "icon-sm",
|
|
107
|
-
|
|
106
|
+
variant: "ghost",
|
|
108
107
|
className: "p-2"
|
|
109
108
|
})),
|
|
110
109
|
"aria-label": item.label,
|
|
@@ -115,7 +114,7 @@ function Sidebar({ footer, banner, collapsible = true, components, ...rest }) {
|
|
|
115
114
|
slots.themeSwitch && /* @__PURE__ */ jsx(slots.themeSwitch, { className: "p-0" }),
|
|
116
115
|
/* @__PURE__ */ jsx(SidebarTrigger, {
|
|
117
116
|
className: cn(buttonVariants({
|
|
118
|
-
|
|
117
|
+
variant: "ghost",
|
|
119
118
|
size: "icon-sm",
|
|
120
119
|
className: "p-2"
|
|
121
120
|
})),
|
|
@@ -166,7 +165,7 @@ function SidebarContent({ ref: refProp, className, children, ...props }) {
|
|
|
166
165
|
className: cn("fixed flex top-[calc(--spacing(4)+var(--fd-docs-row-3))] inset-s-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"),
|
|
167
166
|
children: [/* @__PURE__ */ jsx(SidebarCollapseTrigger$1, {
|
|
168
167
|
className: cn(buttonVariants({
|
|
169
|
-
|
|
168
|
+
variant: "ghost",
|
|
170
169
|
size: "icon-sm",
|
|
171
170
|
className: "rounded-lg"
|
|
172
171
|
})),
|
|
@@ -53,7 +53,7 @@ function EditOnGitHub(props) {
|
|
|
53
53
|
rel: "noreferrer noopener",
|
|
54
54
|
...props,
|
|
55
55
|
className: cn(buttonVariants({
|
|
56
|
-
|
|
56
|
+
variant: "secondary",
|
|
57
57
|
size: "sm"
|
|
58
58
|
}), "gap-1.5 not-prose", props.className),
|
|
59
59
|
children: props.children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Edit, { className: "size-3.5" }), t("Edit on GitHub")] })
|
|
@@ -41,7 +41,7 @@ function EditOnGitHub(props) {
|
|
|
41
41
|
rel: "noreferrer noopener",
|
|
42
42
|
...props,
|
|
43
43
|
className: cn(buttonVariants({
|
|
44
|
-
|
|
44
|
+
variant: "secondary",
|
|
45
45
|
size: "sm"
|
|
46
46
|
}), "gap-1.5 not-prose", props.className),
|
|
47
47
|
children: props.children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Edit, { className: "size-3.5" }), t("Edit on GitHub")] })
|
|
@@ -27,7 +27,7 @@ function Header({ className, ...props }) {
|
|
|
27
27
|
children: /* @__PURE__ */ jsx(SidebarIcon, {})
|
|
28
28
|
}),
|
|
29
29
|
slots.searchTrigger && /* @__PURE__ */ jsx(slots.searchTrigger.sm, {
|
|
30
|
-
|
|
30
|
+
variant: "secondary",
|
|
31
31
|
size: "icon",
|
|
32
32
|
className: cn(baseVariants, "size-12 shrink-0 md:hidden")
|
|
33
33
|
}),
|
|
@@ -4,7 +4,6 @@ import { buttonVariants } from "../../../components/ui/button.js";
|
|
|
4
4
|
import { useTreeContext, useTreePath } from "../../../contexts/tree.js";
|
|
5
5
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../../components/ui/collapsible.js";
|
|
6
6
|
import { isLinkItemActive } from "../../shared/index.js";
|
|
7
|
-
import { ScrollArea, ScrollViewport } from "../../../components/ui/scroll-area.js";
|
|
8
7
|
import { LayoutTabsDropdown } from "../layout-tabs.js";
|
|
9
8
|
import { useGlassLayout } from "../index.js";
|
|
10
9
|
import Link from "fumadocs-core/link";
|
|
@@ -15,6 +14,7 @@ import { cva } from "class-variance-authority";
|
|
|
15
14
|
import { cloneElement, createContext, use, useMemo, useState } from "react";
|
|
16
15
|
import { useTranslations } from "@fuma-translate/react";
|
|
17
16
|
import { useOnChange } from "fumadocs-core/utils/use-on-change";
|
|
17
|
+
import { ScrollArea } from "@base-ui/react/scroll-area";
|
|
18
18
|
import { Drawer } from "@base-ui/react/drawer";
|
|
19
19
|
//#region src/layouts/glass/slots/sidebar.tsx
|
|
20
20
|
const drawerHandle = Drawer.createHandle();
|
|
@@ -137,12 +137,19 @@ function Sidebar({ className, children, ...props }) {
|
|
|
137
137
|
tabs,
|
|
138
138
|
className: "min-w-0 bg-fd-secondary text-fd-secondary-foreground rounded-xl px-2.5 py-2 [&_svg]:size-4 border rounded-xl shadow-sm mx-2 mt-2.5 empty:hidden"
|
|
139
139
|
}),
|
|
140
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ jsxs(ScrollArea.Root, {
|
|
141
141
|
className: "min-h-0 flex-1",
|
|
142
|
-
children:
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
142
|
+
children: [
|
|
143
|
+
/* @__PURE__ */ jsxs(ScrollArea.Viewport, {
|
|
144
|
+
className: "size-full rounded-[inherit] flex flex-col p-2 [mask-image:linear-gradient(to_bottom,transparent,white_16px,white_calc(100%-16px),transparent))]",
|
|
145
|
+
children: [menuItems.map((item, i) => item.type !== "icon" && /* @__PURE__ */ jsx(SidebarLinkItem, { item }, i)), root.children.map((item, i) => cloneElement(renderNode(item), { key: i }))]
|
|
146
|
+
}),
|
|
147
|
+
/* @__PURE__ */ jsx(ScrollArea.Corner, {}),
|
|
148
|
+
/* @__PURE__ */ jsx(ScrollArea.Scrollbar, {
|
|
149
|
+
className: (s) => cn("flex h-full w-1.5 select-none transition-opacity", !s.hovering && "opacity-0"),
|
|
150
|
+
children: /* @__PURE__ */ jsx(ScrollArea.Thumb, { className: "relative flex-1 rounded-full bg-fd-border" })
|
|
151
|
+
})
|
|
152
|
+
]
|
|
146
153
|
}),
|
|
147
154
|
children
|
|
148
155
|
]
|
|
@@ -4,7 +4,6 @@ import { buttonVariants } from "../../../components/ui/button.js";
|
|
|
4
4
|
import { mergeRefs } from "../../../utils/merge-refs.js";
|
|
5
5
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../../components/ui/collapsible.js";
|
|
6
6
|
import { LinkItem } from "../../shared/client.js";
|
|
7
|
-
import "../../shared/index.js";
|
|
8
7
|
import { useIsScrollTop } from "../../../utils/use-is-scroll-top.js";
|
|
9
8
|
import { useHomeLayout } from "../index.js";
|
|
10
9
|
import Link from "fumadocs-core/link";
|
|
@@ -19,11 +18,11 @@ const navItemVariants = cva("[&_svg]:size-4", {
|
|
|
19
18
|
variants: { variant: {
|
|
20
19
|
main: "inline-flex items-center gap-1 p-2 text-fd-muted-foreground transition-colors hover:text-fd-accent-foreground data-[active=true]:text-fd-primary",
|
|
21
20
|
button: buttonVariants({
|
|
22
|
-
|
|
21
|
+
variant: "secondary",
|
|
23
22
|
className: "gap-1.5"
|
|
24
23
|
}),
|
|
25
24
|
icon: buttonVariants({
|
|
26
|
-
|
|
25
|
+
variant: "ghost",
|
|
27
26
|
size: "icon"
|
|
28
27
|
})
|
|
29
28
|
} },
|
|
@@ -91,7 +90,7 @@ function Header(props) {
|
|
|
91
90
|
"aria-label": t("Toggle Menu", { note: "aria-label" }),
|
|
92
91
|
className: cn(buttonVariants({
|
|
93
92
|
size: "icon",
|
|
94
|
-
|
|
93
|
+
variant: "ghost"
|
|
95
94
|
})),
|
|
96
95
|
onPointerEnter: nav?.enableHoverToOpen ? () => {
|
|
97
96
|
setOpen(true);
|
|
@@ -248,10 +247,10 @@ function MobileNavigationMenuLinkItem({ item, ...props }) {
|
|
|
248
247
|
main: "inline-flex items-center gap-2 py-1.5 transition-colors hover:text-fd-popover-foreground/50 data-[active=true]:font-medium data-[active=true]:text-fd-primary [&_svg]:size-4",
|
|
249
248
|
icon: buttonVariants({
|
|
250
249
|
size: "icon",
|
|
251
|
-
|
|
250
|
+
variant: "ghost"
|
|
252
251
|
}),
|
|
253
252
|
button: buttonVariants({
|
|
254
|
-
|
|
253
|
+
variant: "secondary",
|
|
255
254
|
className: "gap-1.5 [&_svg]:size-4"
|
|
256
255
|
})
|
|
257
256
|
}[item.type ?? "main"], props.className),
|
|
@@ -73,7 +73,7 @@ function EditOnGitHub(props) {
|
|
|
73
73
|
rel: "noreferrer noopener",
|
|
74
74
|
...props,
|
|
75
75
|
className: cn(buttonVariants({
|
|
76
|
-
|
|
76
|
+
variant: "secondary",
|
|
77
77
|
size: "sm"
|
|
78
78
|
}), "gap-1.5 not-prose", props.className),
|
|
79
79
|
children: props.children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Edit, { className: "size-3.5" }), t("Edit on GitHub")] })
|
|
@@ -35,7 +35,7 @@ function Header(props) {
|
|
|
35
35
|
children: [
|
|
36
36
|
sidebarCollapsible && slots.sidebar && navMode === "auto" && /* @__PURE__ */ jsx(slots.sidebar.collapseTrigger, {
|
|
37
37
|
className: cn(buttonVariants({
|
|
38
|
-
|
|
38
|
+
variant: "ghost",
|
|
39
39
|
size: "icon-sm"
|
|
40
40
|
}), "-ms-1.5 text-fd-muted-foreground data-[collapsed=false]:hidden max-md:hidden"),
|
|
41
41
|
children: /* @__PURE__ */ jsx(Sidebar, {})
|
|
@@ -59,7 +59,7 @@ function Header(props) {
|
|
|
59
59
|
item,
|
|
60
60
|
className: cn(buttonVariants({
|
|
61
61
|
size: "icon-sm",
|
|
62
|
-
|
|
62
|
+
variant: "ghost"
|
|
63
63
|
}), "text-fd-muted-foreground max-lg:hidden"),
|
|
64
64
|
"aria-label": item.label,
|
|
65
65
|
children: item.icon
|
|
@@ -71,7 +71,7 @@ function Header(props) {
|
|
|
71
71
|
className: "p-2"
|
|
72
72
|
}), slots.sidebar && /* @__PURE__ */ jsx(slots.sidebar.trigger, {
|
|
73
73
|
className: cn(buttonVariants({
|
|
74
|
-
|
|
74
|
+
variant: "ghost",
|
|
75
75
|
size: "icon-sm",
|
|
76
76
|
className: "p-2 -me-1.5"
|
|
77
77
|
})),
|
|
@@ -85,7 +85,7 @@ function Header(props) {
|
|
|
85
85
|
slots.themeSwitch && /* @__PURE__ */ jsx(slots.themeSwitch, {}),
|
|
86
86
|
sidebarCollapsible && slots.sidebar && navMode === "top" && /* @__PURE__ */ jsx(slots.sidebar.collapseTrigger, {
|
|
87
87
|
className: cn(buttonVariants({
|
|
88
|
-
|
|
88
|
+
variant: "secondary",
|
|
89
89
|
size: "icon-sm"
|
|
90
90
|
}), "text-fd-muted-foreground rounded-full -me-1.5"),
|
|
91
91
|
children: /* @__PURE__ */ jsx(Sidebar, {})
|
|
@@ -3,7 +3,6 @@ import { cn } from "../../../utils/cn.js";
|
|
|
3
3
|
import { buttonVariants } from "../../../components/ui/button.js";
|
|
4
4
|
import { mergeRefs } from "../../../utils/merge-refs.js";
|
|
5
5
|
import { LinkItem } from "../../shared/client.js";
|
|
6
|
-
import "../../shared/index.js";
|
|
7
6
|
import { SidebarCollapseTrigger as SidebarCollapseTrigger$1, SidebarContent as SidebarContent$1, SidebarDrawerContent, SidebarDrawerOverlay, SidebarFolder as SidebarFolder$1, SidebarFolderContent as SidebarFolderContent$1, SidebarFolderLink as SidebarFolderLink$1, SidebarFolderTrigger as SidebarFolderTrigger$1, SidebarItem as SidebarItem$1, SidebarProvider as SidebarProvider$1, SidebarSeparator as SidebarSeparator$1, SidebarTrigger as SidebarTrigger$1, SidebarViewport, base_exports, useFolder, useFolderDepth } from "../../../components/sidebar/base.js";
|
|
8
7
|
import { createPageTreeRenderer } from "../../../components/sidebar/page-tree.js";
|
|
9
8
|
import { createLinkItemRenderer } from "../../../components/sidebar/link-item.js";
|
|
@@ -179,7 +178,7 @@ function Sidebar({ banner, footer, components, collapsible = true, ...rest }) {
|
|
|
179
178
|
nav?.children,
|
|
180
179
|
collapsible && /* @__PURE__ */ jsx(SidebarCollapseTrigger, {
|
|
181
180
|
className: cn(buttonVariants({
|
|
182
|
-
|
|
181
|
+
variant: "ghost",
|
|
183
182
|
size: "icon-sm",
|
|
184
183
|
className: "mt-px mb-auto text-fd-muted-foreground"
|
|
185
184
|
})),
|
|
@@ -197,7 +196,7 @@ function Sidebar({ banner, footer, components, collapsible = true, ...rest }) {
|
|
|
197
196
|
item,
|
|
198
197
|
className: cn(buttonVariants({
|
|
199
198
|
size: "icon-sm",
|
|
200
|
-
|
|
199
|
+
variant: "ghost",
|
|
201
200
|
className: "lg:hidden"
|
|
202
201
|
})),
|
|
203
202
|
"aria-label": item.label,
|
|
@@ -211,7 +210,7 @@ function Sidebar({ banner, footer, components, collapsible = true, ...rest }) {
|
|
|
211
210
|
renderHeader({ children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SidebarTrigger, {
|
|
212
211
|
className: cn(buttonVariants({
|
|
213
212
|
size: "icon-sm",
|
|
214
|
-
|
|
213
|
+
variant: "ghost",
|
|
215
214
|
className: "ms-auto text-fd-muted-foreground"
|
|
216
215
|
})),
|
|
217
216
|
children: /* @__PURE__ */ jsx(X, {})
|
|
@@ -224,7 +223,7 @@ function Sidebar({ banner, footer, components, collapsible = true, ...rest }) {
|
|
|
224
223
|
item,
|
|
225
224
|
className: cn(buttonVariants({
|
|
226
225
|
size: "icon-sm",
|
|
227
|
-
|
|
226
|
+
variant: "ghost"
|
|
228
227
|
}), "text-fd-muted-foreground lg:hidden", i === iconLinks.length - 1 && "me-auto"),
|
|
229
228
|
"aria-label": item.label,
|
|
230
229
|
children: item.icon
|
|
@@ -33,7 +33,7 @@ function MarkdownCopyButton({ markdownUrl, ...props }) {
|
|
|
33
33
|
onClick,
|
|
34
34
|
...props,
|
|
35
35
|
className: cn(buttonVariants({
|
|
36
|
-
|
|
36
|
+
variant: "secondary",
|
|
37
37
|
size: "sm",
|
|
38
38
|
className: "gap-2 [&_svg]:size-3.5 [&_svg]:text-fd-muted-foreground"
|
|
39
39
|
}), props.className),
|
|
@@ -172,7 +172,7 @@ function ViewOptionsPopover({ markdownUrl, githubUrl, ...props }) {
|
|
|
172
172
|
return /* @__PURE__ */ jsxs(Popover, { children: [/* @__PURE__ */ jsxs(PopoverTrigger, {
|
|
173
173
|
...props,
|
|
174
174
|
className: (state) => cn(buttonVariants({
|
|
175
|
-
|
|
175
|
+
variant: "secondary",
|
|
176
176
|
size: "sm"
|
|
177
177
|
}), "gap-2 data-[popup-open]:bg-fd-accent data-[popup-open]:text-fd-accent-foreground", typeof props.className === "function" ? props.className(state) : props.className),
|
|
178
178
|
children: [props.children ?? t("Open"), /* @__PURE__ */ jsx(ChevronDown, { className: "size-3.5 text-fd-muted-foreground" })]
|
|
@@ -4,7 +4,7 @@ import { ComponentProps } from "react";
|
|
|
4
4
|
export interface SearchTriggerProps extends Omit<ComponentProps<'button'>, 'color'>, ButtonProps {
|
|
5
5
|
hideIfDisabled?: boolean;
|
|
6
6
|
}
|
|
7
|
-
export declare function SearchTrigger({ hideIfDisabled, size, color, ...props }: SearchTriggerProps): import("react").JSX.Element | null;
|
|
7
|
+
export declare function SearchTrigger({ hideIfDisabled, size, color, variant, ...props }: SearchTriggerProps): import("react").JSX.Element | null;
|
|
8
8
|
export interface FullSearchTriggerProps extends ComponentProps<'button'> {
|
|
9
9
|
hideIfDisabled?: boolean;
|
|
10
10
|
}
|
|
@@ -7,7 +7,7 @@ import { Search } from "lucide-react";
|
|
|
7
7
|
import { useTranslations } from "@fuma-translate/react";
|
|
8
8
|
import { Dialog } from "@base-ui/react/dialog";
|
|
9
9
|
//#region src/layouts/shared/slots/search-trigger.tsx
|
|
10
|
-
function SearchTrigger({ hideIfDisabled, size = "icon-sm", color = "ghost", ...props }) {
|
|
10
|
+
function SearchTrigger({ hideIfDisabled, size = "icon-sm", color, variant = color ?? "ghost", ...props }) {
|
|
11
11
|
const { enabled, dialogHandle } = useSearchContext();
|
|
12
12
|
const t = useTranslations({ note: "search trigger" });
|
|
13
13
|
if (hideIfDisabled && !enabled) return null;
|
|
@@ -16,7 +16,7 @@ function SearchTrigger({ hideIfDisabled, size = "icon-sm", color = "ghost", ...p
|
|
|
16
16
|
type: "button",
|
|
17
17
|
className: cn(buttonVariants({
|
|
18
18
|
size,
|
|
19
|
-
|
|
19
|
+
variant
|
|
20
20
|
}), props.className),
|
|
21
21
|
"data-search": "",
|
|
22
22
|
"aria-label": t("Open Search", { note: "aria-label" }),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
2
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/controlled.d.ts
|
|
3
3
|
type ModalState = 'LOADED' | 'LOADING' | 'UNLOADED' | 'UNLOADING';
|
|
4
4
|
export interface ControlledProps {
|
|
5
5
|
a11yNameButtonUnzoom?: string;
|
|
@@ -6,7 +6,7 @@ import { getStyleGhost } from "./utils/get-style-ghost.js";
|
|
|
6
6
|
import { getStyleModalImg } from "./utils/get-style-modal-img.js";
|
|
7
7
|
import React from "react";
|
|
8
8
|
import ReactDOM from "react-dom";
|
|
9
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
9
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/controlled.js
|
|
10
10
|
const IMAGE_QUERY = [
|
|
11
11
|
"img",
|
|
12
12
|
"svg",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ControlledProps } from "./controlled.js";
|
|
2
2
|
import React from "react";
|
|
3
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
3
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/uncontrolled.d.ts
|
|
4
4
|
export type UncontrolledProps = Omit<ControlledProps, 'isZoomed'>;
|
|
5
5
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Controlled } from "./controlled.js";
|
|
2
2
|
import React from "react";
|
|
3
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
3
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/uncontrolled.js
|
|
4
4
|
function Uncontrolled({ onZoomChange, ...props }) {
|
|
5
5
|
const [isZoomed, setIsZoomed] = React.useState(false);
|
|
6
6
|
const handleZoomChange = React.useCallback((value, { event }) => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/adjust-svg-ids.js
|
|
2
2
|
const adjustSvgIDs = (svgEl) => {
|
|
3
3
|
const newIdSuffix = "-zoom";
|
|
4
4
|
const attrs = [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getScale } from "./get-scale.js";
|
|
2
2
|
import { parsePosition } from "./parse-position.js";
|
|
3
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
3
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/compute-positioned-style.js
|
|
4
4
|
const computePositionedStyle = ({ containerHeight, containerLeft, containerTop, containerWidth, hasScalableSrc, offset, position, targetHeight, targetWidth, visibleHeight, visibleWidth }) => {
|
|
5
5
|
const [posLeft = "50%", posTop = "50%"] = position.split(" ");
|
|
6
6
|
const posX = parsePosition(posLeft, containerWidth - visibleWidth);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/element-tests.js
|
|
2
2
|
function isElement(el) {
|
|
3
3
|
if (typeof Element === "undefined") return false;
|
|
4
4
|
return el instanceof Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { parsePosition } from "./parse-position.js";
|
|
2
2
|
import { computePositionedStyle } from "./compute-positioned-style.js";
|
|
3
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
3
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-div-img-style.js
|
|
4
4
|
const getDivImgStyle = ({ backgroundPosition, backgroundSize, containerHeight, containerLeft, containerTop, containerWidth, hasScalableSrc, offset, targetHeight, targetWidth }) => {
|
|
5
5
|
const base = {
|
|
6
6
|
containerHeight,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { testImg } from "./element-tests.js";
|
|
2
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
2
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-img-alt.js
|
|
3
3
|
const getImgAlt = (imgEl) => {
|
|
4
4
|
if (imgEl !== null) {
|
|
5
5
|
if (testImg(imgEl)) return imgEl.alt;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getScale } from "./get-scale.js";
|
|
2
2
|
import { computePositionedStyle } from "./compute-positioned-style.js";
|
|
3
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
3
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-img-object-fit-style.js
|
|
4
4
|
const getImgObjectFitStyle = ({ containerHeight, containerLeft, containerTop, containerWidth, hasScalableSrc, objectFit: objectFitParam, objectPosition, offset, targetHeight, targetWidth }) => {
|
|
5
5
|
let resolvedObjectFit = objectFitParam;
|
|
6
6
|
if (resolvedObjectFit === "scale-down") {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getScale } from "./get-scale.js";
|
|
2
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
2
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-img-regular-style.js
|
|
3
3
|
const getImgRegularStyle = ({ containerHeight, containerLeft, containerTop, containerWidth, hasScalableSrc, offset, targetHeight, targetWidth }) => {
|
|
4
4
|
const scale = getScale({
|
|
5
5
|
containerHeight,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { testDiv, testImg } from "./element-tests.js";
|
|
2
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
2
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-img-src.js
|
|
3
3
|
const URL_REGEX = /url(?:\(['"]?)(?<url>.*?)(?:['"]?\))/;
|
|
4
4
|
const getImgSrc = (imgEl) => {
|
|
5
5
|
if (imgEl !== null) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-modal-img-transform.js
|
|
2
2
|
const getModalImgTransform = ({ height, initialTransform, isZoomed, left, top, userTransform, width }) => {
|
|
3
3
|
let centeredUserTransform = "";
|
|
4
4
|
if (userTransform !== "none" && userTransform !== "") {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-scale.js
|
|
2
2
|
const getScaleToWindow = ({ height, offset, width }) => Math.min((window.innerWidth - offset * 2) / width, (window.innerHeight - offset * 2) / height);
|
|
3
3
|
const getScaleToWindowMax = ({ containerHeight, containerWidth, offset, targetHeight, targetWidth }) => {
|
|
4
4
|
const scale = getScaleToWindow({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { testSvg } from "./element-tests.js";
|
|
2
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
2
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-style-ghost.js
|
|
3
3
|
const getStyleGhost = (imgEl) => {
|
|
4
4
|
if (imgEl == null) return {};
|
|
5
5
|
if (testSvg(imgEl)) {
|
|
@@ -5,7 +5,7 @@ import { getDivImgStyle } from "./get-div-img-style.js";
|
|
|
5
5
|
import { getModalImgTransform } from "./get-modal-img-transform.js";
|
|
6
6
|
import { getTargetDimension } from "./get-target-dimension.js";
|
|
7
7
|
import { testHasScalableSrc } from "./test-has-scalable-src.js";
|
|
8
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
8
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-style-modal-img.js
|
|
9
9
|
const getStyleModalImg = ({ hasZoomImg, imgSrc, isSvg, isZoomed, loadedImgEl, offset, shouldRefresh, targetEl }) => {
|
|
10
10
|
const hasScalableSrc = testHasScalableSrc({
|
|
11
11
|
hasZoomImg,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/get-target-dimension.js
|
|
2
2
|
const getTargetDimension = ({ fallback, natural }) => natural !== void 0 && natural !== 0 ? natural : fallback;
|
|
3
3
|
//#endregion
|
|
4
4
|
export { getTargetDimension };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/parse-position.js
|
|
2
2
|
const parsePosition = (position, relativeNum) => {
|
|
3
3
|
const positionNum = parseFloat(position);
|
|
4
4
|
return position.endsWith("%") ? relativeNum * positionNum / 100 : positionNum;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.
|
|
1
|
+
//#region ../../node_modules/.pnpm/react-medium-image-zoom@5.4.9_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/react-medium-image-zoom/dist/utils/test-has-scalable-src.js
|
|
2
2
|
const SRC_SVG_REGEX = /\.svg$/i;
|
|
3
3
|
const testHasScalableSrc = ({ hasZoomImg, imgSrc, isSvg }) => isSvg || imgSrc?.slice(0, 18) === "data:image/svg+xml" || hasZoomImg || imgSrc !== void 0 && SRC_SVG_REGEX.test(imgSrc);
|
|
4
4
|
//#endregion
|
package/dist/style.css
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fumadocs/base-ui",
|
|
3
|
-
"version": "16.15.
|
|
3
|
+
"version": "16.15.12",
|
|
4
4
|
"description": "The Base UI version of Fumadocs UI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Docs",
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
"dist"
|
|
19
19
|
],
|
|
20
20
|
"type": "module",
|
|
21
|
+
"sideEffects": [
|
|
22
|
+
"./css/**/*.css",
|
|
23
|
+
"./dist/**/*.css"
|
|
24
|
+
],
|
|
21
25
|
"exports": {
|
|
22
26
|
"./components/accordion": "./dist/components/accordion.js",
|
|
23
27
|
"./components/banner": "./dist/components/banner.js",
|
|
@@ -51,7 +55,6 @@
|
|
|
51
55
|
"./components/ui/button": "./dist/components/ui/button.js",
|
|
52
56
|
"./components/ui/collapsible": "./dist/components/ui/collapsible.js",
|
|
53
57
|
"./components/ui/popover": "./dist/components/ui/popover.js",
|
|
54
|
-
"./components/ui/scroll-area": "./dist/components/ui/scroll-area.js",
|
|
55
58
|
"./components/ui/tabs": "./dist/components/ui/tabs.js",
|
|
56
59
|
"./contexts/i18n": "./dist/contexts/i18n.js",
|
|
57
60
|
"./contexts/search": "./dist/contexts/search.js",
|
|
@@ -128,44 +131,44 @@
|
|
|
128
131
|
"dependencies": {
|
|
129
132
|
"@base-ui/react": "^1.8.0",
|
|
130
133
|
"@fuma-translate/react": "^1.0.2",
|
|
134
|
+
"@fumadocs/tailwind": "0.1.2",
|
|
131
135
|
"class-variance-authority": "^0.7.1",
|
|
132
|
-
"cn": "^0.
|
|
133
|
-
"lucide-react": "^1.
|
|
134
|
-
"motion": "^13.
|
|
136
|
+
"cn": "^0.3.0",
|
|
137
|
+
"lucide-react": "^1.47.0",
|
|
138
|
+
"motion": "^13.4.0",
|
|
135
139
|
"next-themes": "^0.4.6",
|
|
136
140
|
"react-remove-scroll": "^2.7.2",
|
|
137
141
|
"rehype-raw": "^7.0.0",
|
|
138
142
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
139
143
|
"shiki": "^4.4.3",
|
|
140
|
-
"unist-util-visit": "^5.1.0"
|
|
141
|
-
"@fumadocs/tailwind": "0.1.1"
|
|
144
|
+
"unist-util-visit": "^5.1.0"
|
|
142
145
|
},
|
|
143
146
|
"devDependencies": {
|
|
147
|
+
"@fumadocs/cli": "1.6.1",
|
|
144
148
|
"@tailwindcss/cli": "^4.3.3",
|
|
145
149
|
"@tailwindcss/oxide": "^4.3.3",
|
|
146
150
|
"@tsdown/css": "^0.23.0",
|
|
147
151
|
"@types/hast": "^3.0.5",
|
|
148
152
|
"@types/mdx": "^2.0.14",
|
|
149
|
-
"@types/node": "^26.
|
|
150
|
-
"@types/react": "^19.
|
|
151
|
-
"@types/react-dom": "^19.
|
|
153
|
+
"@types/node": "^26.6.1",
|
|
154
|
+
"@types/react": "^19.3.0",
|
|
155
|
+
"@types/react-dom": "^19.3.0",
|
|
152
156
|
"fuma-cli": "^0.1.1",
|
|
157
|
+
"fumadocs-core": "16.15.12",
|
|
153
158
|
"react-medium-image-zoom": "^5.4.9",
|
|
154
159
|
"tailwindcss": "^4.3.3",
|
|
160
|
+
"tsconfig": "0.0.0",
|
|
155
161
|
"tsdown": "0.23.0",
|
|
156
|
-
"unified": "^11.0.5"
|
|
157
|
-
"@fumadocs/cli": "1.6.0",
|
|
158
|
-
"fumadocs-core": "16.15.10",
|
|
159
|
-
"tsconfig": "0.0.0"
|
|
162
|
+
"unified": "^11.0.5"
|
|
160
163
|
},
|
|
161
164
|
"peerDependencies": {
|
|
162
165
|
"@types/mdx": "*",
|
|
163
166
|
"@types/react": "*",
|
|
167
|
+
"fumadocs-core": "16.15.12",
|
|
164
168
|
"next": "16.x.x",
|
|
165
169
|
"react": "^19.2.0",
|
|
166
170
|
"react-dom": "^19.2.0",
|
|
167
|
-
"takumi-js": "*"
|
|
168
|
-
"fumadocs-core": "16.15.10"
|
|
171
|
+
"takumi-js": "*"
|
|
169
172
|
},
|
|
170
173
|
"peerDependenciesMeta": {
|
|
171
174
|
"next": {
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as React$1 from "react";
|
|
2
|
-
import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
|
|
3
|
-
//#region src/components/ui/scroll-area.d.ts
|
|
4
|
-
export declare function ScrollArea({ children, ...props }: React$1.ComponentProps<typeof ScrollArea$1.Root>): React$1.JSX.Element;
|
|
5
|
-
export declare function ScrollViewport({ className, children, ...props }: React$1.ComponentProps<typeof ScrollArea$1.Viewport>): React$1.JSX.Element;
|
|
6
|
-
export declare function ScrollBar({ className, orientation, ...props }: React$1.ComponentProps<typeof ScrollArea$1.Scrollbar>): React$1.JSX.Element;
|
|
7
|
-
export type ScrollAreaProps = ScrollArea$1.Root.Props;
|
|
8
|
-
//#endregion
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { cn } from "../../utils/cn.js";
|
|
2
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import "react";
|
|
4
|
-
import { ScrollArea as ScrollArea$1 } from "@base-ui/react/scroll-area";
|
|
5
|
-
//#region src/components/ui/scroll-area.tsx
|
|
6
|
-
function ScrollArea({ children, ...props }) {
|
|
7
|
-
return /* @__PURE__ */ jsxs(ScrollArea$1.Root, {
|
|
8
|
-
...props,
|
|
9
|
-
children: [
|
|
10
|
-
children,
|
|
11
|
-
/* @__PURE__ */ jsx(ScrollArea$1.Corner, {}),
|
|
12
|
-
/* @__PURE__ */ jsx(ScrollBar, { orientation: "vertical" })
|
|
13
|
-
]
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
function ScrollViewport({ className, children, ...props }) {
|
|
17
|
-
return /* @__PURE__ */ jsx(ScrollArea$1.Viewport, {
|
|
18
|
-
className: (s) => cn("size-full rounded-[inherit]", typeof className === "function" ? className(s) : className),
|
|
19
|
-
...props,
|
|
20
|
-
children
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
function ScrollBar({ className, orientation = "vertical", ...props }) {
|
|
24
|
-
return /* @__PURE__ */ jsx(ScrollArea$1.Scrollbar, {
|
|
25
|
-
orientation,
|
|
26
|
-
className: (s) => cn("flex select-none transition-opacity", !s.hovering && "opacity-0", orientation === "vertical" && "h-full w-1.5", orientation === "horizontal" && "h-1.5 flex-col", typeof className === "function" ? className(s) : className),
|
|
27
|
-
...props,
|
|
28
|
-
children: /* @__PURE__ */ jsx(ScrollArea$1.Thumb, { className: "relative flex-1 rounded-full bg-fd-border" })
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
//#endregion
|
|
32
|
-
export { ScrollArea, ScrollBar, ScrollViewport };
|