boltdocs 2.5.5 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/boltdocs.js +2 -2
- package/dist/client/index.cjs +6 -0
- package/dist/client/index.d.cts +1560 -0
- package/dist/client/index.d.ts +1219 -922
- package/dist/client/index.js +6 -1
- package/dist/client/theme/neutral.css +428 -0
- package/dist/node/cli-entry.cjs +8 -0
- package/dist/node/cli-entry.d.cts +2 -0
- package/dist/node/cli-entry.d.mts +2 -1
- package/dist/node/cli-entry.mjs +7 -5
- package/dist/node/index.cjs +6 -0
- package/dist/node/index.d.cts +519 -0
- package/dist/node/index.d.mts +374 -422
- package/dist/node/index.mjs +6 -1
- package/dist/node-BgvNl2Ay.mjs +89 -0
- package/dist/node-vkbb0MK7.cjs +89 -0
- package/dist/package-CR0HF9x3.mjs +6 -0
- package/dist/package-Dgmsc_l5.cjs +6 -0
- package/dist/search-dialog-3lvKsbVG.js +6 -0
- package/dist/search-dialog-DMK5OpgH.cjs +6 -0
- package/dist/use-search-C9bxCqfF.js +6 -0
- package/dist/use-search-DcfZSunO.cjs +6 -0
- package/package.json +26 -25
- package/src/client/app/config-context.tsx +38 -5
- package/src/client/app/doc-page.tsx +34 -0
- package/src/client/app/mdx-component.tsx +2 -3
- package/src/client/app/mdx-components-context.tsx +27 -2
- package/src/client/app/routes-context.tsx +34 -0
- package/src/client/app/scroll-handler.tsx +7 -4
- package/src/client/app/theme-context.tsx +71 -67
- package/src/client/components/default-layout.tsx +34 -33
- package/src/client/components/docs-layout.tsx +1 -2
- package/src/client/components/icons-dev.tsx +36 -5
- package/src/client/components/mdx/admonition.tsx +11 -27
- package/src/client/components/mdx/badge.tsx +1 -1
- package/src/client/components/mdx/button.tsx +3 -3
- package/src/client/components/mdx/card.tsx +1 -1
- package/src/client/components/mdx/code-block.tsx +90 -80
- package/src/client/components/mdx/component-preview.tsx +1 -5
- package/src/client/components/mdx/component-props.tsx +1 -1
- package/src/client/components/mdx/field.tsx +4 -5
- package/src/client/components/mdx/file-tree.tsx +6 -3
- package/src/client/components/mdx/hooks/use-code-block.ts +2 -2
- package/src/client/components/mdx/image.tsx +1 -1
- package/src/client/components/mdx/link.tsx +2 -2
- package/src/client/components/mdx/list.tsx +1 -1
- package/src/client/components/mdx/table.tsx +1 -1
- package/src/client/components/mdx/tabs.tsx +1 -1
- package/src/client/components/primitives/breadcrumbs.tsx +1 -7
- package/src/client/components/primitives/button-group.tsx +1 -1
- package/src/client/components/primitives/button.tsx +1 -1
- package/src/client/components/primitives/code-block.tsx +113 -0
- package/src/client/components/primitives/link.tsx +23 -41
- package/src/client/components/primitives/menu.tsx +5 -6
- package/src/client/components/primitives/navbar.tsx +6 -18
- package/src/client/components/primitives/navigation-menu.tsx +4 -4
- package/src/client/components/primitives/on-this-page.tsx +6 -10
- package/src/client/components/primitives/page-nav.tsx +4 -9
- package/src/client/components/primitives/popover.tsx +1 -1
- package/src/client/components/primitives/search-dialog.tsx +3 -6
- package/src/client/components/primitives/sidebar.tsx +80 -22
- package/src/client/components/primitives/skeleton.tsx +1 -1
- package/src/client/components/primitives/tabs.tsx +4 -11
- package/src/client/components/primitives/tooltip.tsx +3 -3
- package/src/client/components/ui-base/breadcrumbs.tsx +4 -6
- package/src/client/components/ui-base/copy-markdown.tsx +2 -7
- package/src/client/components/ui-base/github-stars.tsx +2 -2
- package/src/client/components/ui-base/head.tsx +58 -51
- package/src/client/components/ui-base/loading.tsx +2 -2
- package/src/client/components/ui-base/navbar.tsx +12 -14
- package/src/client/components/ui-base/not-found.tsx +1 -1
- package/src/client/components/ui-base/on-this-page.tsx +6 -6
- package/src/client/components/ui-base/page-nav.tsx +4 -8
- package/src/client/components/ui-base/search-dialog.tsx +10 -8
- package/src/client/components/ui-base/sidebar.tsx +76 -23
- package/src/client/components/ui-base/tabs.tsx +9 -8
- package/src/client/components/ui-base/theme-toggle.tsx +2 -2
- package/src/client/hooks/use-i18n.ts +3 -3
- package/src/client/hooks/use-localized-to.ts +1 -1
- package/src/client/hooks/use-navbar.ts +8 -6
- package/src/client/hooks/use-routes.ts +19 -11
- package/src/client/hooks/use-search.ts +1 -1
- package/src/client/hooks/use-sidebar.ts +48 -2
- package/src/client/hooks/use-tabs.ts +6 -2
- package/src/client/hooks/use-version.ts +3 -3
- package/src/client/index.ts +22 -22
- package/src/client/ssg/boltdocs-shell.tsx +127 -0
- package/src/client/ssg/create-routes.tsx +179 -0
- package/src/client/ssg/index.ts +3 -0
- package/src/client/ssg/mdx-page.tsx +37 -0
- package/src/client/store/boltdocs-context.tsx +66 -0
- package/src/client/theme/neutral.css +90 -50
- package/src/client/types.ts +5 -33
- package/src/client/utils/react-to-text.ts +34 -0
- package/CHANGELOG.md +0 -98
- package/dist/cache-3FOEPC2P.mjs +0 -1
- package/dist/chunk-5B5NKOW6.mjs +0 -77
- package/dist/chunk-J2PTDWZM.mjs +0 -1
- package/dist/chunk-TP5KMRD3.mjs +0 -1
- package/dist/chunk-Y4RE5KI7.mjs +0 -1
- package/dist/client/index.d.mts +0 -1263
- package/dist/client/index.mjs +0 -1
- package/dist/client/ssr.d.mts +0 -78
- package/dist/client/ssr.d.ts +0 -78
- package/dist/client/ssr.js +0 -1
- package/dist/client/ssr.mjs +0 -1
- package/dist/node/cli-entry.d.ts +0 -1
- package/dist/node/cli-entry.js +0 -82
- package/dist/node/index.d.ts +0 -567
- package/dist/node/index.js +0 -77
- package/dist/package-QFIAETHR.mjs +0 -1
- package/dist/search-dialog-O6VLVSOA.mjs +0 -1
- package/src/client/app/index.tsx +0 -345
- package/src/client/app/mdx-page.tsx +0 -15
- package/src/client/app/preload.tsx +0 -66
- package/src/client/app/router.tsx +0 -30
- package/src/client/integrations/codesandbox.ts +0 -179
- package/src/client/integrations/index.ts +0 -1
- package/src/client/ssr.tsx +0 -65
- package/src/client/store/use-boltdocs-store.ts +0 -44
- package/src/node/cache.ts +0 -408
- package/src/node/cli/build.ts +0 -53
- package/src/node/cli/dev.ts +0 -22
- package/src/node/cli/doctor.ts +0 -243
- package/src/node/cli/index.ts +0 -9
- package/src/node/cli/ui.ts +0 -54
- package/src/node/cli-entry.ts +0 -24
- package/src/node/config.ts +0 -382
- package/src/node/errors.ts +0 -44
- package/src/node/index.ts +0 -84
- package/src/node/mdx/cache.ts +0 -12
- package/src/node/mdx/highlighter.ts +0 -47
- package/src/node/mdx/index.ts +0 -122
- package/src/node/mdx/rehype-shiki.ts +0 -62
- package/src/node/mdx/remark-code-meta.ts +0 -35
- package/src/node/mdx/remark-shiki.ts +0 -61
- package/src/node/plugin/entry.ts +0 -87
- package/src/node/plugin/html.ts +0 -99
- package/src/node/plugin/index.ts +0 -478
- package/src/node/plugin/types.ts +0 -9
- package/src/node/plugins/index.ts +0 -17
- package/src/node/plugins/plugin-errors.ts +0 -62
- package/src/node/plugins/plugin-lifecycle.ts +0 -117
- package/src/node/plugins/plugin-sandbox.ts +0 -59
- package/src/node/plugins/plugin-store.ts +0 -54
- package/src/node/plugins/plugin-types.ts +0 -107
- package/src/node/plugins/plugin-validator.ts +0 -105
- package/src/node/routes/cache.ts +0 -28
- package/src/node/routes/index.ts +0 -293
- package/src/node/routes/parser.ts +0 -262
- package/src/node/routes/sorter.ts +0 -42
- package/src/node/routes/types.ts +0 -61
- package/src/node/schema/config.ts +0 -195
- package/src/node/schema/frontmatter.ts +0 -17
- package/src/node/search/index.ts +0 -55
- package/src/node/security/constants/index.ts +0 -10
- package/src/node/security/csp.ts +0 -31
- package/src/node/security/headers.ts +0 -27
- package/src/node/ssg/index.ts +0 -205
- package/src/node/ssg/meta.ts +0 -33
- package/src/node/ssg/options.ts +0 -15
- package/src/node/ssg/robots.ts +0 -53
- package/src/node/ssg/sitemap.ts +0 -55
- package/src/node/utils.ts +0 -349
- package/tsconfig.json +0 -26
- package/tsup.config.ts +0 -56
package/dist/client/ssr.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var ho=Object.defineProperty;var xo=(e,t)=>{for(var o in t)ho(e,o,{get:t[o],enumerable:!0})};import Wn from"react";import Fn from"react-dom/server";import{StaticRouter as $n}from"react-router-dom/server";import Ze,{useEffect as Qe,useState as mo,useMemo as uo}from"react";import Tc from"react-dom/client";import{BrowserRouter as Lc,Routes as Vn,Route as Y}from"react-router-dom";import{ArrowLeft as Vo}from"lucide-react";import rt from"react";import{Link as Bo}from"react-aria-components";import{useLocation as Eo}from"react-router-dom";import{createContext as bo,use as vo}from"react";var Ee=bo(null);function G(){let e=vo(Ee);if(!e)throw new Error("useConfig must be used within a ConfigProvider");return e}import{useLocation as Lo}from"react-router-dom";import{createContext as yo,use as Co,useCallback as Ro,useRef as wo}from"react";import{jsx as Po}from"react/jsx-runtime";var tt=yo({preload:()=>{},routes:[]});function Re(){return Co(tt)}function ot({routes:e,modules:t,children:o}){let r=wo(null),n=Ro(a=>{r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{let i=a.split("#")[0].split("?")[0],l=e.find(s=>s.path===i||i==="/"&&s.path==="");if(l?.filePath){let s=Object.keys(t).find(c=>c.endsWith("/"+l.filePath));s&&t[s]().catch(c=>{console.error(`[boltdocs] Failed to preload route ${a}:`,c)})}},100)},[e,t]);return Po(tt.Provider,{value:{preload:n,routes:e},children:o})}import{create as No}from"zustand";import{persist as To,createJSONStorage as ko}from"zustand/middleware";var D=No()(To(e=>({currentLocale:void 0,currentVersion:void 0,hasHydrated:!1,setLocale:t=>e({currentLocale:t}),setVersion:t=>e({currentVersion:t}),setHasHydrated:t=>e({hasHydrated:t})}),{name:"boltdocs-storage",storage:ko(()=>localStorage),partialize:e=>({currentLocale:e.currentLocale,currentVersion:e.currentVersion}),onRehydrateStorage:()=>e=>{e?.setHasHydrated(!0)}}));function pe(){let{routes:e}=Re(),t=G(),o=Lo(),r=D(h=>h.currentLocale),n=D(h=>h.currentVersion),a=D(h=>h.hasHydrated),i=e.find(h=>h.path===o.pathname),l=t.i18n?i?.locale||(a?r:void 0)||t.i18n.defaultLocale:void 0,s=t.versions?i?.version||(a?n:void 0)||t.versions.defaultVersion:void 0,c=e.filter(h=>{let B=t.i18n?(h.locale||t.i18n.defaultLocale)===l:!0,x=t.versions?(h.version||t.versions.defaultVersion)===s:!0;if(!(B&&x))return!1;let E=t.i18n;if(E){let j=!!i?.locale,z=!!h.locale;if(e.some(Ce=>Ce!==h&&Ce.filePath===h.filePath&&Ce.version===h.version&&(Ce.locale||E.defaultLocale)===(h.locale||E.defaultLocale))&&j!==z)return!1}return!0}),p=t.i18n?.localeConfigs?.[l]?.label||t.i18n?.locales[l]||l,b=t.versions?.versions.find(h=>h.path===s)?.label||s,y=t.i18n?Object.entries(t.i18n.locales).map(([h,B])=>{let x=t.i18n?.localeConfigs?.[h];return{key:h,label:x?.label||B,isCurrent:h===l}}):[],w=t.versions?t.versions.versions.map(h=>({key:h.path,label:h.label,isCurrent:h.path===s})):[];return{routes:c,allRoutes:e,currentRoute:i,currentLocale:l,currentLocaleLabel:p,availableLocales:y,currentVersion:s,currentVersionLabel:b,availableVersions:w,config:t}}function Se(e){let t=G(),{currentLocale:o,currentVersion:r}=pe();if(!t||typeof e!="string"||e.startsWith("http")||e.startsWith("//"))return e;let n=t.i18n,a=t.versions;if(!n&&!a)return e;let i=e.startsWith("/docs"),l=e.split("/").filter(Boolean),s=0;l[s]==="docs"&&s++,a&&l.length>s&&a.versions.find(b=>b.path===l[s])&&s++,n&&l.length>s&&n.locales[l[s]]&&s++;let c=l.slice(s),d=[];i&&(d.push("docs"),a&&r&&d.push(r)),n&&o&&o!==n.defaultLocale&&d.push(o),d.push(...c);let p=`/${d.join("/")}`;return p.length>1&&p.endsWith("/")?p.slice(0,-1):p||"/"}import{clsx as Ao}from"clsx";import{twMerge as Mo}from"tailwind-merge";function m(...e){return Mo(Ao(e))}import{jsx as nt}from"react/jsx-runtime";var Z=rt.forwardRef((e,t)=>{let{href:o,prefetch:r="hover",onMouseEnter:n,onFocus:a,...i}=e,l=Se(o??""),{preload:s}=Re();return nt(Bo,{...i,ref:t,href:l,onMouseEnter:p=>{n?.(p),r==="hover"&&typeof l=="string"&&l.startsWith("/")&&s(l)},onFocus:p=>{a?.(p),r==="hover"&&typeof l=="string"&&l.startsWith("/")&&s(l)}})});Z.displayName="Link";var So=rt.forwardRef((e,t)=>{let{href:o,end:r=!1,className:n,children:a,...i}=e,l=Eo(),s=Se(o??""),c=r?l.pathname===s:l.pathname.startsWith(s),d=typeof n=="function"?n({isActive:c}):m(n,c&&"active"),p=typeof a=="function"?a({isActive:c}):a;return nt(Z,{...i,ref:t,href:o,className:d,children:p})});So.displayName="NavLink";import{jsx as me,jsxs as st}from"react/jsx-runtime";function Ve(){return me("div",{className:"flex items-center justify-center min-h-[60vh] text-center",children:st("div",{className:"space-y-4",children:[me("span",{className:"text-8xl font-black tracking-tighter text-primary-500/20",children:"404"}),me("h1",{className:"text-2xl font-bold text-text-main",children:"Page Not Found"}),me("p",{className:"text-sm text-text-muted max-w-sm mx-auto",children:"The page you're looking for doesn't exist or has been moved."}),st(Z,{href:"/",className:"inline-flex items-center gap-2 rounded-lg bg-primary-500 px-5 py-2.5 text-sm font-semibold text-white outline-none transition-all hover:brightness-110 hover:shadow-lg focus-visible:ring-2 focus-visible:ring-primary-500/30",children:[me(Vo,{size:16})," Go to Home"]})]})})}import{createContext as Ho,use as Io,useEffect as at,useState as He}from"react";import{jsx as zo}from"react/jsx-runtime";var it=Ho(void 0);function lt({children:e}){let[t,o]=He("system"),[r,n]=He("dark"),[a,i]=He(!1);at(()=>{i(!0);let s=localStorage.getItem("boltdocs-theme"),c=s==="light"||s==="dark"||s==="system"?s:"system";o(c);let d=window.matchMedia("(prefers-color-scheme: dark)");((b,y)=>{n(b==="system"?y?"dark":"light":b)})(c,d.matches);let g=b=>{n(y=>(localStorage.getItem("boltdocs-theme")||"system")==="system"?b.matches?"dark":"light":y)};return d.addEventListener("change",g),()=>d.removeEventListener("change",g)},[]),at(()=>{if(!a)return;let s=window.matchMedia("(prefers-color-scheme: dark)").matches,c=t==="system"?s?"dark":"light":t;n(c);let d=document.documentElement;c==="light"?(d.classList.add("theme-light"),d.dataset.theme="light"):(d.classList.remove("theme-light"),d.dataset.theme="dark")},[t,a]);let l=s=>{o(s),localStorage.setItem("boltdocs-theme",s)};return zo(it.Provider,{value:{theme:t,resolvedTheme:r,setTheme:l},children:e})}function ct(){let e=Io(it);if(e===void 0)throw new Error("useTheme must be used within a ThemeProvider");return e}import fo from"virtual:boltdocs-layout";import{startTransition as Do}from"react";import{RouterProvider as Oo}from"react-aria-components";import{useNavigate as Wo,useHref as Fo}from"react-router-dom";import{jsx as $o}from"react/jsx-runtime";function dt({children:e}){let t=Wo();return $o(Oo,{navigate:(o,r)=>{Do(()=>{t(o,r)})},useHref:Fo,children:e})}import{useLayoutEffect as Go}from"react";import{useLocation as _o}from"react-router-dom";function pt(){let{pathname:e,hash:t}=_o();return Go(()=>{let o=document.querySelector(".boltdocs-content")||window,r=()=>o===window?window.scrollY:o.scrollTop,n=(a,i="auto")=>{o===window?window.scrollTo({top:a,behavior:i}):o.scrollTo({top:a,behavior:i})};if(t){let a=t.replace("#",""),i=document.getElementById(a);if(i){let s=o===window?0:o.getBoundingClientRect().top,p=i.getBoundingClientRect().top-s-80+r();n(p,"smooth");return}}n(0)},[e,t]),null}import{Outlet as Uo}from"react-router-dom";import qo from"virtual:boltdocs-layout";import{jsx as mt}from"react/jsx-runtime";function ut(){return mt(qo,{children:mt(Uo,{})})}import{createContext as Jo,use as Xo}from"react";import{jsx as Ko}from"react/jsx-runtime";var ft=Jo({});function gt(){return Xo(ft)}function ht({components:e,children:t}){return Ko(ft.Provider,{value:e,children:t})}import{jsx as Yo}from"react/jsx-runtime";function xt({Component:e}){let t=gt();return Yo(e,{components:t})}import{Link as En}from"lucide-react";var je={};xo(je,{Admonition:()=>F,Badge:()=>Mt,Button:()=>bt,Card:()=>Ht,Cards:()=>Vt,Caution:()=>_t,CodeBlock:()=>_,ComponentPreview:()=>so,ComponentProps:()=>oo,CopyMarkdown:()=>lo,Danger:()=>Ft,Field:()=>Qt,FileTree:()=>Jt,Image:()=>to,Important:()=>Gt,InfoBox:()=>$t,Link:()=>eo,List:()=>Ut,Note:()=>Dt,Tab:()=>Tt,Table:()=>Zt,Tabs:()=>kt,Tip:()=>Ot,Video:()=>At,Warning:()=>Wt});import*as Pe from"react-aria-components";import{cva as jo}from"class-variance-authority";import{Fragment as Zo,jsx as Q,jsxs as Qo}from"react/jsx-runtime";var we=jo("flex flex-row items-center justify-center w-auto font-semibold tracking-tight no-underline whitespace-nowrap select-none outline-none transition-all duration-200 cursor-pointer pressed:scale-[0.97] hover:-translate-y-px leading-none",{variants:{variant:{primary:"bg-primary-500 text-white shadow-md hover:brightness-110 hover:shadow-lg",secondary:"bg-bg-surface text-text-main border border-border-subtle hover:bg-bg-muted hover:border-border-strong",outline:"bg-transparent text-text-main border border-border-strong hover:bg-bg-surface hover:border-primary-500",ghost:"bg-transparent text-text-muted hover:bg-bg-surface hover:text-text-main",danger:"bg-[var(--color-danger-500)]/10 text-[var(--color-danger-500)] border border-[var(--color-danger-500)]/20 hover:bg-[var(--color-danger-500)]/15",success:"bg-[var(--color-success-500)]/10 text-[var(--color-success-500)] border border-[var(--color-success-500)]/20 hover:bg-[var(--color-success-500)]/15",warning:"bg-[var(--color-warning-500)]/10 text-[var(--color-warning-500)] border border-[var(--color-warning-500)]/20 hover:bg-[var(--color-warning-500)]/15",info:"bg-[var(--color-info-500)]/10 text-[var(--color-info-500)] border border-[var(--color-info-500)]/20 hover:bg-[var(--color-info-500)]/15",subtle:"bg-primary-500/10 text-primary-500 hover:bg-primary-500/20",link:"bg-transparent text-primary-500 !p-0 !min-h-0 hover:underline"},size:{sm:"min-h-8 px-3.5 text-[0.8125rem] gap-1.5",md:"min-h-10 px-5 text-[0.9375rem] gap-2",lg:"min-h-12 px-7 text-[1.05rem] gap-2.5"},rounded:{none:"rounded-none",sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",full:"rounded-full"},iconSize:{sm:"w-8 h-8 p-0",md:"w-10 h-10 p-0",lg:"w-12 h-12 p-0"},disabled:{true:"opacity-50 cursor-not-allowed pointer-events-none",false:null}},defaultVariants:{variant:"primary",size:"md",rounded:"md"}}),ee=({href:e,icon:t,iconPosition:o="left",isIconOnly:r,children:n,className:a,variant:i,size:l,rounded:s,iconSize:c,disabled:d,...p})=>{let g=r||!n&&!!t,b=g?Q("span",{className:"inline-flex items-center justify-center [&>svg]:w-[1.2rem] [&>svg]:h-[1.2rem]",children:t}):Qo(Zo,{children:[t&&o==="left"&&Q("span",{className:"inline-flex items-center shrink-0 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]",children:t}),Q("span",{className:"flex items-center",children:n}),t&&o==="right"&&Q("span",{className:"inline-flex items-center shrink-0 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]",children:t})]});return e?Q(Pe.Link,{href:e,className:m(we({variant:i,size:l,rounded:s,iconSize:g?c:void 0,disabled:d}),a),...p,children:b}):Q(Pe.Button,{className:m(we({variant:i,size:l,rounded:s,iconSize:g?c:void 0,disabled:d}),a),...p,children:b})};import{jsx as er}from"react/jsx-runtime";var bt=({className:e,variant:t,size:o,rounded:r,iconSize:n,disabled:a,...i})=>er(ee,{className:m("group",we({variant:t,size:o,rounded:r,iconSize:n,disabled:a,className:e})),...i});import*as De from"react-aria-components";import{Copy as sr,Check as ar,File as ir}from"lucide-react";var vt=async e=>{try{return await navigator.clipboard.writeText(e),!0}catch{let t=document.createElement("textarea");return t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t),!0}};import{useCallback as tr,useEffect as or,useRef as rr,useState as Ie}from"react";function yt(e){let{title:t}=e,[o,r]=Ie(!1),[n,a]=Ie(!1),[i,l]=Ie(!1),s=rr(null),c=G(),d=tr(async()=>{let p=s.current?.textContent??"";vt(p),r(!0),setTimeout(()=>r(!1),2e3)},[]);return or(()=>{let p=s.current?.textContent?.length??0;l(p>120)},[e.children,e.highlightedHtml]),{copied:o,isExpanded:n,setIsExpanded:a,isExpandable:i,preRef:s,handleCopy:d,shouldTruncate:i&&!n}}import{jsx as C,jsxs as W}from"react/jsx-runtime";function O(e){let{size:t=20,...o}=e;return{...o,width:t,height:t}}var Ne=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"TypeScript"}),C("path",{fill:"#2563EB",d:"M3.234 9.093V7.318h8.363v1.775H8.479V17.5H6.352V9.093H3.234zm15.263 1.153c-.04-.4-.21-.712-.512-.934-.301-.222-.71-.333-1.228-.333-.351 0-.648.05-.89.149-.242.096-.427.23-.557.403a.969.969 0 0 0-.189.586.838.838 0 0 0 .115.477c.086.136.204.254.353.353.149.097.321.181.517.254.195.07.404.13.626.179l.915.219c.444.1.852.232 1.223.397.371.166.693.37.965.612.271.242.482.527.631.855.152.328.23.704.234 1.129-.004.623-.163 1.163-.478 1.62-.311.454-.762.807-1.352 1.06-.587.248-1.294.372-2.123.372-.822 0-1.538-.126-2.147-.378-.607-.252-1.081-.624-1.422-1.118-.338-.497-.516-1.112-.532-1.845h2.083c.023.342.12.627.293.855.176.226.41.397.701.513a2.8 2.8 0 0 0 1 .168c.364 0 .68-.053.949-.159a1.45 1.45 0 0 0 .631-.442c.15-.189.224-.406.224-.651a.846.846 0 0 0-.204-.577c-.132-.156-.328-.288-.586-.398a5.964 5.964 0 0 0-.94-.298l-1.109-.278c-.858-.21-1.536-.536-2.033-.98-.497-.444-.744-1.042-.74-1.795-.004-.616.16-1.155.491-1.615.335-.461.794-.82 1.377-1.08.584-.258 1.247-.387 1.99-.387.755 0 1.414.13 1.978.388.567.258 1.007.618 1.322 1.079.315.46.477.994.488 1.6h-2.064z"})]}),Te=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"JavaScript"}),C("path",{fill:"#F59E0B",d:"M8.383 7.318h2.127v7.1c0 .656-.147 1.226-.442 1.71a2.924 2.924 0 01-1.218 1.118c-.52.262-1.125.393-1.815.393-.613 0-1.17-.107-1.67-.323a2.67 2.67 0 01-1.183-.994c-.292-.448-.436-1.01-.433-1.686h2.143c.006.269.061.5.164.691.106.19.25.335.432.438.186.1.405.15.657.15.265 0 .488-.057.67-.17.186-.116.327-.285.423-.507.096-.222.145-.496.145-.82v-7.1zm9.43 2.928c-.04-.4-.21-.712-.511-.934-.302-.222-.711-.333-1.228-.333-.352 0-.648.05-.89.149-.242.096-.428.23-.557.403a.969.969 0 00-.19.586.838.838 0 00.115.477c.087.136.204.254.353.353.15.097.322.181.517.254.196.07.405.13.627.179l.915.219c.444.1.851.232 1.223.397.37.166.692.37.964.612s.482.527.631.855a2.7 2.7 0 01.234 1.129c-.003.623-.162 1.163-.477 1.62-.312.454-.763.807-1.353 1.06-.586.248-1.294.372-2.122.372-.822 0-1.538-.126-2.148-.378-.607-.252-1.08-.624-1.422-1.118-.338-.497-.515-1.112-.532-1.845h2.083c.023.342.121.627.293.855.176.226.41.397.702.513.295.112.628.168.999.168.364 0 .68-.053.95-.159.271-.106.482-.253.63-.442.15-.189.224-.406.224-.651a.846.846 0 00-.203-.577c-.133-.156-.329-.288-.587-.398a5.964 5.964 0 00-.94-.298l-1.108-.278c-.859-.21-1.537-.536-2.034-.98-.497-.444-.744-1.042-.74-1.795-.004-.616.16-1.155.492-1.615.334-.461.793-.82 1.377-1.08.583-.258 1.246-.387 1.989-.387.755 0 1.415.13 1.978.388.567.258 1.008.618 1.323 1.079.314.46.477.994.487 1.6h-2.063z"})]}),ke=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"JSON"}),C("path",{fill:"#F59E0B",d:"M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"})]}),Le=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"CSS"}),C("path",{fill:"#0EA5E9",d:"M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"})]}),Ae=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"HTML"}),C("path",{fill:"#EA580C",d:"M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"})]});var te=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"React"}),C("path",{fill:"#0E8ADC",d:"M12 13.677a1.677 1.677 0 100-3.354 1.677 1.677 0 000 3.354z"}),C("path",{stroke:"#0E8ADC",d:"M12 15.436c4.97 0 9-1.538 9-3.436s-4.03-3.436-9-3.436S3 10.102 3 12s4.03 3.436 9 3.436z"}),C("path",{stroke:"#0E8ADC",d:"M9.024 13.718c2.485 4.305 5.832 7.025 7.476 6.076 1.644-.949.961-5.208-1.524-9.512C12.491 5.977 9.144 3.257 7.5 4.206c-1.644.949-.961 5.208 1.524 9.512z"}),C("path",{stroke:"#0E8ADC",d:"M9.024 10.282c-2.485 4.304-3.168 8.563-1.524 9.512 1.644.95 4.99-1.771 7.476-6.076 2.485-4.304 3.168-8.563 1.524-9.512-1.644-.95-4.99 1.771-7.476 6.076z"})]}),oe=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"Markdown"}),C("path",{fill:"#60A5FA",d:"M3 15.714V8h2.323l2.322 2.836L9.968 8h2.322v7.714H9.968V11.29l-2.323 2.836-2.322-2.836v4.424H3zm14.516 0l-3.484-3.743h2.323V8h2.322v3.97H21l-3.484 3.744z"})]}),re=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 25 24",...O(e),children:[C("title",{children:"Shell"}),C("path",{stroke:"#14B8A6",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"M4.336 17l6-6-6-6M12.336 19h8"})]}),ne=e=>W("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...O(e),children:[C("title",{children:"YAML"}),C("path",{fill:"#A78BFA",d:"M6.533 5.864h2.755l2.654 5.011h.113l2.654-5.011h2.756l-4.245 7.522V17.5h-2.443v-4.114L6.533 5.864z"})]});import*as se from"react-aria-components";import{Fragment as nr,jsx as ue,jsxs as ze}from"react/jsx-runtime";var Ct=({className:e,children:t,...o})=>ue(se.Tooltip,{...o,offset:8,className:r=>m("group z-50 overflow-visible rounded-md bg-bg-surface/90 px-2.5 py-1.5 text-xs font-medium text-text-main shadow-lg backdrop-blur-md ring-1 ring-border-subtle outline-hidden select-none","data-entering:animate-in data-entering:fade-in data-entering:zoom-in-95 data-entering:duration-100","data-exiting:animate-out data-exiting:fade-out data-exiting:zoom-out-95 data-exiting:duration-75","data-[placement=top]:slide-in-from-bottom-1","data-[placement=bottom]:slide-in-from-top-1","data-[placement=left]:slide-in-from-right-1","data-[placement=right]:slide-in-from-left-1",typeof e=="function"?e(r):e),children:r=>ze(nr,{children:[ue(se.OverlayArrow,{children:ze("svg",{width:8,height:8,viewBox:"0 0 8 8",className:"fill-bg-surface/90 stroke-border-subtle group-data-[placement=bottom]:rotate-180 group-data-[placement=left]:-rotate-90 group-data-[placement=right]:rotate-90",children:[ue("title",{children:"Arrow"}),ue("path",{d:"M0 0 L4 4 L8 0"})]})}),typeof t=="function"?t(r):t]})}),fe=({content:e,children:t,delay:o=500,closeDelay:r=0,...n})=>ze(se.TooltipTrigger,{delay:o,closeDelay:r,children:[t,ue(Ct,{...n,children:e})]});fe.Root=fe;fe.Content=Ct;import{jsx as S,jsxs as Rt}from"react/jsx-runtime";var lr={ts:Ne,tsx:te,js:Te,jsx:te,json:ke,css:Le,html:Ae,md:oe,mdx:oe,bash:re,sh:re,yaml:ne,yml:ne};function _(e){let{children:t,hideCopy:o=!1,highlightedHtml:r,"data-highlighted-html":n,title:a,"data-lang":i,plain:l=!1,...s}=e,c=r||n,d=G(),p=e.lang||i||"",{copied:g,isExpanded:b,setIsExpanded:y,isExpandable:w,preRef:h,handleCopy:B,shouldTruncate:x}=yt(e),E=lr[p];return Rt("div",{className:m("group relative overflow-hidden bg-(--color-code-bg)","contain-layout contain-paint",{"my-6 rounded-lg border border-border-subtle":!l,"[&>pre]:max-h-62.5 [&>pre]:overflow-hidden":x},e.className),children:[a&&Rt("div",{className:"flex items-center gap-2 border-b border-border-subtle bg-bg-surface/50 px-4 py-2 text-[13px] font-medium text-text-muted",children:[E?S(E,{size:14}):S(ir,{size:14,className:"opacity-60"}),S("span",{children:a})]}),S("div",{className:"absolute top-3 right-4 z-50 flex items-center gap-2 transition-all duration-300 opacity-0 group-hover:opacity-100",children:!o&&S(fe,{content:g?"Copied!":"Copy code",children:S(De.Button,{onPress:B,className:m("grid place-items-center size-8 bg-transparent outline-none cursor-pointer transition-all duration-200 hover:scale-110 active:scale-95 [&>svg]:size-4 [&>svg]:stroke-2",g?"text-emerald-400":"text-text-muted hover:text-text-main"),"aria-label":"Copy code",children:g?S(ar,{size:20}):S(sr,{size:20})})})}),c?S("div",{ref:h,className:"shiki-wrapper [&>pre]:m-0! [&>pre]:rounded-none! [&>pre]:border-none! [&>pre]:bg-inherit! [&>pre>code]:grid! [&>pre>code]:p-5! [&>.shiki.shiki-themes]:bg-transparent!",dangerouslySetInnerHTML:{__html:c}}):S("pre",{ref:h,className:"m-0! rounded-none! border-none! bg-inherit! font-mono text-[0.8125rem] leading-[1.7]",...s,children:t}),w&&S("div",{className:m(x?"absolute bottom-0 inset-x-0 h-24 bg-linear-to-t from-(--color-code-bg) to-transparent flex items-end justify-center pb-4 z-10":"relative flex justify-center py-4"),children:S(De.Button,{onPress:()=>y(!b),className:"rounded-full bg-bg-surface border border-border-subtle px-5 py-2 text-[0.8125rem] font-medium text-text-main outline-none cursor-pointer transition-all hover:bg-border-subtle hover:-translate-y-px backdrop-blur-md",children:b?"Show less":"Expand code"})})]})}import{Children as mr,isValidElement as ur,useMemo as fr}from"react";import*as q from"react-aria-components";import{useState as wt,useRef as cr,useEffect as dr,useCallback as pr}from"react";function Pt({initialIndex:e=0,tabs:t}){let o=t[e]?.props.disabled?t.findIndex(c=>!c.props.disabled):e,[r,n]=wt(o===-1?0:o),a=cr([]),[i,l]=wt({opacity:0,transform:"translateX(0)",width:0});dr(()=>{let c=a.current[r];c&&l({opacity:1,width:c.offsetWidth,transform:`translateX(${c.offsetLeft}px)`})},[r,t]);let s=pr(c=>{let d=0;if(c.key==="ArrowRight"?d=1:c.key==="ArrowLeft"&&(d=-1),d!==0){let p=(r+d+t.length)%t.length;for(;t[p].props.disabled&&p!==r;)p=(p+d+t.length)%t.length;p!==r&&!t[p].props.disabled&&(n(p),a.current[p]?.focus())}},[r,t]);return{active:r,setActive:n,tabRefs:a,indicatorStyle:i,handleKeyDown:s}}import{cva as Nt}from"class-variance-authority";import{jsx as U,jsxs as Oe}from"react/jsx-runtime";var gr=Nt("relative flex items-center border-b border-border-subtle gap-1 overflow-x-auto no-scrollbar",{variants:{size:{default:"px-0",compact:"px-2"}},defaultVariants:{size:"default"}}),hr=Nt("flex items-center gap-2 px-4 py-2.5 text-sm font-medium outline-none transition-all duration-200 cursor-pointer bg-transparent border-none select-none whitespace-nowrap",{variants:{isActive:{true:"text-primary-500",false:"text-text-muted hover:text-text-main"},isDisabled:{true:"opacity-40 pointer-events-none",false:""}},defaultVariants:{isActive:!1,isDisabled:!1}});function Tt({children:e}){let t=typeof e=="string"?U(_,{className:"language-bash",children:U("code",{children:e.trim()})}):e;return U("div",{className:"py-4",children:t})}function kt({defaultIndex:e=0,children:t}){let o=fr(()=>mr.toArray(t).filter(l=>ur(l)&&l.props?.label),[t]),{active:r,setActive:n,tabRefs:a,indicatorStyle:i}=Pt({initialIndex:e,tabs:o});return U("div",{className:"my-8 w-full group/tabs",children:Oe(q.Tabs,{selectedKey:r.toString(),onSelectionChange:l=>n(Number(l)),className:"w-full",children:[Oe(q.TabList,{"aria-label":"Content Tabs",className:m(gr()),children:[o.map((l,s)=>{let{label:c,icon:d,disabled:p}=l.props,g=s.toString();return Oe(q.Tab,{id:g,isDisabled:p,ref:b=>{a.current[s]=b},className:({isSelected:b,isDisabled:y})=>m(hr({isActive:b,isDisabled:y})),children:[!!d&&U("span",{className:"shrink-0 [&>svg]:w-4 [&>svg]:h-4",children:d}),U("span",{children:c})]},g)}),U("div",{className:"absolute bottom-0 h-0.5 bg-primary-500 transition-all duration-300 ease-in-out pointer-events-none",style:i,"aria-hidden":"true"})]}),o.map((l,s)=>U(q.TabPanel,{id:s.toString(),children:o[s]},s))]})})}import{useRef as xr,useState as br,useEffect as vr}from"react";import{jsx as Lt,jsxs as yr}from"react/jsx-runtime";function At({src:e,poster:t,alt:o,children:r,controls:n,preload:a="metadata",...i}){let l=xr(null),[s,c]=br(!1);return vr(()=>{let d=l.current;if(!d)return;let p=new IntersectionObserver(([g])=>{g.isIntersecting&&(c(!0),p.disconnect())},{rootMargin:"200px"});return p.observe(d),()=>p.disconnect()},[]),Lt("div",{ref:l,className:"my-6 overflow-hidden rounded-lg border border-border-subtle",children:s?yr("video",{className:"block w-full h-auto",src:e,poster:t,controls:!0,preload:a,playsInline:!0,...i,children:[r,"Your browser does not support the video tag."]}):Lt("div",{className:"aspect-video bg-bg-surface animate-pulse",role:"img","aria-label":o||"Video"})})}import{cva as Cr}from"class-variance-authority";import{jsx as wr}from"react/jsx-runtime";var Rr=Cr("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold tracking-tight",{variants:{variant:{default:"bg-bg-surface text-text-muted border-border-subtle",primary:"bg-primary-500/15 text-primary-400 border-primary-500/20",success:"bg-emerald-500/15 text-emerald-400 border-emerald-500/20",warning:"bg-amber-500/15 text-amber-400 border-amber-500/20",danger:"bg-red-500/15 text-red-400 border-red-500/20",info:"bg-sky-500/15 text-sky-400 border-sky-500/20"}},defaultVariants:{variant:"default"}});function Mt({variant:e="default",children:t,className:o="",...r}){return wr("span",{className:m(Rr({variant:e}),o),...r,children:t})}import{useCallback as Pr,useRef as Bt}from"react";import*as St from"react-aria-components";import{cva as Nr}from"class-variance-authority";import{Fragment as kr,jsx as X,jsxs as Et}from"react/jsx-runtime";var Tr=Nr("grid gap-4 my-6",{variants:{cols:{1:"grid-cols-1",2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"}},defaultVariants:{cols:3}});function Vt({cols:e=3,children:t,className:o="",...r}){return X("div",{className:m(Tr({cols:e}),o),...r,children:t})}function Ht({title:e,icon:t,href:o,children:r,className:n="",...a}){let i=Bt(null),l=Bt(null),s=Pr(p=>{let g=i.current||l.current;if(!g)return;let{left:b,top:y}=g.getBoundingClientRect();g.style.setProperty("--x",`${p.clientX-b}px`),g.style.setProperty("--y",`${p.clientY-y}px`)},[]),c=Et(kr,{children:[X("div",{className:"pointer-events-none absolute -inset-px rounded-xl opacity-0 transition-opacity duration-300 group-hover:opacity-100",style:{background:"radial-gradient(400px circle at var(--x) var(--y), color-mix(in oklch, var(--color-primary-500), transparent 90%), transparent 80%)"}}),t&&X("div",{className:"mb-3 flex h-10 w-10 items-center justify-center rounded-lg bg-primary-500/10 text-primary-400 text-lg transition-transform duration-300 group-hover:scale-105 group-hover:-rotate-3",children:t}),Et("div",{className:"space-y-1.5",children:[e&&X("h3",{className:"text-sm font-bold text-text-main",children:e}),r&&X("div",{className:"text-sm text-text-muted leading-relaxed",children:r})]})]}),d=m("group relative block rounded-xl border border-border-subtle bg-bg-surface p-5 outline-none overflow-hidden","transition-all duration-200 hover:border-primary-500/40 hover:shadow-lg hover:shadow-primary-500/5","focus-visible:ring-2 focus-visible:ring-primary-500/30",n);return o?X(St.Link,{ref:l,href:o,className:m(d,"no-underline cursor-pointer"),onMouseMove:s,...a,children:c}):X("div",{ref:i,role:"presentation",className:d,onMouseMove:s,...a,children:c})}import{Info as Lr,Lightbulb as Ar,AlertTriangle as Mr,ShieldAlert as Br,Bookmark as Er,Zap as Sr,Flame as Vr}from"lucide-react";import{cva as Hr}from"class-variance-authority";import{jsx as N,jsxs as zt}from"react/jsx-runtime";var Ir={note:N(Er,{size:18}),tip:N(Ar,{size:18}),info:N(Lr,{size:18}),warning:N(Mr,{size:18}),danger:N(Br,{size:18}),important:N(Vr,{size:18}),caution:N(Sr,{size:18})},zr={note:"Note",tip:"Tip",info:"Info",warning:"Warning",danger:"Danger",important:"Important",caution:"Caution"},It=Hr("py-4 px-4 rounded-lg",{variants:{type:{note:"border-primary-400 bg-primary-500/5 text-primary-400",tip:"border-emerald-500 bg-emerald-500/5 text-emerald-500",info:"border-sky-500 bg-sky-500/5 text-sky-500",warning:"border-amber-500 bg-amber-500/5 text-amber-500",danger:"border-red-500 bg-red-500/5 text-red-500",important:"border-orange-500 bg-orange-500/5 text-orange-500",caution:"border-yellow-500 bg-yellow-500/5 text-yellow-500"}},defaultVariants:{type:"note"}});function F({type:e="note",title:t,children:o,className:r="",...n}){return zt("div",{className:m(It({type:e}),r),role:e==="warning"||e==="danger"?"alert":"note",...n,children:[zt("div",{className:"flex items-center flex-row gap-2 mb-2",children:[N("span",{className:m("shrink-0",It({type:e})),children:Ir[e]}),N("span",{className:"text-sm font-bold tracking-tight text-text-main",children:t||zr[e]})]}),N("div",{className:"text-sm text-text-muted leading-relaxed [&>p]:m-0 [&>p]:mb-2 [&>p:last-child]:mb-0",children:o})]})}var Dt=e=>N(F,{type:"note",...e}),Ot=e=>N(F,{type:"tip",...e}),Wt=e=>N(F,{type:"warning",...e}),Ft=e=>N(F,{type:"danger",...e}),$t=e=>N(F,{type:"info",...e}),Gt=e=>N(F,{type:"important",...e}),_t=e=>N(F,{type:"caution",...e});import{Children as Dr,isValidElement as Or}from"react";import{Check as Wr,ChevronRight as Fr,Circle as $r}from"lucide-react";import{cva as We}from"class-variance-authority";import{jsx as J,jsxs as Xr}from"react/jsx-runtime";var Gr=We("my-6 transition-all duration-200",{variants:{variant:{default:"list-disc pl-5 text-text-muted marker:text-primary-500/50",number:"list-decimal pl-5 text-text-muted marker:text-primary-500/50 marker:font-bold",checked:"list-none p-0",arrow:"list-none p-0",bubble:"list-none p-0"},cols:{1:"grid-cols-1",2:"grid-cols-1 sm:grid-cols-2",3:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4"},isGrid:{true:"grid gap-x-8 gap-y-3",false:"space-y-2"},dense:{true:"space-y-1",false:"space-y-2"}},compoundVariants:[{variant:"default",dense:!0,className:"space-y-0.5"}],defaultVariants:{variant:"default",cols:1,isGrid:!1,dense:!1}}),_r=We("group flex items-start gap-3 text-sm leading-relaxed transition-all duration-200",{variants:{variant:{default:"",number:"",checked:"hover:translate-x-0.5",arrow:"hover:translate-x-0.5",bubble:"hover:translate-x-0.5"},dense:{true:"py-0",false:"py-0.5"}},defaultVariants:{variant:"default",dense:!1}}),Ur=We("mt-1 shrink-0 flex items-center justify-center transition-transform group-hover:scale-110",{variants:{variant:{bubble:"h-5 w-5 rounded-full bg-primary-500/10 text-primary-500 text-[10px] font-bold",default:""}},defaultVariants:{variant:"default"}});function qr({icon:e,children:t,variant:o,dense:r}){return Xr("li",{className:m(_r({variant:o,dense:r})),children:[e&&J("span",{className:m(Ur({variant:o==="bubble"?"bubble":"default"})),children:e}),J("div",{className:"flex-1 text-text-muted group-hover:text-text-main transition-colors",children:t})]})}var Jr={checked:e=>J(Wr,{size:14,className:m("text-emerald-500 shrink-0",e)}),arrow:e=>J(Fr,{size:14,className:m("text-primary-400 shrink-0",e)}),bubble:e=>J($r,{size:6,fill:"currentColor",className:m("text-primary-500 shrink-0",e)}),default:()=>null,number:()=>null};function Ut({variant:e="default",cols:t=1,dense:o=!1,children:r,className:n,...a}){let i=t!==void 0&&Number(t)>1,l=Jr[e],s=Gr({variant:e,cols:t,dense:o,isGrid:i,className:n}),c=e==="number"?"ol":"ul";return e==="default"||e==="number"?J(c,{className:s,...a,children:r}):J("ul",{className:s,...a,children:Dr.map(r,d=>{if(!Or(d))return d;let p=d,g=p.type==="li"?p.props.children:p.props.children||d;return J(qr,{icon:l(),variant:e,dense:o,children:g})})})}import{Children as Fe,isValidElement as qe,useMemo as Kr}from"react";import*as H from"react-aria-components";import{Folder as Yr,FileText as jr,File as Zr,FileCode as Qr,FileImage as en,ChevronRight as tn}from"lucide-react";import{jsx as T,jsxs as _e}from"react/jsx-runtime";var ae=16,ge=2,on={ts:Ne,tsx:te,js:Te,jsx:te,json:ke,css:Le,html:Ae,md:oe,mdx:oe,bash:re,sh:re,yaml:ne,yml:ne},$e={CODE:/\.(ts|tsx|js|jsx|json|mjs|cjs|astro|vue|svelte)$/i,TEXT:/\.(md|mdx|txt)$/i,IMAGE:/\.(png|jpg|jpeg|svg|gif)$/i};function Ue(e){return typeof e=="string"?e:typeof e=="number"?e.toString():Array.isArray(e)?e.map(Ue).join(""):qe(e)&&e.props&&typeof e.props=="object"&&"children"in e.props?Ue(e.props.children):""}function rn(e,t){let o=e.toLowerCase(),r="shrink-0 transition-colors duration-200";if(t)return T(Yr,{size:ae,strokeWidth:ge,className:m(r,"text-primary-400"),fill:"currentColor",fillOpacity:.15});let n=o.split(".").pop()||"",a=on[n];if(a)return T(a,{size:ae});let i=m(r,"text-text-dim group-hover:text-text-main");return $e.CODE.test(o)?T(Qr,{size:ae,strokeWidth:ge,className:i}):$e.TEXT.test(o)?T(jr,{size:ae,strokeWidth:ge,className:i}):$e.IMAGE.test(o)?T(en,{size:ae,strokeWidth:ge,className:i}):T(Zr,{size:ae,strokeWidth:ge,className:i})}function Ge(e,t){if(!qe(e))return!1;let o=e.type;if(typeof o=="string")return o===t;if(typeof o=="function")return o.name===t||o.name?.toLowerCase()===t;let r=e.props;return r?.originalType===t||r?.mdxType===t}function nn(e){let t=e.match(/\s+(\/\/|#)\s+(.*)$/);return t?{name:e.slice(0,t.index).trim(),comment:t[2]}:{name:e.trim()}}function Me(e,t="root"){if(!qe(e))return[];let o=[];if(Ge(e,"ul"))return Fe.forEach(e.props.children,(r,n)=>{o.push(...Me(r,`${t}-${n}`))}),o;if(Ge(e,"li")){let r=Fe.toArray(e.props.children),n=r.findIndex(y=>Ge(y,"ul")),a=n!==-1,i=a?r.slice(0,n):r,l=a?r.slice(n):[],s=Ue(i),{name:c,comment:d}=nn(s),p=c.endsWith("/"),g=p?c.slice(0,-1):c,b=a||p;return o.push({id:`${t}-${g}`,name:g,comment:d,isFolder:b,children:a?Me(l[0],`${t}-${g}`):void 0}),o}return e.props&&typeof e.props=="object"&&"children"in e.props&&Fe.forEach(e.props.children,(r,n)=>{o.push(...Me(r,`${t}-${n}`))}),o}function qt({item:e}){return _e(H.TreeItem,{id:e.id,textValue:e.name,className:"outline-none group focus-visible:ring-2 focus-visible:ring-primary-500/30 rounded-md",children:[T(H.TreeItemContent,{children:({isExpanded:t,hasChildItems:o})=>_e("div",{className:"flex items-center gap-2 py-1 px-1.5 rounded-md transition-colors hover:bg-primary-500/5 cursor-pointer",children:[T("div",{style:{width:"calc((var(--tree-item-level) - 1) * 1rem)"},className:"shrink-0"}),o?T(H.Button,{slot:"chevron",className:"outline-none text-text-dim hover:text-primary-400 p-0.5 rounded transition-colors",children:T(tn,{size:14,strokeWidth:3,className:m("transition-transform duration-200",t&&"rotate-90")})}):T("div",{className:"w-[18px]"}),rn(e.name,e.isFolder),T("span",{className:m("text-sm transition-colors truncate select-none",e.isFolder?"font-semibold text-text-main":"text-text-muted group-hover:text-text-main"),children:e.name}),e.comment&&_e("span",{className:"ml-2 text-xs italic text-text-dim opacity-70 group-hover:opacity-100 transition-opacity whitespace-nowrap overflow-hidden text-ellipsis font-sans",children:["//"," ",e.comment]})]})}),e.children&&T(H.Collection,{items:e.children,children:t=>T(qt,{item:t})})]})}function Jt({children:e}){let t=Kr(()=>Me(e),[e]);return T("div",{className:"my-8",children:T(H.Tree,{items:t,"aria-label":"File Tree",className:m("rounded-xl border border-border-subtle bg-bg-surface/50 p-4 font-mono text-sm shadow-sm backdrop-blur-sm outline-none","max-h-[500px] overflow-y-auto scrollbar-thin scrollbar-thumb-border-subtle","focus-visible:ring-2 focus-visible:ring-primary-500/20"),children:o=>T(qt,{item:o})})})}import*as he from"react-aria-components";import{useState as Xt,useMemo as Kt}from"react";function Yt({data:e,sortable:t=!1,paginated:o=!1,pageSize:r=10}){let[n,a]=Xt(null),[i,l]=Xt(1),s=Kt(()=>{if(!e)return[];let g=[...e];return t&&n!==null&&g.sort((b,y)=>{let w=b[n.key],h=y[n.key],B=typeof w=="string"?w:"",x=typeof h=="string"?h:"";return B<x?n.direction==="asc"?-1:1:B>x?n.direction==="asc"?1:-1:0}),g},[e,n,t]),c=Math.ceil(s.length/r),d=Kt(()=>{if(!o)return s;let g=(i-1)*r;return s.slice(g,g+r)},[s,o,i,r]);return{sortConfig:n,currentPage:i,setCurrentPage:l,totalPages:c,paginatedData:d,requestSort:g=>{if(!t)return;let b="asc";n&&n.key===g&&n.direction==="asc"&&(b="desc"),a({key:g,direction:b})}}}import{ChevronUp as sn,ChevronDown as jt,ChevronLeft as an,ChevronRight as ln,ChevronsLeft as cn,ChevronsRight as dn}from"lucide-react";import{Fragment as pn,jsx as P,jsxs as ie}from"react/jsx-runtime";function Zt({headers:e,data:t,children:o,className:r="",sortable:n=!1,paginated:a=!1,pageSize:i=10}){let{sortConfig:l,currentPage:s,setCurrentPage:c,totalPages:d,paginatedData:p,requestSort:g}=Yt({data:t,sortable:n,paginated:a,pageSize:i}),b=w=>n?l?.key!==w?P(jt,{size:14,className:"ml-1 opacity-30"}):l.direction==="asc"?P(sn,{size:14,className:"ml-1 text-primary-400"}):P(jt,{size:14,className:"ml-1 text-primary-400"}):null,y=o||ie(pn,{children:[e&&P("thead",{children:P("tr",{children:e.map((w,h)=>P("th",{onClick:()=>g(h),className:m("text-left px-3 py-2.5 border-b-2 border-border-subtle text-text-main font-semibold text-sm",n&&"cursor-pointer select-none hover:text-primary-400 transition-colors"),children:ie("div",{className:"flex items-center",children:[w,b(h)]})},h))})}),p&&P("tbody",{children:p.map((w,h)=>P("tr",{className:"transition-colors hover:bg-bg-surface",children:w.map((B,x)=>P("td",{className:"px-3 py-2 border-b border-border-subtle text-sm text-text-muted",children:B},x))},h))})]});return ie("div",{className:m("my-6 rounded-lg border border-border-subtle overflow-hidden",r),children:[P("div",{className:"overflow-x-auto",children:P("table",{className:"w-full border-collapse text-sm",children:y})}),a&&d>1&&ie("div",{className:"flex items-center justify-between border-t border-border-subtle px-4 py-3",children:[ie("span",{className:"text-xs text-text-muted",children:["Page ",s," of ",d]}),ie("div",{className:"flex items-center gap-1",children:[P(he.Button,{onPress:()=>c(1),isDisabled:s===1,className:"grid place-items-center h-7 w-7 rounded-md text-text-muted outline-none transition-colors hover:bg-bg-surface disabled:opacity-30 disabled:pointer-events-none cursor-pointer",children:P(cn,{size:16})}),P(he.Button,{onPress:()=>c(w=>Math.max(w-1,1)),isDisabled:s===1,className:"grid place-items-center h-7 w-7 rounded-md text-text-muted outline-none transition-colors hover:bg-bg-surface disabled:opacity-30 disabled:pointer-events-none cursor-pointer",children:P(an,{size:16})}),P(he.Button,{onPress:()=>c(w=>Math.min(w+1,d)),isDisabled:s===d,className:"grid place-items-center h-7 w-7 rounded-md text-text-muted outline-none transition-colors hover:bg-bg-surface disabled:opacity-30 disabled:pointer-events-none cursor-pointer",children:P(ln,{size:16})}),P(he.Button,{onPress:()=>c(d),isDisabled:s===d,className:"grid place-items-center h-7 w-7 rounded-md text-text-muted outline-none transition-colors hover:bg-bg-surface disabled:opacity-30 disabled:pointer-events-none cursor-pointer",children:P(dn,{size:16})})]})]})]})}import{jsx as le,jsxs as xe}from"react/jsx-runtime";function Qt({name:e,type:t,defaultValue:o,required:r=!1,children:n,id:a,className:i=""}){return xe("article",{className:m("group relative my-6 rounded-xl border border-border-subtle bg-bg-surface p-5 transition-all duration-300","hover:border-primary-500/30 hover:shadow-lg hover:shadow-primary-500/5",i),id:a,children:[xe("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between mb-4",children:[xe("div",{className:"flex flex-wrap items-center gap-2.5",children:[le("code",{className:"inline-flex items-center rounded-md bg-primary-500/10 px-2.5 py-1 font-mono text-sm font-bold text-primary-400 border border-primary-500/20 shadow-sm transition-colors group-hover:bg-primary-500/15",children:e}),t&&le("span",{className:"rounded-md bg-bg-muted/80 border border-border-subtle px-2 py-0.5 text-[11px] font-semibold text-text-muted uppercase tracking-wider shadow-sm",children:t}),r&&xe("div",{className:"flex items-center gap-1.5 rounded-full bg-red-500/10 px-2.5 py-0.5 text-[10px] font-bold uppercase tracking-wider text-red-400 border border-red-500/20 shadow-sm",children:[le("span",{className:"h-1 w-1 rounded-full bg-red-400 animate-pulse"}),"Required"]})]}),o&&xe("div",{className:"flex items-center gap-2 text-[11px] text-text-muted bg-bg-muted/30 px-2.5 py-1 rounded-md border border-border-subtle/50",children:[le("span",{className:"font-semibold opacity-60 uppercase tracking-tighter",children:"Default"}),le("code",{className:"font-mono text-text-main font-medium",children:o})]})]}),le("div",{className:"text-sm text-text-muted leading-relaxed [&>p]:m-0 selection:bg-primary-500/30",children:n})]})}import{jsx as mn}from"react/jsx-runtime";function eo({to:e,children:t,className:o="",...r}){let n=e&&(e.startsWith("http://")||e.startsWith("https://")||e.startsWith("//")),a=m("text-blue-600 hover:text-blue-800 hover:underline cursor-pointer",o);return mn(Z,{href:e,className:a,target:n?"_blank":void 0,rel:n?"noopener noreferrer":void 0,...r,children:t})}import{jsx as un}from"react/jsx-runtime";function to({src:e,alt:t,theme:o,...r}){let{theme:n}=ct();return o&&o!==n?null:un("img",{src:e,alt:t||"",...r})}import{jsx as k,jsxs as be}from"react/jsx-runtime";function oo({title:e,props:t,className:o=""}){return be("div",{className:m("my-6",o),children:[e&&k("h3",{className:"text-base font-bold text-text-main mb-3",children:e}),k("div",{className:"overflow-x-auto rounded-lg border border-border-subtle",children:be("table",{className:"w-full border-collapse text-sm",children:[k("thead",{children:be("tr",{children:[k("th",{className:"text-left px-4 py-3 border-b-2 border-border-subtle text-xs font-bold uppercase tracking-wider text-text-muted",children:"Property"}),k("th",{className:"text-left px-4 py-3 border-b-2 border-border-subtle text-xs font-bold uppercase tracking-wider text-text-muted",children:"Type"}),k("th",{className:"text-left px-4 py-3 border-b-2 border-border-subtle text-xs font-bold uppercase tracking-wider text-text-muted",children:"Default"}),k("th",{className:"text-left px-4 py-3 border-b-2 border-border-subtle text-xs font-bold uppercase tracking-wider text-text-muted",children:"Description"})]})}),k("tbody",{children:t.map((r,n)=>be("tr",{className:"transition-colors hover:bg-bg-surface",children:[be("td",{className:"px-4 py-2.5 border-b border-border-subtle",children:[k("code",{className:"rounded bg-bg-surface px-1.5 py-0.5 font-mono text-xs font-bold text-primary-400",children:r.name}),r.required&&k("span",{className:"ml-1 text-red-400 font-bold",children:"*"})]}),k("td",{className:"px-4 py-2.5 border-b border-border-subtle",children:k("code",{className:"rounded bg-bg-muted px-1.5 py-0.5 font-mono text-xs text-text-muted",children:r.type})}),k("td",{className:"px-4 py-2.5 border-b border-border-subtle",children:r.defaultValue?k("code",{className:"rounded bg-bg-muted px-1.5 py-0.5 font-mono text-xs text-primary-400",children:r.defaultValue}):k("span",{className:"text-text-dim",children:"\u2014"})}),k("td",{className:"px-4 py-2.5 border-b border-border-subtle text-text-muted",children:r.description})]},`${r.name}-${n}`))})]})})]})}import{useMemo as ro}from"react";function no(e){let{code:t,children:o,preview:r}=e,n=ro(()=>(t??(typeof o=="string"?o:"")).trim(),[t,o]),a=ro(()=>r??(typeof o!="string"?o:null),[r,o]);return{initialCode:n,previewElement:a}}import{jsx as Je,jsxs as fn}from"react/jsx-runtime";function so(e){let{highlightedHtml:t,hideCode:o=!1,hideCopy:r=!1}=e,{initialCode:n,previewElement:a}=no(e);return fn("div",{className:"my-6 overflow-hidden rounded-xl border border-border-subtle",children:[Je("div",{className:"flex items-center justify-center p-8 bg-bg-surface",children:a}),!o&&Je("div",{className:"border-t border-border-subtle",children:Je(_,{hideCopy:r,lang:"tsx",highlightedHtml:t,plain:!0,children:n})})]})}import{useState as kn}from"react";import{Copy as io,Check as Ln,ExternalLink as An,ChevronDown as Mn}from"lucide-react";import{jsx as gn}from"react/jsx-runtime";var Xe=({children:e,className:t,vertical:o=!1})=>gn("div",{className:m("inline-flex",o?"flex-col":"flex-row",!o&&["[&>*:not(:first-child)]:-ml-px","[&>*:first-child]:rounded-r-none","[&>*:last-child]:rounded-l-none","[&>*:not(:first-child):not(:last-child)]:rounded-none",t?.includes("rounded-full")&&["[&>*:first-child]:rounded-l-full","[&>*:last-child]:rounded-r-full"],t?.includes("rounded-xl")&&["[&>*:first-child]:rounded-l-xl","[&>*:last-child]:rounded-r-xl"],t?.includes("rounded-lg")&&["[&>*:first-child]:rounded-l-lg","[&>*:last-child]:rounded-r-lg"]],o&&["[&>*:not(:first-child)]:-mt-px","[&>*:first-child]:rounded-b-none","[&>*:last-child]:rounded-t-none","[&>*:not(:first-child):not(:last-child)]:rounded-none",t?.includes("rounded-full")&&["[&>*:first-child]:rounded-t-full","[&>*:last-child]:rounded-b-full"]],t),children:e});import{Check as xn,ChevronRight as bn,Dot as vn}from"lucide-react";import ao from"react";import*as R from"react-aria-components";import*as ce from"react-aria-components";import{jsx as Ke,jsxs as hn}from"react/jsx-runtime";var Ye=({children:e,className:t,showArrow:o,...r})=>hn(ce.Popover,{offset:8,...r,className:ce.composeRenderProps(t,n=>m("z-50 overflow-auto rounded-xl border border-border-subtle bg-bg-surface/80 shadow-xl backdrop-blur-md outline-none transition-none",n)),children:[o&&Ke(ce.OverlayArrow,{className:"group",children:Ke("svg",{viewBox:"0 0 12 12",className:"block h-3 w-3 fill-bg-surface/80 stroke-border-subtle group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90","aria-hidden":"true",children:Ke("path",{d:"M0 0 L6 6 L12 0"})})}),e]});import{Fragment as Nn,jsx as V,jsxs as ve}from"react/jsx-runtime";function yn(e){let[t,o]=ao.Children.toArray(e.children).slice(0,2);return ve(R.MenuTrigger,{...e,children:[t,V(Ye,{placement:e.placement,className:"min-w-35",children:o})]})}function Cn(e){let[t,o]=ao.Children.toArray(e.children).slice(0,2);return ve(R.SubmenuTrigger,{...e,children:[t,V(Ye,{offset:-4,crossOffset:-4,children:o})]})}function M(e){return V(R.Menu,{...e,className:R.composeRenderProps(e.className,t=>m("p-1.5 outline-none max-h-[inherit] overflow-auto max-w-75",t))})}function Rn(e){let t=e.textValue||(typeof e.children=="string"?e.children:void 0);return V(R.MenuItem,{...e,textValue:t,className:R.composeRenderProps(e.className,(o,{isFocused:r,isPressed:n,isDisabled:a})=>m("group relative flex flex-row items-center gap-2 px-2 py-1 rounded-lg outline-none cursor-default hover:cursor-pointer transition-none","text-text-main text-[12px]",{"bg-bg-surface-elevated text-primary-600 ring-1 ring-border-strong/5":r,"bg-bg-surface-elevanted":n,"opacity-40 grayscale pointer-events-none":a},o)),children:R.composeRenderProps(e.children,(o,{selectionMode:r,isSelected:n,hasSubmenu:a})=>ve(Nn,{children:[r!=="none"&&ve("span",{className:"flex items-center size-4 shrink-0 justify-center",children:[n&&r==="multiple"&&V(xn,{className:"size-3.5 stroke-[2.5px] text-primary-500 animate-in zoom-in-50 duration-200"}),n&&r==="single"&&V(vn,{className:"size-5 text-primary-500 animate-in zoom-in-50 duration-200"})]}),V("div",{className:"flex flex-row w-full transition-colors items-center gap-2 py-1 px-1",children:o}),a&&V(bn,{className:"size-4 ml-auto text-text-muted group-focused:text-primary-500/70 transition-colors"})]}))})}function wn({title:e,...t}){return ve(R.MenuSection,{...t,className:m("flex flex-col gap-0.5",t.className),children:[e&&V(R.Header,{className:"px-3 py-2 text-[10px] font-bold uppercase tracking-[0.075em] text-text-muted/50 select-none",children:e}),V(R.Collection,{items:t.items,children:t.children})]})}function Pn(e){return V(R.Separator,{...e,className:"mx-2 my-1.5 border-t border-border-subtle/50"})}M.Root=M;M.Item=Rn;M.Trigger=yn;M.SubTrigger=Cn;M.Section=wn;M.Separator=Pn;import{jsx as Tn}from"react/jsx-runtime";function L({className:e,variant:t="rect",...o}){return Tn("div",{className:m("animate-pulse bg-bg-muted",t==="circle"?"rounded-full":"rounded-md",e),...o})}import{Separator as Fl}from"react-aria-components";import{ToggleButton as Gl}from"react-aria-components";import{jsx as I,jsxs as ye}from"react/jsx-runtime";var Bn=e=>{let[t,o]=kn(!1);return{copied:t,handleCopy:()=>{navigator.clipboard.writeText(e),o(!0),setTimeout(()=>o(!1),2e3)},handleOpenRaw:()=>{let a=new Blob([e],{type:"text/plain;charset=utf-8"}),i=URL.createObjectURL(a);window.open(i,"_blank")}}};function lo({content:e,mdxRaw:t,config:o}){let r=t||e||"",{copied:n,handleCopy:a,handleOpenRaw:i}=Bn(r),l=o!==!1,s=typeof o=="object"&&o.text||"Copy Markdown";return!l||!r?null:I("div",{className:"relative inline-flex z-100 flex-shrink-0 w-max translate-y-0 active:translate-y-px transition-transform duration-200",children:ye(Xe,{className:"rounded-xl border border-border-subtle bg-bg-surface/40 backdrop-blur-md transition-all duration-300 hover:border-primary-500/50 hover:shadow-lg hover:shadow-primary-500/5 group overflow-hidden",children:[I(ee,{variant:"ghost",onPress:a,icon:n?I(Ln,{size:16}):I(io,{size:16}),iconPosition:"left",className:m("px-5 py-2 bg-transparent text-[0.8125rem] font-semibold h-9 border-none shrink-0","text-text-main transition-all duration-300 hover:bg-primary-500/5",n&&"text-emerald-500 hover:bg-emerald-500/5"),children:n?"Copied!":s}),ye(M.Trigger,{placement:"bottom end",children:[I(ee,{variant:"ghost",isIconOnly:!0,icon:I(Mn,{size:14}),className:m("px-3.5 h-9 border-l border-border-subtle/50 text-text-muted rounded-none bg-transparent shrink-0","transition-all duration-300 hover:bg-primary-500/5 hover:text-primary-500")}),ye(M.Root,{className:"w-52",children:[ye(M.Item,{onAction:a,children:[I(io,{size:16,className:"size-4 mt-0.5 text-text-muted group-hover:text-primary-500"}),I("span",{className:"font-medium text-[0.8125rem]",children:"Copy Markdown"})]}),ye(M.Item,{onAction:i,children:[I(An,{size:16,className:"size-4 mt-0.5 text-text-muted group-hover:text-primary-500"}),I("span",{className:"font-medium text-[0.8125rem]",children:"View as Markdown"})]})]})]})]})})}import{jsx as A,jsxs as K}from"react/jsx-runtime";function co(){return A("div",{className:m("w-full h-full relative overflow-y-auto transition-opacity duration-300 animate-fade-in"),children:K("div",{className:"mx-auto max-w-(--spacing-content-max) px-4 py-8 space-y-10",children:[K("div",{className:"flex gap-2",children:[A(L,{className:"h-3 w-16"}),A(L,{className:"h-3 w-24"})]}),A(L,{className:"h-10 w-[60%] sm:h-12"}),K("div",{className:"space-y-3",children:[A(L,{className:"h-4 w-full"}),A(L,{className:"h-4 w-[95%]"}),A(L,{className:"h-4 w-[40%]"})]}),K("div",{className:"space-y-6 pt-4",children:[A(L,{className:"h-7 w-32"}),K("div",{className:"space-y-3",children:[A(L,{className:"h-4 w-full"}),A(L,{className:"h-4 w-[98%]"}),A(L,{className:"h-4 w-[92%]"}),A(L,{className:"h-4 w-[60%]"})]})]}),A(L,{className:"h-32 w-full rounded-lg bg-bg-muted/50"}),K("div",{className:"space-y-6 pt-4",children:[A(L,{className:"h-7 w-48"}),K("div",{className:"space-y-3",children:[A(L,{className:"h-4 w-full"}),A(L,{className:"h-4 w-[85%]"})]})]})]})})}import{jsx as $,jsxs as Sn}from"react/jsx-runtime";var de=({level:e,id:t,children:o,...r})=>{let n=`h${e}`;return Sn(n,{id:t,...r,className:"boltdocs-heading",children:[o,t&&$("a",{href:`#${t}`,className:"header-anchor","aria-label":"Anchor",children:$(En,{size:16})})]})},po={...je,Loading:co,h1:e=>$(de,{level:1,...e}),h2:e=>$(de,{level:2,...e}),h3:e=>$(de,{level:3,...e}),h4:e=>$(de,{level:4,...e}),h5:e=>$(de,{level:5,...e}),h6:e=>$(de,{level:6,...e}),pre:e=>$(_,{...e,children:e.children})};import Hn from"virtual:boltdocs-mdx-components";import{useLocation as In}from"react-router-dom";import{Fragment as On,jsx as v,jsxs as Be}from"react/jsx-runtime";function zn(){let{currentLocale:e,config:t}=pe();return Qe(()=>{if(!t.i18n)return;let o=t.i18n.localeConfigs?.[e];document.documentElement.lang=o?.htmlLang||e||"en",document.documentElement.dir=o?.direction||"ltr"},[e,t.i18n]),null}function Dn(){let e=In(),{config:t}=pe(),o=D(i=>i.setLocale),r=D(i=>i.setVersion),n=D(i=>i.currentLocale),a=D(i=>i.currentVersion);return Qe(()=>{let i=e.pathname.split("/").filter(Boolean),l=0,s=t.versions?.defaultVersion,c=t.i18n?.defaultLocale;if(i[l]==="docs"&&l++,t.versions&&i.length>l){let d=t.versions.versions.find(p=>p.path===i[l]);d&&(s=d.path,l++)}t.i18n&&i.length>l&&t.i18n.locales[i[l]]?c=i[l]:t.i18n&&i.length===0&&(c=n||t.i18n.defaultLocale),c!==n&&o(c),s!==a&&r(s)},[e.pathname,t,o,r,n,a]),null}function go({initialRoutes:e,initialConfig:t,docsDirName:o,modules:r,hot:n,homePage:a,externalPages:i,externalLayout:l,components:s={}}){let[c,d]=mo(e),[p,g]=mo(t),b=i||{},y=l||fo,w=uo(()=>c.filter(x=>!(a&&(x.path==="/"||x.path===""))&&!b[x.path===""?"/":x.path]).map(x=>{let E=Object.keys(r).find(z=>z===`/${o}/${x.filePath}`||z.endsWith(`/${o}/${x.filePath}`)||z.endsWith(`/${o}\\${x.filePath.replace(/\\/g,"/")}`)),j=E?r[E]:null;return{...x,Component:Ze.lazy(async()=>j?await j():{default:Ve})}}),[c,r,o,a,b]);Qe(()=>{n&&(n.on("boltdocs:routes-update",x=>{d(x)}),n.on("boltdocs:config-update",x=>{g(x)}))},[n]);let h=uo(()=>({...po,...Hn,...s}),[s]),B=h.Loading;return v(lt,{children:v(ht,{components:h,children:v(Ee.Provider,{value:p,children:v(dt,{children:Be(ot,{routes:c,modules:r,children:[v(pt,{}),v(Dn,{}),v(zn,{}),Be(Vn,{children:[v(Y,{element:v(ut,{}),children:w.map(x=>v(Y,{path:x.path===""?"/":x.path,element:v(Ze.Suspense,{fallback:v(B,{}),children:v(xt,{Component:x.Component})})},x.path))},"docs-layout"),a&&Be(On,{children:[v(Y,{path:"/",element:v(y,{children:v(a,{})})}),p.i18n&&Object.keys(p.i18n.locales).map(x=>v(Y,{path:`/${x}`,element:v(y,{children:v(a,{})})},`home-${x}`))]}),Object.entries(b).map(([x,E])=>{let j=x==="/"?"":x;return Be(Ze.Fragment,{children:[v(Y,{path:x,element:v(y,{children:v(E,{})})}),p.i18n&&Object.keys(p.i18n.locales).map(z=>v(Y,{path:`/${z}${j}`,element:v(y,{children:v(E,{})})},`${x}-${z}`))]},x)}),v(Y,{path:"*",element:v(fo,{children:v(Ve,{})})})]})]})})})})})}import{jsx as et}from"react/jsx-runtime";async function jc(e){let{path:t,routes:o,config:r,modules:n,homePage:a,externalPages:i,docsDirName:l}=e,s={};for(let[d,p]of Object.entries(n))s[d]=()=>Promise.resolve(p);return Fn.renderToString(et(Wn.StrictMode,{children:et($n,{location:t,children:et(go,{initialRoutes:o,initialConfig:r,docsDirName:l,modules:s,homePage:a,externalPages:i})})}))}export{jc as render};
|
package/dist/node/cli-entry.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
package/dist/node/cli-entry.js
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";var gi=Object.create;var Nt=Object.defineProperty;var hi=Object.getOwnPropertyDescriptor;var yi=Object.getOwnPropertyNames;var xi=Object.getPrototypeOf,Ei=Object.prototype.hasOwnProperty;var ce=(r,e)=>()=>(r&&(e=r(r=0)),e);var P=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),hr=(r,e)=>{for(var t in e)Nt(r,t,{get:e[t],enumerable:!0})},$i=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of yi(e))!Ei.call(r,s)&&s!==t&&Nt(r,s,{get:()=>e[s],enumerable:!(o=hi(e,s))||o.enumerable});return r};var O=(r,e,t)=>(t=r!=null?gi(xi(r)):{},$i(e||!r||!r.__esModule?Nt(t,"default",{value:r,enumerable:!0}):t,r));var vi,g,a=ce(()=>{"use strict";vi=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?document.currentScript.src:new URL("main.js",document.baseURI).href,g=vi()});var yr,xr=ce(()=>{"use strict";a();yr=/^[a-zA-Z0-9\-_\/\.\(\)]+$/});var X,Er,$r=ce(()=>{"use strict";a();X=require("zod"),Er=X.z.object({title:X.z.string().max(200).optional(),description:X.z.string().max(500).optional(),sidebarPosition:X.z.number().optional(),sidebarLabel:X.z.string().max(100).optional(),category:X.z.string().max(50).optional(),order:X.z.number().optional(),badge:X.z.string().max(50).optional(),icon:X.z.string().max(50).optional()})});var ve,be,Ye,oe,Ke=ce(()=>{"use strict";a();ve=class r extends Error{constructor(e){super(e),this.name="SecurityViolationError",Object.setPrototypeOf(this,r.prototype)}},be=class r extends ve{constructor(e){super(e),this.name="PathTraversalError",Object.setPrototypeOf(this,r.prototype)}},Ye=class r extends ve{constructor(e){super(e),this.name="EncodingSecurityError",Object.setPrototypeOf(this,r.prototype)}},oe=class r extends ve{constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,r.prototype)}}});function _(r){return r.replace(/\\/g,"/")}function we(r){return r.replace(/^\d+\./,"")}function Ze(r){let e=r.match(/^(\d+)\./);return e?parseInt(e[1],10):void 0}function br(r){return/\.mdx?$/.test(r)}function Qe(r){try{return Dt.default.statSync(r).mtimeMs}catch{return 0}}function et(r){let e=Dt.default.readFileSync(r,"utf-8");try{let{data:t,content:o,matter:s}=(0,vr.default)(e);if(s&&s.length>10240)throw Ce("FRONTMATTER_TOO_LARGE","Frontmatter block exceeds size limit",{size:s.length,file:r}),new oe(`Security breach: Frontmatter size exceeds limit of ${10240} bytes`);let i=Er.safeParse(t);i.success||console.warn(`[VALIDATION][${r}] Invalid frontmatter fields detected.`);let l={...i.success?i.data:{}};return l.title&&(l.title=Pe(l.title).trim()),l.description&&(l.description=Pe(l.description).trim()),{data:l,content:o}}catch(t){if(t instanceof oe)throw t;return{data:{},content:e}}}function ie(r){return r.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function kt(r){return ie(r)}function Pr(r){let t=r.split("/").map(o=>we(Pi(o))).join("/").replace(/\/$/,"");return t=t.replace(/\.mdx?$/,""),(t==="index"||t.endsWith("/index"))&&(t=t.replace(/index$/,"")),t.startsWith("/")||(t="/"+t),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t}function Se(r){return Je.default.sanitize(r,{ALLOWED_TAGS:["b","i","em","strong","a","p","br","code","pre","span","div","h1","h2","h3","h4","h5","h6","ul","ol","li","table","thead","tbody","tr","th","td","blockquote","hr"],ALLOWED_ATTR:["href","title","target","class","id","src","alt","width","height"],FORCE_BODY:!0})}function Pe(r){return Je.default.sanitize(r,{ALLOWED_TAGS:[],KEEP_CONTENT:!0})}function Re(r){return r.charAt(0).toUpperCase()+r.slice(1)}function jt(r,e){return r?typeof r=="string"?r:e&&r[e]?r[e]:Object.values(r)[0]||"":""}function Pi(r){return r.replace(/[^a-zA-Z0-9\-_\/\.]/g,"").split("/").filter(e=>e!==".."&&e!==".").map(e=>e.replace(/\.\.+/g,".")).join("/")}function Ce(r,e,t={}){let o=new Date().toISOString(),s={...t};for(let i in s)typeof s[i]=="string"&&s[i].includes(":")&&(s[i]=s[i].split(/[\\/]/).pop()||s[i]);console.error(`[SECURITY][${o}] TYPE: ${r} | MESSAGE: ${e} | DETAILS: ${JSON.stringify(s)}`)}var Dt,vr,Je,W=ce(()=>{"use strict";a();Dt=O(require("fs")),vr=O(require("gray-matter")),Je=O(require("isomorphic-dompurify"));$r();Ke();Je.default.addHook("afterSanitizeAttributes",r=>{if(r.hasAttribute("href")){let e=r.getAttribute("href")?.toLowerCase()||"";(e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&r.removeAttribute("href")}if(r.hasAttribute("src")){let e=r.getAttribute("src")?.toLowerCase()||"";(e.startsWith("javascript:")||e.startsWith("data:")||e.startsWith("vbscript:"))&&r.removeAttribute("src")}})});var Ht={};hr(Ht,{AssetCache:()=>Ft,FileCache:()=>Ie,TransformCache:()=>Oe,flushCache:()=>Oi});async function Oi(){await re.flush()}var D,F,ue,le,pe,tt,wi,rt,_t,el,Mt,Si,Ri,Ci,Ii,qt,Bt,re,Ie,Oe,Ft,Le=ce(()=>{"use strict";a();D=O(require("fs")),F=O(require("path")),ue=O(require("crypto")),le=O(require("zlib")),pe=require("util");W();tt=(0,pe.promisify)(D.default.writeFile),wi=(0,pe.promisify)(D.default.readFile),rt=(0,pe.promisify)(D.default.mkdir),_t=(0,pe.promisify)(D.default.rename),el=(0,pe.promisify)(D.default.unlink),Mt=process.env.BOLTDOCS_CACHE_DIR||".boltdocs",Si="assets",Ri="shards",Ci=parseInt(process.env.BOLTDOCS_CACHE_LRU_LIMIT||"2000",10),Ii=process.env.BOLTDOCS_CACHE_COMPRESS!=="0",qt=class{constructor(e){this.limit=e}cache=new Map;get(e){let t=this.cache.get(e);return t!==void 0&&(this.cache.delete(e),this.cache.set(e,t)),t}set(e,t){if(this.cache.has(e))this.cache.delete(e);else if(this.cache.size>=this.limit){let o=this.cache.keys().next().value;o!==void 0&&this.cache.delete(o)}this.cache.set(e,t)}get size(){return this.cache.size}clear(){this.cache.clear()}},Bt=class{queue=Promise.resolve();pendingCount=0;add(e){this.pendingCount++,this.queue=this.queue.then(e).finally(()=>{this.pendingCount--})}async flush(){await this.queue}get pending(){return this.pendingCount}},re=new Bt,Ie=class{entries=new Map;cachePath=null;compress;constructor(e={}){if(this.compress=e.compress!==void 0?e.compress:Ii,e.name){let t=e.root||process.cwd(),o=this.compress?"json.gz":"json";this.cachePath=F.default.resolve(t,Mt,`${e.name}.${o}`)}}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&!(!this.cachePath||!D.default.existsSync(this.cachePath)))try{let e=D.default.readFileSync(this.cachePath);this.cachePath.endsWith(".gz")&&(e=le.default.gunzipSync(e));let t=JSON.parse(e.toString("utf-8"));this.entries=new Map(Object.entries(t))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1"||!this.cachePath)return;let e=Object.fromEntries(this.entries),t=JSON.stringify(e),o=this.cachePath,s=this.compress;re.add(async()=>{try{await rt(F.default.dirname(o),{recursive:!0});let i=Buffer.from(t);s&&(i=le.default.gzipSync(i));let n=`${o}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await tt(n,i),await _t(n,o)}catch{}})}get(e){let t=this.entries.get(e);return!t||Qe(e)!==t.mtime?null:t.data}set(e,t){this.entries.set(e,{data:t,mtime:Qe(e)})}isValid(e){let t=this.entries.get(e);return t?Qe(e)===t.mtime:!1}invalidate(e){this.entries.delete(e)}invalidateAll(){this.entries.clear()}pruneStale(e){for(let t of this.entries.keys())e.has(t)||this.entries.delete(t)}get size(){return this.entries.size}async flush(){await re.flush()}},Oe=class{index=new Map;memoryCache=new qt(Ci);baseDir;shardsDir;indexPath;constructor(e,t=process.cwd()){this.baseDir=F.default.resolve(t,Mt,`transform-${e}`),this.shardsDir=F.default.resolve(this.baseDir,Ri),this.indexPath=F.default.resolve(this.baseDir,"index.json")}load(){if(process.env.BOLTDOCS_NO_CACHE!=="1"&&D.default.existsSync(this.indexPath))try{let e=D.default.readFileSync(this.indexPath,"utf-8");this.index=new Map(Object.entries(JSON.parse(e)))}catch{}}save(){if(process.env.BOLTDOCS_NO_CACHE==="1")return;let e=JSON.stringify(Object.fromEntries(this.index)),t=this.indexPath;re.add(async()=>{await rt(F.default.dirname(t),{recursive:!0}),await tt(t,e)})}async getMany(e){let t=new Map,o=[];for(let s of e){let i=this.memoryCache.get(s);i?t.set(s,i):this.index.has(s)&&o.push(s)}if(o.length>0){let s=await Promise.all(o.map(async i=>{let n=this.index.get(i),l=F.default.resolve(this.shardsDir,`${n}.gz`);try{let p=await wi(l),c=le.default.gunzipSync(p).toString("utf-8");return this.memoryCache.set(i,c),{key:i,val:c}}catch{return null}}));for(let i of s)i&&t.set(i.key,i.val)}return t}get(e){let t=this.memoryCache.get(e);if(t)return t;let o=this.index.get(e);if(!o)return null;let s=F.default.resolve(this.shardsDir,`${o}.gz`);if(!D.default.existsSync(s))return null;try{let i=D.default.readFileSync(s),n=le.default.gunzipSync(i).toString("utf-8");return this.memoryCache.set(e,n),n}catch{return null}}set(e,t){let o=ue.default.createHash("md5").update(t).digest("hex");this.index.set(e,o),this.memoryCache.set(e,t);let s=F.default.resolve(this.shardsDir,`${o}.gz`);re.add(async()=>{if(D.default.existsSync(s))return;await rt(this.shardsDir,{recursive:!0});let i=le.default.gzipSync(Buffer.from(t)),n=`${s}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await tt(n,i),await _t(n,s)})}get size(){return this.index.size}async flush(){await re.flush()}},Ft=class{assetsDir;constructor(e=process.cwd()){this.assetsDir=F.default.resolve(e,Mt,Si)}getFileHash(e){return ue.default.createHash("md5").update(D.default.readFileSync(e)).digest("hex")}get(e,t){if(!D.default.existsSync(e))return null;let o=this.getFileHash(e),s=this.getCachedPath(e,`${t}-${o}`);return D.default.existsSync(s)?s:null}set(e,t,o){let s=this.getFileHash(e),i=this.getCachedPath(e,`${t}-${s}`);re.add(async()=>{await rt(this.assetsDir,{recursive:!0});let n=`${i}.${ue.default.randomBytes(4).toString("hex")}.tmp`;await tt(n,o),await _t(n,i)})}getCachedPath(e,t){let o=F.default.extname(e),s=F.default.basename(e,o),i=t.replace(/[^a-z0-9]/gi,"-").toLowerCase();return F.default.join(this.assetsDir,`${s}.${i}${o}`)}clear(){D.default.existsSync(this.assetsDir)&&D.default.rmSync(this.assetsDir,{recursive:!0,force:!0})}async flush(){await re.flush()}}});var De=P((eu,Hr)=>{"use strict";a();var Gi="2.0.0",Ui=Number.MAX_SAFE_INTEGER||9007199254740991,Vi=16,zi=250,Xi=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Hr.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Vi,MAX_SAFE_BUILD_LENGTH:zi,MAX_SAFE_INTEGER:Ui,RELEASE_TYPES:Xi,SEMVER_SPEC_VERSION:Gi,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var ke=P((ru,Gr)=>{"use strict";a();var Wi=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};Gr.exports=Wi});var ge=P((J,Ur)=>{"use strict";a();var{MAX_SAFE_COMPONENT_LENGTH:Yt,MAX_SAFE_BUILD_LENGTH:Yi,MAX_LENGTH:Ki}=De(),Ji=ke();J=Ur.exports={};var Zi=J.re=[],Qi=J.safeRe=[],y=J.src=[],en=J.safeSrc=[],x=J.t={},tn=0,Kt="[a-zA-Z0-9-]",rn=[["\\s",1],["\\d",Ki],[Kt,Yi]],sn=r=>{for(let[e,t]of rn)r=r.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return r},w=(r,e,t)=>{let o=sn(e),s=tn++;Ji(r,s,e),x[r]=s,y[s]=e,en[s]=o,Zi[s]=new RegExp(e,t?"g":void 0),Qi[s]=new RegExp(o,t?"g":void 0)};w("NUMERICIDENTIFIER","0|[1-9]\\d*");w("NUMERICIDENTIFIERLOOSE","\\d+");w("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Kt}*`);w("MAINVERSION",`(${y[x.NUMERICIDENTIFIER]})\\.(${y[x.NUMERICIDENTIFIER]})\\.(${y[x.NUMERICIDENTIFIER]})`);w("MAINVERSIONLOOSE",`(${y[x.NUMERICIDENTIFIERLOOSE]})\\.(${y[x.NUMERICIDENTIFIERLOOSE]})\\.(${y[x.NUMERICIDENTIFIERLOOSE]})`);w("PRERELEASEIDENTIFIER",`(?:${y[x.NONNUMERICIDENTIFIER]}|${y[x.NUMERICIDENTIFIER]})`);w("PRERELEASEIDENTIFIERLOOSE",`(?:${y[x.NONNUMERICIDENTIFIER]}|${y[x.NUMERICIDENTIFIERLOOSE]})`);w("PRERELEASE",`(?:-(${y[x.PRERELEASEIDENTIFIER]}(?:\\.${y[x.PRERELEASEIDENTIFIER]})*))`);w("PRERELEASELOOSE",`(?:-?(${y[x.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${y[x.PRERELEASEIDENTIFIERLOOSE]})*))`);w("BUILDIDENTIFIER",`${Kt}+`);w("BUILD",`(?:\\+(${y[x.BUILDIDENTIFIER]}(?:\\.${y[x.BUILDIDENTIFIER]})*))`);w("FULLPLAIN",`v?${y[x.MAINVERSION]}${y[x.PRERELEASE]}?${y[x.BUILD]}?`);w("FULL",`^${y[x.FULLPLAIN]}$`);w("LOOSEPLAIN",`[v=\\s]*${y[x.MAINVERSIONLOOSE]}${y[x.PRERELEASELOOSE]}?${y[x.BUILD]}?`);w("LOOSE",`^${y[x.LOOSEPLAIN]}$`);w("GTLT","((?:<|>)?=?)");w("XRANGEIDENTIFIERLOOSE",`${y[x.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);w("XRANGEIDENTIFIER",`${y[x.NUMERICIDENTIFIER]}|x|X|\\*`);w("XRANGEPLAIN",`[v=\\s]*(${y[x.XRANGEIDENTIFIER]})(?:\\.(${y[x.XRANGEIDENTIFIER]})(?:\\.(${y[x.XRANGEIDENTIFIER]})(?:${y[x.PRERELEASE]})?${y[x.BUILD]}?)?)?`);w("XRANGEPLAINLOOSE",`[v=\\s]*(${y[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[x.XRANGEIDENTIFIERLOOSE]})(?:\\.(${y[x.XRANGEIDENTIFIERLOOSE]})(?:${y[x.PRERELEASELOOSE]})?${y[x.BUILD]}?)?)?`);w("XRANGE",`^${y[x.GTLT]}\\s*${y[x.XRANGEPLAIN]}$`);w("XRANGELOOSE",`^${y[x.GTLT]}\\s*${y[x.XRANGEPLAINLOOSE]}$`);w("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Yt}})(?:\\.(\\d{1,${Yt}}))?(?:\\.(\\d{1,${Yt}}))?`);w("COERCE",`${y[x.COERCEPLAIN]}(?:$|[^\\d])`);w("COERCEFULL",y[x.COERCEPLAIN]+`(?:${y[x.PRERELEASE]})?(?:${y[x.BUILD]})?(?:$|[^\\d])`);w("COERCERTL",y[x.COERCE],!0);w("COERCERTLFULL",y[x.COERCEFULL],!0);w("LONETILDE","(?:~>?)");w("TILDETRIM",`(\\s*)${y[x.LONETILDE]}\\s+`,!0);J.tildeTrimReplace="$1~";w("TILDE",`^${y[x.LONETILDE]}${y[x.XRANGEPLAIN]}$`);w("TILDELOOSE",`^${y[x.LONETILDE]}${y[x.XRANGEPLAINLOOSE]}$`);w("LONECARET","(?:\\^)");w("CARETTRIM",`(\\s*)${y[x.LONECARET]}\\s+`,!0);J.caretTrimReplace="$1^";w("CARET",`^${y[x.LONECARET]}${y[x.XRANGEPLAIN]}$`);w("CARETLOOSE",`^${y[x.LONECARET]}${y[x.XRANGEPLAINLOOSE]}$`);w("COMPARATORLOOSE",`^${y[x.GTLT]}\\s*(${y[x.LOOSEPLAIN]})$|^$`);w("COMPARATOR",`^${y[x.GTLT]}\\s*(${y[x.FULLPLAIN]})$|^$`);w("COMPARATORTRIM",`(\\s*)${y[x.GTLT]}\\s*(${y[x.LOOSEPLAIN]}|${y[x.XRANGEPLAIN]})`,!0);J.comparatorTrimReplace="$1$2$3";w("HYPHENRANGE",`^\\s*(${y[x.XRANGEPLAIN]})\\s+-\\s+(${y[x.XRANGEPLAIN]})\\s*$`);w("HYPHENRANGELOOSE",`^\\s*(${y[x.XRANGEPLAINLOOSE]})\\s+-\\s+(${y[x.XRANGEPLAINLOOSE]})\\s*$`);w("STAR","(<|>)?=?\\s*\\*");w("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");w("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var ft=P((iu,Vr)=>{"use strict";a();var on=Object.freeze({loose:!0}),nn=Object.freeze({}),an=r=>r?typeof r!="object"?on:r:nn;Vr.exports=an});var Jt=P((au,Wr)=>{"use strict";a();var zr=/^[0-9]+$/,Xr=(r,e)=>{if(typeof r=="number"&&typeof e=="number")return r===e?0:r<e?-1:1;let t=zr.test(r),o=zr.test(e);return t&&o&&(r=+r,e=+e),r===e?0:t&&!o?-1:o&&!t?1:r<e?-1:1},cn=(r,e)=>Xr(e,r);Wr.exports={compareIdentifiers:Xr,rcompareIdentifiers:cn}});var k=P((lu,Kr)=>{"use strict";a();var dt=ke(),{MAX_LENGTH:Yr,MAX_SAFE_INTEGER:mt}=De(),{safeRe:gt,t:ht}=ge(),ln=ft(),{compareIdentifiers:Zt}=Jt(),Qt=class r{constructor(e,t){if(t=ln(t),e instanceof r){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>Yr)throw new TypeError(`version is longer than ${Yr} characters`);dt("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let o=e.trim().match(t.loose?gt[ht.LOOSE]:gt[ht.FULL]);if(!o)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>mt||this.major<0)throw new TypeError("Invalid major version");if(this.minor>mt||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>mt||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<mt)return i}return s}):this.prerelease=[],this.build=o[5]?o[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(dt("SemVer.compare",this.version,this.options,e),!(e instanceof r)){if(typeof e=="string"&&e===this.version)return 0;e=new r(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof r||(e=new r(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(e){if(e instanceof r||(e=new r(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let o=this.prerelease[t],s=e.prerelease[t];if(dt("prerelease compare",t,o,s),o===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(o===void 0)return-1;if(o===s)continue;return Zt(o,s)}while(++t)}compareBuild(e){e instanceof r||(e=new r(e,this.options));let t=0;do{let o=this.build[t],s=e.build[t];if(dt("build compare",t,o,s),o===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(o===void 0)return-1;if(o===s)continue;return Zt(o,s)}while(++t)}inc(e,t,o){if(e.startsWith("pre")){if(!t&&o===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?gt[ht.PRERELEASELOOSE]:gt[ht.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,o);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,o);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,o),this.inc("pre",t,o);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,o),this.inc("pre",t,o);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(o)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&o===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let i=[t,s];o===!1&&(i=[t]),Zt(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Kr.exports=Qt});var ne=P((pu,Zr)=>{"use strict";a();var Jr=k(),un=(r,e,t=!1)=>{if(r instanceof Jr)return r;try{return new Jr(r,e)}catch(o){if(!t)return null;throw o}};Zr.exports=un});var es=P((du,Qr)=>{"use strict";a();var pn=ne(),fn=(r,e)=>{let t=pn(r,e);return t?t.version:null};Qr.exports=fn});var rs=P((gu,ts)=>{"use strict";a();var dn=ne(),mn=(r,e)=>{let t=dn(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};ts.exports=mn});var is=P((yu,os)=>{"use strict";a();var ss=k(),gn=(r,e,t,o,s)=>{typeof t=="string"&&(s=o,o=t,t=void 0);try{return new ss(r instanceof ss?r.version:r,t).inc(e,o,s).version}catch{return null}};os.exports=gn});var cs=P((Eu,as)=>{"use strict";a();var ns=ne(),hn=(r,e)=>{let t=ns(r,null,!0),o=ns(e,null,!0),s=t.compare(o);if(s===0)return null;let i=s>0,n=i?t:o,l=i?o:t,p=!!n.prerelease.length;if(!!l.prerelease.length&&!p){if(!l.patch&&!l.minor)return"major";if(l.compareMain(n)===0)return l.minor&&!l.patch?"minor":"patch"}let d=p?"pre":"";return t.major!==o.major?d+"major":t.minor!==o.minor?d+"minor":t.patch!==o.patch?d+"patch":"prerelease"};as.exports=hn});var us=P((vu,ls)=>{"use strict";a();var yn=k(),xn=(r,e)=>new yn(r,e).major;ls.exports=xn});var fs=P((Pu,ps)=>{"use strict";a();var En=k(),$n=(r,e)=>new En(r,e).minor;ps.exports=$n});var ms=P((Su,ds)=>{"use strict";a();var vn=k(),bn=(r,e)=>new vn(r,e).patch;ds.exports=bn});var hs=P((Cu,gs)=>{"use strict";a();var Pn=ne(),wn=(r,e)=>{let t=Pn(r,e);return t&&t.prerelease.length?t.prerelease:null};gs.exports=wn});var M=P((Ou,xs)=>{"use strict";a();var ys=k(),Sn=(r,e,t)=>new ys(r,t).compare(new ys(e,t));xs.exports=Sn});var $s=P((Tu,Es)=>{"use strict";a();var Rn=M(),Cn=(r,e,t)=>Rn(e,r,t);Es.exports=Cn});var bs=P((Nu,vs)=>{"use strict";a();var In=M(),On=(r,e)=>In(r,e,!0);vs.exports=On});var yt=P((ku,ws)=>{"use strict";a();var Ps=k(),Ln=(r,e,t)=>{let o=new Ps(r,t),s=new Ps(e,t);return o.compare(s)||o.compareBuild(s)};ws.exports=Ln});var Rs=P((qu,Ss)=>{"use strict";a();var Tn=yt(),An=(r,e)=>r.sort((t,o)=>Tn(t,o,e));Ss.exports=An});var Is=P((Fu,Cs)=>{"use strict";a();var Nn=yt(),Dn=(r,e)=>r.sort((t,o)=>Nn(o,t,e));Cs.exports=Dn});var je=P((Mu,Os)=>{"use strict";a();var kn=M(),jn=(r,e,t)=>kn(r,e,t)>0;Os.exports=jn});var xt=P((Gu,Ls)=>{"use strict";a();var qn=M(),Bn=(r,e,t)=>qn(r,e,t)<0;Ls.exports=Bn});var er=P((Vu,Ts)=>{"use strict";a();var Fn=M(),_n=(r,e,t)=>Fn(r,e,t)===0;Ts.exports=_n});var tr=P((Xu,As)=>{"use strict";a();var Mn=M(),Hn=(r,e,t)=>Mn(r,e,t)!==0;As.exports=Hn});var Et=P((Yu,Ns)=>{"use strict";a();var Gn=M(),Un=(r,e,t)=>Gn(r,e,t)>=0;Ns.exports=Un});var $t=P((Ju,Ds)=>{"use strict";a();var Vn=M(),zn=(r,e,t)=>Vn(r,e,t)<=0;Ds.exports=zn});var rr=P((Qu,ks)=>{"use strict";a();var Xn=er(),Wn=tr(),Yn=je(),Kn=Et(),Jn=xt(),Zn=$t(),Qn=(r,e,t,o)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return Xn(r,t,o);case"!=":return Wn(r,t,o);case">":return Yn(r,t,o);case">=":return Kn(r,t,o);case"<":return Jn(r,t,o);case"<=":return Zn(r,t,o);default:throw new TypeError(`Invalid operator: ${e}`)}};ks.exports=Qn});var qs=P((tp,js)=>{"use strict";a();var ea=k(),ta=ne(),{safeRe:vt,t:bt}=ge(),ra=(r,e)=>{if(r instanceof ea)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(e.includePrerelease?vt[bt.COERCEFULL]:vt[bt.COERCE]);else{let p=e.includePrerelease?vt[bt.COERCERTLFULL]:vt[bt.COERCERTL],c;for(;(c=p.exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||c.index+c[0].length!==t.index+t[0].length)&&(t=c),p.lastIndex=c.index+c[1].length+c[2].length;p.lastIndex=-1}if(t===null)return null;let o=t[2],s=t[3]||"0",i=t[4]||"0",n=e.includePrerelease&&t[5]?`-${t[5]}`:"",l=e.includePrerelease&&t[6]?`+${t[6]}`:"";return ta(`${o}.${s}.${i}${n}${l}`,e)};js.exports=ra});var Fs=P((sp,Bs)=>{"use strict";a();var sr=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,t)}return this}};Bs.exports=sr});var H=P((ip,Gs)=>{"use strict";a();var sa=/\s+/g,or=class r{constructor(e,t){if(t=ia(t),e instanceof r)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new r(e.raw,t);if(e instanceof ir)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(sa," "),this.set=this.raw.split("||").map(o=>this.parseRange(o.trim())).filter(o=>o.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let o=this.set[0];if(this.set=this.set.filter(s=>!Ms(s[0])),this.set.length===0)this.set=[o];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&fa(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let t=this.set[e];for(let o=0;o<t.length;o++)o>0&&(this.formatted+=" "),this.formatted+=t[o].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let o=((this.options.includePrerelease&&ua)|(this.options.loose&&pa))+":"+e,s=_s.get(o);if(s)return s;let i=this.options.loose,n=i?q[j.HYPHENRANGELOOSE]:q[j.HYPHENRANGE];e=e.replace(n,ba(this.options.includePrerelease)),T("hyphen replace",e),e=e.replace(q[j.COMPARATORTRIM],aa),T("comparator trim",e),e=e.replace(q[j.TILDETRIM],ca),T("tilde trim",e),e=e.replace(q[j.CARETTRIM],la),T("caret trim",e);let l=e.split(" ").map(f=>da(f,this.options)).join(" ").split(/\s+/).map(f=>va(f,this.options));i&&(l=l.filter(f=>(T("loose invalid filter",f,this.options),!!f.match(q[j.COMPARATORLOOSE])))),T("range list",l);let p=new Map,c=l.map(f=>new ir(f,this.options));for(let f of c){if(Ms(f))return[f];p.set(f.value,f)}p.size>1&&p.has("")&&p.delete("");let d=[...p.values()];return _s.set(o,d),d}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(o=>Hs(o,t)&&e.set.some(s=>Hs(s,t)&&o.every(i=>s.every(n=>i.intersects(n,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new na(e,this.options)}catch{return!1}for(let t=0;t<this.set.length;t++)if(Pa(this.set[t],e,this.options))return!0;return!1}};Gs.exports=or;var oa=Fs(),_s=new oa,ia=ft(),ir=qe(),T=ke(),na=k(),{safeRe:q,t:j,comparatorTrimReplace:aa,tildeTrimReplace:ca,caretTrimReplace:la}=ge(),{FLAG_INCLUDE_PRERELEASE:ua,FLAG_LOOSE:pa}=De(),Ms=r=>r.value==="<0.0.0-0",fa=r=>r.value==="",Hs=(r,e)=>{let t=!0,o=r.slice(),s=o.pop();for(;t&&o.length;)t=o.every(i=>s.intersects(i,e)),s=o.pop();return t},da=(r,e)=>(r=r.replace(q[j.BUILD],""),T("comp",r,e),r=ha(r,e),T("caret",r),r=ma(r,e),T("tildes",r),r=xa(r,e),T("xrange",r),r=$a(r,e),T("stars",r),r),B=r=>!r||r.toLowerCase()==="x"||r==="*",ma=(r,e)=>r.trim().split(/\s+/).map(t=>ga(t,e)).join(" "),ga=(r,e)=>{let t=e.loose?q[j.TILDELOOSE]:q[j.TILDE];return r.replace(t,(o,s,i,n,l)=>{T("tilde",r,o,s,i,n,l);let p;return B(s)?p="":B(i)?p=`>=${s}.0.0 <${+s+1}.0.0-0`:B(n)?p=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:l?(T("replaceTilde pr",l),p=`>=${s}.${i}.${n}-${l} <${s}.${+i+1}.0-0`):p=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,T("tilde return",p),p})},ha=(r,e)=>r.trim().split(/\s+/).map(t=>ya(t,e)).join(" "),ya=(r,e)=>{T("caret",r,e);let t=e.loose?q[j.CARETLOOSE]:q[j.CARET],o=e.includePrerelease?"-0":"";return r.replace(t,(s,i,n,l,p)=>{T("caret",r,s,i,n,l,p);let c;return B(i)?c="":B(n)?c=`>=${i}.0.0${o} <${+i+1}.0.0-0`:B(l)?i==="0"?c=`>=${i}.${n}.0${o} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.0${o} <${+i+1}.0.0-0`:p?(T("replaceCaret pr",p),i==="0"?n==="0"?c=`>=${i}.${n}.${l}-${p} <${i}.${n}.${+l+1}-0`:c=`>=${i}.${n}.${l}-${p} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.${l}-${p} <${+i+1}.0.0-0`):(T("no pr"),i==="0"?n==="0"?c=`>=${i}.${n}.${l}${o} <${i}.${n}.${+l+1}-0`:c=`>=${i}.${n}.${l}${o} <${i}.${+n+1}.0-0`:c=`>=${i}.${n}.${l} <${+i+1}.0.0-0`),T("caret return",c),c})},xa=(r,e)=>(T("replaceXRanges",r,e),r.split(/\s+/).map(t=>Ea(t,e)).join(" ")),Ea=(r,e)=>{r=r.trim();let t=e.loose?q[j.XRANGELOOSE]:q[j.XRANGE];return r.replace(t,(o,s,i,n,l,p)=>{T("xRange",r,o,s,i,n,l,p);let c=B(i),d=c||B(n),f=d||B(l),E=f;return s==="="&&E&&(s=""),p=e.includePrerelease?"-0":"",c?s===">"||s==="<"?o="<0.0.0-0":o="*":s&&E?(d&&(n=0),l=0,s===">"?(s=">=",d?(i=+i+1,n=0,l=0):(n=+n+1,l=0)):s==="<="&&(s="<",d?i=+i+1:n=+n+1),s==="<"&&(p="-0"),o=`${s+i}.${n}.${l}${p}`):d?o=`>=${i}.0.0${p} <${+i+1}.0.0-0`:f&&(o=`>=${i}.${n}.0${p} <${i}.${+n+1}.0-0`),T("xRange return",o),o})},$a=(r,e)=>(T("replaceStars",r,e),r.trim().replace(q[j.STAR],"")),va=(r,e)=>(T("replaceGTE0",r,e),r.trim().replace(q[e.includePrerelease?j.GTE0PRE:j.GTE0],"")),ba=r=>(e,t,o,s,i,n,l,p,c,d,f,E)=>(B(o)?t="":B(s)?t=`>=${o}.0.0${r?"-0":""}`:B(i)?t=`>=${o}.${s}.0${r?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,B(c)?p="":B(d)?p=`<${+c+1}.0.0-0`:B(f)?p=`<${c}.${+d+1}.0-0`:E?p=`<=${c}.${d}.${f}-${E}`:r?p=`<${c}.${d}.${+f+1}-0`:p=`<=${p}`,`${t} ${p}`.trim()),Pa=(r,e,t)=>{for(let o=0;o<r.length;o++)if(!r[o].test(e))return!1;if(e.prerelease.length&&!t.includePrerelease){for(let o=0;o<r.length;o++)if(T(r[o].semver),r[o].semver!==ir.ANY&&r[o].semver.prerelease.length>0){let s=r[o].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var qe=P((ap,Ys)=>{"use strict";a();var Be=Symbol("SemVer ANY"),cr=class r{static get ANY(){return Be}constructor(e,t){if(t=Us(t),e instanceof r){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),ar("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Be?this.value="":this.value=this.operator+this.semver.version,ar("comp",this)}parse(e){let t=this.options.loose?Vs[zs.COMPARATORLOOSE]:Vs[zs.COMPARATOR],o=e.match(t);if(!o)throw new TypeError(`Invalid comparator: ${e}`);this.operator=o[1]!==void 0?o[1]:"",this.operator==="="&&(this.operator=""),o[2]?this.semver=new Xs(o[2],this.options.loose):this.semver=Be}toString(){return this.value}test(e){if(ar("Comparator.test",e,this.options.loose),this.semver===Be||e===Be)return!0;if(typeof e=="string")try{e=new Xs(e,this.options)}catch{return!1}return nr(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new Ws(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new Ws(this.value,t).test(e.semver):(t=Us(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||nr(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||nr(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};Ys.exports=cr;var Us=ft(),{safeRe:Vs,t:zs}=ge(),nr=rr(),ar=ke(),Xs=k(),Ws=H()});var Fe=P((lp,Ks)=>{"use strict";a();var wa=H(),Sa=(r,e,t)=>{try{e=new wa(e,t)}catch{return!1}return e.test(r)};Ks.exports=Sa});var Zs=P((pp,Js)=>{"use strict";a();var Ra=H(),Ca=(r,e)=>new Ra(r,e).set.map(t=>t.map(o=>o.value).join(" ").trim().split(" "));Js.exports=Ca});var eo=P((dp,Qs)=>{"use strict";a();var Ia=k(),Oa=H(),La=(r,e,t)=>{let o=null,s=null,i=null;try{i=new Oa(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===-1)&&(o=n,s=new Ia(o,t))}),o};Qs.exports=La});var ro=P((gp,to)=>{"use strict";a();var Ta=k(),Aa=H(),Na=(r,e,t)=>{let o=null,s=null,i=null;try{i=new Aa(e,t)}catch{return null}return r.forEach(n=>{i.test(n)&&(!o||s.compare(n)===1)&&(o=n,s=new Ta(o,t))}),o};to.exports=Na});var io=P((yp,oo)=>{"use strict";a();var lr=k(),Da=H(),so=je(),ka=(r,e)=>{r=new Da(r,e);let t=new lr("0.0.0");if(r.test(t)||(t=new lr("0.0.0-0"),r.test(t)))return t;t=null;for(let o=0;o<r.set.length;++o){let s=r.set[o],i=null;s.forEach(n=>{let l=new lr(n.semver.version);switch(n.operator){case">":l.prerelease.length===0?l.patch++:l.prerelease.push(0),l.raw=l.format();case"":case">=":(!i||so(l,i))&&(i=l);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||so(t,i))&&(t=i)}return t&&r.test(t)?t:null};oo.exports=ka});var ao=P((Ep,no)=>{"use strict";a();var ja=H(),qa=(r,e)=>{try{return new ja(r,e).range||"*"}catch{return null}};no.exports=qa});var Pt=P((vp,po)=>{"use strict";a();var Ba=k(),uo=qe(),{ANY:Fa}=uo,_a=H(),Ma=Fe(),co=je(),lo=xt(),Ha=$t(),Ga=Et(),Ua=(r,e,t,o)=>{r=new Ba(r,o),e=new _a(e,o);let s,i,n,l,p;switch(t){case">":s=co,i=Ha,n=lo,l=">",p=">=";break;case"<":s=lo,i=Ga,n=co,l="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ma(r,e,o))return!1;for(let c=0;c<e.set.length;++c){let d=e.set[c],f=null,E=null;if(d.forEach(m=>{m.semver===Fa&&(m=new uo(">=0.0.0")),f=f||m,E=E||m,s(m.semver,f.semver,o)?f=m:n(m.semver,E.semver,o)&&(E=m)}),f.operator===l||f.operator===p||(!E.operator||E.operator===l)&&i(r,E.semver))return!1;if(E.operator===p&&n(r,E.semver))return!1}return!0};po.exports=Ua});var mo=P((Pp,fo)=>{"use strict";a();var Va=Pt(),za=(r,e,t)=>Va(r,e,">",t);fo.exports=za});var ho=P((Sp,go)=>{"use strict";a();var Xa=Pt(),Wa=(r,e,t)=>Xa(r,e,"<",t);go.exports=Wa});var Eo=P((Cp,xo)=>{"use strict";a();var yo=H(),Ya=(r,e,t)=>(r=new yo(r,t),e=new yo(e,t),r.intersects(e,t));xo.exports=Ya});var vo=P((Op,$o)=>{"use strict";a();var Ka=Fe(),Ja=M();$o.exports=(r,e,t)=>{let o=[],s=null,i=null,n=r.sort((d,f)=>Ja(d,f,t));for(let d of n)Ka(d,e,t)?(i=d,s||(s=d)):(i&&o.push([s,i]),i=null,s=null);s&&o.push([s,null]);let l=[];for(let[d,f]of o)d===f?l.push(d):!f&&d===n[0]?l.push("*"):f?d===n[0]?l.push(`<=${f}`):l.push(`${d} - ${f}`):l.push(`>=${d}`);let p=l.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return p.length<c.length?p:e}});var Co=P((Tp,Ro)=>{"use strict";a();var bo=H(),pr=qe(),{ANY:ur}=pr,_e=Fe(),fr=M(),Za=(r,e,t={})=>{if(r===e)return!0;r=new bo(r,t),e=new bo(e,t);let o=!1;e:for(let s of r.set){for(let i of e.set){let n=ec(s,i,t);if(o=o||n!==null,n)continue e}if(o)return!1}return!0},Qa=[new pr(">=0.0.0-0")],Po=[new pr(">=0.0.0")],ec=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===ur){if(e.length===1&&e[0].semver===ur)return!0;t.includePrerelease?r=Qa:r=Po}if(e.length===1&&e[0].semver===ur){if(t.includePrerelease)return!0;e=Po}let o=new Set,s,i;for(let m of r)m.operator===">"||m.operator===">="?s=wo(s,m,t):m.operator==="<"||m.operator==="<="?i=So(i,m,t):o.add(m.semver);if(o.size>1)return null;let n;if(s&&i){if(n=fr(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let m of o){if(s&&!_e(m,String(s),t)||i&&!_e(m,String(i),t))return null;for(let S of e)if(!_e(m,String(S),t))return!1;return!0}let l,p,c,d,f=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,E=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;f&&f.prerelease.length===1&&i.operator==="<"&&f.prerelease[0]===0&&(f=!1);for(let m of e){if(d=d||m.operator===">"||m.operator===">=",c=c||m.operator==="<"||m.operator==="<=",s){if(E&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===E.major&&m.semver.minor===E.minor&&m.semver.patch===E.patch&&(E=!1),m.operator===">"||m.operator===">="){if(l=wo(s,m,t),l===m&&l!==s)return!1}else if(s.operator===">="&&!_e(s.semver,String(m),t))return!1}if(i){if(f&&m.semver.prerelease&&m.semver.prerelease.length&&m.semver.major===f.major&&m.semver.minor===f.minor&&m.semver.patch===f.patch&&(f=!1),m.operator==="<"||m.operator==="<="){if(p=So(i,m,t),p===m&&p!==i)return!1}else if(i.operator==="<="&&!_e(i.semver,String(m),t))return!1}if(!m.operator&&(i||s)&&n!==0)return!1}return!(s&&c&&!i&&n!==0||i&&d&&!s&&n!==0||E||f)},wo=(r,e,t)=>{if(!r)return e;let o=fr(r.semver,e.semver,t);return o>0?r:o<0||e.operator===">"&&r.operator===">="?e:r},So=(r,e,t)=>{if(!r)return e;let o=fr(r.semver,e.semver,t);return o<0?r:o>0||e.operator==="<"&&r.operator==="<="?e:r};Ro.exports=Za});var To=P((Np,Lo)=>{"use strict";a();var dr=ge(),Io=De(),tc=k(),Oo=Jt(),rc=ne(),sc=es(),oc=rs(),ic=is(),nc=cs(),ac=us(),cc=fs(),lc=ms(),uc=hs(),pc=M(),fc=$s(),dc=bs(),mc=yt(),gc=Rs(),hc=Is(),yc=je(),xc=xt(),Ec=er(),$c=tr(),vc=Et(),bc=$t(),Pc=rr(),wc=qs(),Sc=qe(),Rc=H(),Cc=Fe(),Ic=Zs(),Oc=eo(),Lc=ro(),Tc=io(),Ac=ao(),Nc=Pt(),Dc=mo(),kc=ho(),jc=Eo(),qc=vo(),Bc=Co();Lo.exports={parse:rc,valid:sc,clean:oc,inc:ic,diff:nc,major:ac,minor:cc,patch:lc,prerelease:uc,compare:pc,rcompare:fc,compareLoose:dc,compareBuild:mc,sort:gc,rsort:hc,gt:yc,lt:xc,eq:Ec,neq:$c,gte:vc,lte:bc,cmp:Pc,coerce:wc,Comparator:Sc,Range:Rc,satisfies:Cc,toComparators:Ic,maxSatisfying:Oc,minSatisfying:Lc,minVersion:Tc,validRange:Ac,outside:Nc,gtr:Dc,ltr:kc,intersects:jc,simplifyRange:qc,subset:Bc,SemVer:tc,re:dr.re,src:dr.src,tokens:dr.t,SEMVER_SPEC_VERSION:Io.SEMVER_SPEC_VERSION,RELEASE_TYPES:Io.RELEASE_TYPES,compareIdentifiers:Oo.compareIdentifiers,rcompareIdentifiers:Oo.rcompareIdentifiers}});var ko=P((Wp,_c)=>{_c.exports={name:"boltdocs",version:"2.5.5",description:"A lightweight documentation generator for React projects.",main:"dist/node/index.js",module:"dist/node/index.mjs",types:"dist/node/index.d.ts",bin:{boltdocs:"bin/boltdocs.js"},publishConfig:{access:"public"},type:"commonjs",sideEffects:["**/*.css"],exports:{".":{types:"./dist/node/index.d.ts",import:"./dist/node/index.mjs",require:"./dist/node/index.js"},"./client":{types:"./dist/client/index.d.ts",import:"./dist/client/index.mjs",require:"./dist/client/index.js"},"./ssr":{types:"./dist/client/ssr.d.ts",import:"./dist/client/ssr.mjs",require:"./dist/client/ssr.js"},"./theme/neutral.css":"./src/client/theme/neutral.css"},scripts:{build:"tsup",dev:"tsup --watch",format:"pnpm exec biome format --write",lint:"pnpm exec biome lint --write",check:"pnpm exec biome check --write"},keywords:["docs","documentation","static site generator","ssg","markdown","mdx","react","vite","typescript"],author:"Jesus Alcala",license:"MIT",dependencies:{"@mdx-js/rollup":"3.1.1","@tailwindcss/vite":"4.2.2","@vitejs/plugin-react":"4.2.1",cac:"7.0.0","class-variance-authority":"0.7.1",clsx:"2.1.1","fast-glob":"3.3.3",flexsearch:"0.8.212","github-slugger":"2.0.0","gray-matter":"4.0.3","isomorphic-dompurify":"3.7.1","lucide-react":"0.575.0","react-aria-components":"1.16.0","react-router-dom":"6.30.3","rehype-slug":"6.0.0","remark-frontmatter":"5.0.0","remark-gfm":"4.0.1","scroll-into-view-if-needed":"3.1.0",sharp:"0.34.5",shiki:"3.23.0",svgo:"4.0.1","tailwind-merge":"3.5.0","unist-util-visit":"5.1.0",vite:"7.3.1","vite-plugin-image-optimizer":"2.0.3",zod:"4.3.6",zustand:"5.0.12"},peerDependencies:{react:"19.1.0","react-dom":"19.1.0"},packageManager:"pnpm@10.30.2",devDependencies:{"@types/node":"25.3.2","@types/react":"19.2.14","@types/react-dom":"18.3.7","@types/react-router-dom":"5.3.3","@types/semver":"7.7.1",tsup:"8.5.1",typescript:"^5.9.3"}}});a();var ui=O(require("cac"));a();var si=require("vite");a();var ei=O(require("@vitejs/plugin-react")),ti=O(require("@tailwindcss/vite"));a();var jo=require("vite");a();var Or=O(require("fast-glob"));W();a();Le();var Q=new Ie({name:"routes"});function Gt(){Q.invalidateAll()}function Ut(r){Q.invalidate(r)}a();var ee=O(require("path")),Sr=O(require("github-slugger"));W();xr();Ke();function Rr(r,e,t,o){let s;try{s=decodeURIComponent(r)}catch{let A=ee.default.basename(r);throw Ce("ENCODING_ERROR","Invalid character encoding",{file:A}),new Ye(`Security breach: Invalid characters or encoding in path: ${A}`)}if(s.length>260){let A=ee.default.basename(s);throw Ce("PATH_TOO_LONG","Path length exceeds limit",{length:s.length,file:A}),new be(`Security breach: Path length exceeds limit of ${260} characters: ${A}`)}let i=ee.default.resolve(s),n=ee.default.resolve(e),l=_(ee.default.relative(n,i));if(l.startsWith("../")||l===".."||i.includes("\0")||!yr.test(l)){let A=ee.default.basename(r);throw Ce("PATH_TRAVERSAL_ATTEMPT","Path traversal or invalid characters detected",{path:l}),new be(`Security breach: File is outside of docs directory, contains null bytes, or invalid characters: ${A}`)}let{data:p,content:c}=et(r),d=l.split("/"),f,E;if(o?.versions&&d.length>0){let A=d[0],Tt=o.versions.prefix||"",We=o.versions.versions.find($e=>{let At=Tt+$e.path;return A===At||A===$e.path});We&&(E=We.path,d=d.slice(1))}if(o?.i18n&&d.length>0){let A=d[0];o.i18n.locales[A]&&(f=A,d=d.slice(1))}let m;if(d.length>0){let A=d[0].match(/^\((.+)\)$/);A&&(m=A[1].toLowerCase(),d=d.slice(1))}let S=d.join("/"),$;p.permalink?$=p.permalink.startsWith("/")?p.permalink:`/${p.permalink}`:$=Pr(S||"index.md");let h=t;E&&(h+="/"+E),f&&(h+="/"+f),m&&(h+="/"+m),h+=$==="/"?"":$,(!h||h==="")&&(h="/");let v=d[d.length-1],b=we(v),C=we(ee.default.basename(r,ee.default.extname(r))),R=p.sidebarPosition??Ze(v),L=d.length>=2?d[0]:void 0,I=L?we(L):void 0,U=d.length>=2&&/^index\.mdx?$/.test(b),N=new Sr.default,Ee=[],pi=/^(#{2,4})\s+(.+)$/gm;for(let A of c.matchAll(pi)){let Tt=A[1].length,We=A[2].replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").trim(),$e=Se(We).trim(),At=N.slug($e);Ee.push({level:Tt,text:$e,id:At})}let fi=p.title?Se(String(p.title)):C,Lt=p.description?Se(String(p.description)):"";!Lt&&c&&(Lt=Pe(c.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/[_*`]/g,"").replace(/\s+/g," ")).trim().slice(0,160));let di=p.badge?Se(String(p.badge)):void 0,gr=p.icon?String(p.icon):void 0,mi=Li(c);return{route:{path:h,componentPath:r,filePath:l,title:fi,description:Lt,sidebarPosition:R,headings:Ee,locale:f,version:E,badge:di,icon:gr,tab:m,_content:mi,_rawContent:c},relativeDir:I,isGroupIndex:U,inferredTab:m,groupMeta:U?{title:p.groupTitle||p.title||(I?Re(I):""),position:p.groupPosition??p.sidebarPosition??(L?Ze(L):void 0),icon:gr}:void 0,inferredGroupPosition:L?Ze(L):void 0}}function Li(r){let e=r.replace(/^#+.*$/gm,"").replace(/\[([^\]]+)\]\([^\)]+\)/g,"$1").replace(/\{[^\}]+\}/g,"").replace(/[_*`]/g,"").replace(/\s+/g," ");return Pe(e).trim()}a();function Ir(r){return r.sort((e,t)=>!e.group&&!t.group?Cr(e,t):e.group?t.group?e.group!==t.group?Ti(e,t):Cr(e,t):1:-1)}function Cr(r,e){return r.sidebarPosition!==void 0&&e.sidebarPosition!==void 0?r.sidebarPosition-e.sidebarPosition:r.sidebarPosition!==void 0?-1:e.sidebarPosition!==void 0?1:r.title.localeCompare(e.title)}function Ti(r,e){return r.groupPosition!==void 0&&e.groupPosition!==void 0?r.groupPosition-e.groupPosition:r.groupPosition!==void 0?-1:e.groupPosition!==void 0?1:(r.groupTitle||r.group).localeCompare(e.groupTitle||e.group)}var Vt=null,Te=new Map;async function fe(r,e,t="/docs",o=!0){let s=performance.now();Q.load(),Te.clear(),(process.env.BOLTDOCS_FORCE_REPARSE==="true"||e?.i18n)&&Q.invalidateAll();let i;!o&&Vt?i=Vt:(i=await(0,Or.default)(["**/*.md","**/*.mdx"],{cwd:r,absolute:!0,suppressErrors:!0,followSymbolicLinks:!1}),Vt=i),Q.pruneStale(new Set(i));let n=50,l=[],p=0;for(let $=0;$<i.length;$+=n){let h=i.slice($,$+n),v=await Promise.all(h.map(async b=>{let C=Q.get(b);if(C)return p++,C;let R=Rr(b,r,t,e);return Q.set(b,R),R}));l.push(...v),$+n<i.length&&await new Promise(b=>setImmediate(b))}Q.save();let c=new Map,d=[];for(let $ of l)if($.isGroupIndex&&$.relativeDir&&d.push($),$.relativeDir){let h=c.get($.relativeDir);h?(h.position===void 0&&$.inferredGroupPosition!==void 0&&(h.position=$.inferredGroupPosition),!h.icon&&$.route.icon&&(h.icon=$.route.icon)):(h={title:Re($.relativeDir),position:$.inferredGroupPosition,icon:$.route.icon},c.set($.relativeDir,h))}for(let $ of d){let h=c.get($.relativeDir);$.groupMeta&&(h.title=$.groupMeta.title,$.groupMeta.position!==void 0&&(h.position=$.groupMeta.position),$.groupMeta.icon&&(h.icon=$.groupMeta.icon))}let f=new Array(l.length);for(let $=0;$<l.length;$++){let h=l[$],v=h.relativeDir,b=v?c.get(v):void 0;f[$]={...h.route,group:v,groupTitle:b?.title||(v?Re(v):void 0),groupPosition:b?.position,groupIcon:b?.icon}}let E=f;if(e?.i18n){let $=Ai(f,e,t);E=[...f,...$]}let m=Ir(E),S=performance.now()-s;return console.log(`[boltdocs] Route generation: ${S.toFixed(2)}ms (${i.length} files, ${p} cache hits)`),m}function Ai(r,e,t){let o=e.i18n.defaultLocale,s=Object.keys(e.i18n.locales),i=[],n=new Map,l=[];for(let p of r){let c=p.locale||o;n.has(c)||n.set(c,new Set),n.get(c).add(p.path),c===o&&l.push(p)}for(let p of s){let c=n.get(p)||new Set;for(let d of l){let f=Ni(d.path,o,p,t,e);f!==d.path&&(c.has(f)||i.push({...d,path:f,locale:p}))}}return i}function Ni(r,e,t,o,s){let i=`${r}:${t}`,n=Te.get(i);if(n)return n;let l=o;if(s?.versions){let f=s.versions.prefix||"";for(let E of s.versions.versions){let m=f+E.path;if(r.startsWith(`${o}/${m}`)){l+="/"+m;break}if(r.startsWith(`${o}/${E.path}`)){l+="/"+E.path;break}}}let p=r.substring(l.length),c=`/${e}`;if(p.startsWith(c+"/"))p="/"+t+"/"+p.substring(c.length+1);else if(p===c)p="/"+t;else if(p==="/"||p==="")p="/"+t;else{let f=p.startsWith("/")?"":"/";p="/"+t+f+p}let d=l+p;return Te.size>2e3&&Te.clear(),Te.set(i,d),d}var qo=require("vite-plugin-image-optimizer");a();var st=O(require("path")),Tr=O(require("fs")),Ar=require("vite");a();var u=require("zod"),Di=u.z.object({icon:u.z.string().max(50),link:u.z.string().url()}),ki=u.z.object({text:u.z.string().max(2e3).optional()}),ji=u.z.enum(["fs:read","fs:write","vite:config","mdx:remark","mdx:rehype","components","hooks:build","hooks:dev"]),zt=u.z.object({name:u.z.string(),enforce:u.z.enum(["pre","post"]).optional(),version:u.z.string().optional(),boltdocsVersion:u.z.string().optional(),permissions:u.z.array(ji).optional(),remarkPlugins:u.z.array(u.z.any()).optional(),rehypePlugins:u.z.array(u.z.any()).optional(),vitePlugins:u.z.array(u.z.any()).optional(),components:u.z.record(u.z.string(),u.z.string()).optional(),hooks:u.z.record(u.z.string(),u.z.any()).optional()}),qi=u.z.object({title:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]).optional(),description:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]).optional(),logo:u.z.union([u.z.string(),u.z.object({dark:u.z.string(),light:u.z.string(),alt:u.z.string().optional(),width:u.z.number().optional(),height:u.z.number().optional()})]).optional(),navbar:u.z.array(u.z.object({label:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]),href:u.z.string()})).optional(),sidebar:u.z.record(u.z.string(),u.z.array(u.z.object({text:u.z.string(),link:u.z.string()}))).optional(),socialLinks:u.z.array(Di).optional(),footer:ki.optional(),breadcrumbs:u.z.boolean().optional(),editLink:u.z.string().refine(r=>!r||r.includes(":path"),{message:"editLink must contain ':path' placeholder if specified"}).optional(),communityHelp:u.z.string().url().optional(),version:u.z.string().max(50).optional(),githubRepo:u.z.string().max(100).optional(),favicon:u.z.string().optional(),ogImage:u.z.string().optional(),poweredBy:u.z.boolean().optional(),tabs:u.z.array(u.z.object({id:u.z.string(),text:u.z.union([u.z.string(),u.z.record(u.z.string(),u.z.string())]),icon:u.z.string().optional()})).optional(),codeTheme:u.z.union([u.z.string(),u.z.object({light:u.z.string(),dark:u.z.string()})]).optional(),copyMarkdown:u.z.union([u.z.boolean(),u.z.object({text:u.z.string().optional(),icon:u.z.string().optional()})]).optional()}),Bi=u.z.union([u.z.string(),u.z.object({rules:u.z.array(u.z.object({userAgent:u.z.string(),allow:u.z.union([u.z.string(),u.z.array(u.z.string())]).optional(),disallow:u.z.union([u.z.string(),u.z.array(u.z.string())]).optional()})).optional(),sitemaps:u.z.array(u.z.string().url()).optional()})]),Fi=u.z.object({defaultLocale:u.z.string(),locales:u.z.record(u.z.string(),u.z.string()),localeConfigs:u.z.record(u.z.string(),u.z.object({label:u.z.string().optional(),direction:u.z.enum(["ltr","rtl"]).optional(),htmlLang:u.z.string().optional(),calendar:u.z.string().optional()})).optional()}),_i=u.z.object({defaultVersion:u.z.string(),prefix:u.z.string().optional(),versions:u.z.array(u.z.object({label:u.z.string(),path:u.z.string()}))}),Mi=u.z.object({headers:u.z.record(u.z.string(),u.z.string()).optional(),enableCSP:u.z.boolean().optional(),customHeaders:u.z.record(u.z.string(),u.z.string()).optional()}),Lr=u.z.object({siteUrl:u.z.string().url().optional(),docsDir:u.z.string().optional(),homePage:u.z.string().optional(),theme:qi.optional(),i18n:Fi.optional(),versions:_i.optional(),plugins:u.z.array(zt).optional(),robots:Bi.optional(),security:Mi.optional(),vite:u.z.record(u.z.string(),u.z.unknown()).optional()});Ke();var ot=["boltdocs.config.js","boltdocs.config.mjs","boltdocs.config.ts"];async function V(r,e=process.cwd()){let t=e,o={docsDir:st.default.resolve(r),theme:{title:"Boltdocs",description:"A Vite documentation framework",navbar:[{label:"Home",href:"/"},{label:"Documentation",href:"/docs"}],codeTheme:{light:"github-light",dark:"github-dark"},poweredBy:!0,breadcrumbs:!0}},s={};for(let d of ot){let f=st.default.resolve(t,d);if(Tr.default.existsSync(f))try{let E=await(0,Ar.loadConfigFromFile)({command:"serve",mode:"development"},f,t);if(E){s=E.config;break}}catch(E){console.warn(`[boltdocs] Failed to load config from ${d}:`,E)}}let n={...{title:s.title,description:s.description,logo:s.logo,favicon:s.favicon,ogImage:s.ogImage,navbar:s.navbar,sidebar:s.sidebar,socialLinks:s.socialLinks,footer:s.footer,githubRepo:s.githubRepo,tabs:s.tabs,codeTheme:s.codeTheme,copyMarkdown:s.copyMarkdown,breadcrumbs:s.breadcrumbs,poweredBy:s.poweredBy,communityHelp:s.communityHelp,version:s.version,editLink:s.editLink},...s.theme||{}},l=Object.fromEntries(Object.entries(n).filter(([d,f])=>f!==void 0));l.navbar&&(l.navbar=l.navbar.map(d=>({label:d.label||d.text||"",href:d.href||d.link||d.to||""})));let p={docsDir:st.default.resolve(r),homePage:s.homePage,theme:{...o.theme,...l},i18n:s.i18n,versions:s.versions,siteUrl:s.siteUrl,plugins:s.plugins||[],robots:s.robots,security:s.security,vite:s.vite},c=Lr.safeParse(p);if(!c.success){let d=c.error.issues.map(f=>` - ${f.path.join(".")}: ${f.message}`).join(`
|
|
3
|
-
`);throw new oe(`Invalid Boltdocs configuration:
|
|
4
|
-
${d}`)}return c.data}a();var Y=O(require("fs")),K=O(require("path"));W();var qr=require("url"),Br=require("module");a();W();function Nr(r,e){let t=ie(e.title),o=ie(e.description);return r.replace(/<title>.*?<\/title>/,`<title>${t}</title>`).replace(/(<meta name="description" content=")[^"]*(")/,`$1${o}$2`).replace(/(<meta property="og:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta property="og:description" content=")[^"]*(")/,`$1${o}$2`).replace(/(<meta name="twitter:title" content=")[^"]*(")/,`$1${t}$2`).replace(/(<meta name="twitter:description" content=")[^"]*(")/,`$1${o}$2`)}a();W();function Dr(r,e){let t=e?.siteUrl?.replace(/\/$/,"")||"https://example.com",o=new Date().toISOString().split("T")[0],s=[{url:"/",priority:"1.0",changefreq:"daily"}];if(e?.i18n){let n=e.i18n.defaultLocale;for(let l of Object.keys(e.i18n.locales))l!==n&&s.push({url:`/${l}/`,priority:"1.0",changefreq:"daily"})}return`<?xml version="1.0" encoding="UTF-8"?>
|
|
5
|
-
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
6
|
-
${[...s,...r.map(n=>({url:n,priority:"0.8",changefreq:"weekly"}))].map(n=>` <url>
|
|
7
|
-
<loc>${kt(t)}${kt(n.url)}</loc>
|
|
8
|
-
<lastmod>${o}</lastmod>
|
|
9
|
-
<changefreq>${n.changefreq}</changefreq>
|
|
10
|
-
<priority>${n.priority}</priority>
|
|
11
|
-
</url>`).join(`
|
|
12
|
-
`)}
|
|
13
|
-
</urlset>`}a();function it(r){if(typeof r.robots=="string")return r.robots;let e=r.siteUrl?.replace(/\/$/,"")||"",t=r.robots||{},o=t.rules||[{userAgent:"*",allow:"/"}],s=t.sitemaps||(e?[`${e}/sitemap.xml`]:[]),i="";for(let n of o){if(i+=`User-agent: ${n.userAgent}
|
|
14
|
-
`,n.disallow){let l=Array.isArray(n.disallow)?n.disallow:[n.disallow];for(let p of l)i+=`Disallow: ${p}
|
|
15
|
-
`}if(n.allow){let l=Array.isArray(n.allow)?n.allow:[n.allow];for(let p of l)i+=`Allow: ${p}
|
|
16
|
-
`}i+=`
|
|
17
|
-
`}for(let n of s)i+=`Sitemap: ${n}
|
|
18
|
-
`;return i.trim()}var Hi=(0,qr.fileURLToPath)(g),kr=K.default.dirname(Hi),jr=(0,Br.createRequire)(g);async function Fr(r){let{docsDir:e,docsDirName:t,outDir:o,config:s}=r,i=await fe(e,s),n=["tsx","ts","jsx","js"].map(h=>K.default.resolve(e,`pages-external/index.${h}`)).find(h=>Y.default.existsSync(h));if(n)try{let h=Y.default.readFileSync(n,"utf-8"),v=h.match(/pages\s*:\s*{([^}]+)}/s);if(v){let b=v[1].split(",").map(C=>C.split(":")[0].trim().replace(/['"]/g,"")).filter(C=>C&&C.startsWith("/"));for(let C of b)i.some(R=>R.path===C)||i.push({path:C,title:C.slice(1).charAt(0).toUpperCase()+C.slice(2),filePath:"",componentPath:"",_content:""})}h.includes("homePage")&&!i.some(b=>b.path==="/")&&i.push({path:"/",title:"Home",filePath:"",componentPath:"",_content:""})}catch(h){console.warn("[boltdocs] Failed to parse external routes for SSG:",h)}let l=K.default.resolve(kr,"../client/ssr.js");if(!Y.default.existsSync(l)){console.error("[boltdocs] SSR module not found at",l,"- Did you build the core package?");return}let p=jr("module"),c=p.prototype.require;p.prototype.require=function(h,...v){return h.startsWith("virtual:boltdocs-")?h==="virtual:boltdocs-layout"?{__esModule:!0,default:function(C){try{let L=c.apply(this,[K.default.resolve(kr,"../client/index.js")]).DefaultLayout||(({children:U})=>U);return c.apply(this,["react"]).createElement(L,C)}catch{return C.children}}}:h==="virtual:boltdocs-mdx-components"?{__esModule:!0,default:{}}:h==="virtual:boltdocs-config"?{__esModule:!0,default:s}:{__esModule:!0,default:h.includes("routes")?[]:{}}:c.apply(this,[h,...v])};let{render:d}=jr(l);p.prototype.require=c;let f=K.default.join(o,"index.html");if(!Y.default.existsSync(f)){console.warn("[boltdocs] No index.html found in outDir, skipping SSG.");return}let E=Y.default.readFileSync(f,"utf-8");await Promise.all(i.map(async h=>{let v=jt(s?.theme?.title,h.locale)||"Boltdocs",b=jt(s?.theme?.description,h.locale)||"",C=`${h.title} | ${v}`,R=h.description||b,L={};L[`/${t}/${h.filePath}`]={default:()=>null};try{let I=await d({path:h.path,routes:i,config:s||{},docsDirName:t,modules:L,homePage:void 0}),U=Nr(E,{title:ie(C),description:ie(R)}).replace("<!--app-html-->",I).replace('<div id="root"></div>',`<div id="root">${I}</div>`),N=K.default.join(o,h.path);await Y.default.promises.mkdir(N,{recursive:!0}),await Y.default.promises.writeFile(K.default.join(N,"index.html"),U,"utf-8")}catch(I){console.error(`[boltdocs] Error SSR rendering route ${h.path}:`,I&&(I.stack||I))}}));let m=Dr(i.map(h=>h.path),s);Y.default.writeFileSync(K.default.join(o,"sitemap.xml"),m,"utf-8");let S=it(s);Y.default.writeFileSync(K.default.join(o,"robots.txt"),S,"utf-8"),console.log(`[boltdocs] Generated ${i.length} static pages + sitemap.xml + robots.txt`);let{flushCache:$}=await Promise.resolve().then(()=>(Le(),Ht));await $()}W();var z=O(require("path"));a();W();var Ae=O(require("path")),Xt=O(require("fs"));function _r(r,e){let t=r.homePage?`import HomePage from '${_(r.homePage)}';`:"",o=Ae.default.resolve(process.cwd(),"index.css"),s=Xt.default.existsSync(o)?"import './index.css';":"",i=r.homePage?"homePage: HomePage,":"",n=e?.plugins?.flatMap(S=>Object.entries(S.components||{}))||[],l=n.map(([S,$])=>`import * as _comp_${S} from '${_($)}';
|
|
19
|
-
const ${S} = _comp_${S}.default || _comp_${S}['${S}'] || _comp_${S};`).join(`
|
|
20
|
-
`),p=n.map(([S])=>S).join(", "),c=Ae.default.basename(r.docsDir||"docs"),d=Ae.default.resolve(process.cwd(),r.docsDir||"docs"),f=["tsx","ts","jsx","js"].map(S=>Ae.default.resolve(d,`pages-external/index.${S}`)).find(S=>Xt.default.existsSync(S)),E=f?`import * as _external_module from '${_(f)}';`:"";return i=f?"homePage: _external_module.homePage || HomePage,":r.homePage?"homePage: HomePage,":"",`
|
|
21
|
-
import { createBoltdocsApp as _createApp } from 'boltdocs/client';
|
|
22
|
-
import _routes from 'virtual:boltdocs-routes';
|
|
23
|
-
import _config from 'virtual:boltdocs-config';
|
|
24
|
-
import _user_mdx_components from 'virtual:boltdocs-mdx-components';
|
|
25
|
-
${s}
|
|
26
|
-
${t}
|
|
27
|
-
${l}
|
|
28
|
-
${E}
|
|
29
|
-
|
|
30
|
-
_createApp({
|
|
31
|
-
target: '#root',
|
|
32
|
-
routes: _routes,
|
|
33
|
-
docsDirName: '${c}',
|
|
34
|
-
config: _config,
|
|
35
|
-
modules: import.meta.glob('/${c}/**/*.{md,mdx}'),
|
|
36
|
-
hot: import.meta.hot,
|
|
37
|
-
${i}
|
|
38
|
-
${f?"externalPages: _external_module.pages, externalLayout: _external_module.layout,":""}
|
|
39
|
-
components: { ${p}${p?", ":""} ...(_user_mdx_components || {}) },
|
|
40
|
-
});
|
|
41
|
-
`}a();function nt(r){return`<!doctype html>
|
|
42
|
-
<html lang="en">
|
|
43
|
-
<head>
|
|
44
|
-
<meta charset="UTF-8" />
|
|
45
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
46
|
-
<title>${r.theme?.title||"Boltdocs"}</title>
|
|
47
|
-
</head>
|
|
48
|
-
<body>
|
|
49
|
-
<div id="root"></div>
|
|
50
|
-
</body>
|
|
51
|
-
</html>`}function Wt(r,e){let t=e.theme,o=t?.title||"Boltdocs",s=t?.description||"",i=t?.favicon;!i&&t?.logo&&(typeof t.logo=="string"?i=t.logo:i=t.logo.light||t.logo.dark);let n=[i?`<link rel="icon" href="${i}">`:"",`<meta name="description" content="${s}">`,`<meta property="og:title" content="${o}">`,`<meta property="og:description" content="${s}">`,t?.ogImage?`<meta property="og:image" content="${t.ogImage}">`:"",'<meta property="og:type" content="website">','<meta name="twitter:card" content="summary_large_image">',`<meta name="twitter:title" content="${o}">`,`<meta name="twitter:description" content="${s}">`,t?.ogImage?`<meta name="twitter:image" content="${t.ogImage}">`:"",'<meta name="generator" content="Boltdocs">'].filter(Boolean).join(`
|
|
52
|
-
`),l=`
|
|
53
|
-
<script>
|
|
54
|
-
(function() {
|
|
55
|
-
try {
|
|
56
|
-
var stored = localStorage.getItem("boltdocs-theme");
|
|
57
|
-
var theme = stored || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
|
|
58
|
-
if (theme === "light") {
|
|
59
|
-
document.documentElement.classList.add("theme-light");
|
|
60
|
-
document.documentElement.dataset.theme = "light";
|
|
61
|
-
} else {
|
|
62
|
-
document.documentElement.classList.remove("theme-light");
|
|
63
|
-
document.documentElement.dataset.theme = "dark";
|
|
64
|
-
}
|
|
65
|
-
} catch (e) {}
|
|
66
|
-
})();
|
|
67
|
-
</script>
|
|
68
|
-
`;return r.includes("<title>")?r=r.replace(/<title>.*?<\/title>/,`<title>${o}</title>`):r=r.replace("</head>",` <title>${o}</title>
|
|
69
|
-
</head>`),r=r.replace("</head>",` ${n}
|
|
70
|
-
${l} </head>`),!r.includes("src/main")&&!r.includes("virtual:boltdocs-entry")&&(r=r.replace("</body>",` <script type="module">import "virtual:boltdocs-entry";</script>
|
|
71
|
-
</body>`)),r}a();function Mr(r){let e=[];for(let t of r)if(e.push({id:t.path,title:t.title,content:t._content||"",url:t.path,display:t.groupTitle?`${t.groupTitle} > ${t.title}`:t.title,locale:t.locale,version:t.version}),t.headings)for(let o of t.headings)e.push({id:`${t.path}#${o.id}`,title:o.text,content:`${o.text} in ${t.title}`,url:`${t.path}#${o.id}`,display:`${t.title} > ${o.text}`,locale:t.locale,version:t.version});return e}a();var at={"X-Content-Type-Options":"nosniff","X-Frame-Options":"DENY","X-XSS-Protection":"1; mode=block","Referrer-Policy":"strict-origin-when-cross-origin","Permissions-Policy":"camera=(), microphone=(), geolocation=()","Strict-Transport-Security":"max-age=31536000; includeSubDomains"};a();function ct(r){let e=process.env.NODE_ENV==="development",t={"default-src":["'self'"],"script-src":["'self'","'unsafe-inline'"],"style-src":["'self'","'unsafe-inline'"],"img-src":["'self'","data:","https:"],"font-src":["'self'"],"connect-src":["'self'"]};return e&&(t["script-src"]=["'self'","'unsafe-eval'","'unsafe-inline'"],t["style-src"]=["'self'","'unsafe-inline'"]),Object.entries(t).map(([o,s])=>`${o} ${s.join(" ")}`).join("; ")}var mr=O(require("fs"));a();var de=class r extends Error{pluginName;constructor(e,t){super(`[plugin:${e}] ${t}`),this.name="PluginError",this.pluginName=e,Object.setPrototypeOf(this,r.prototype)}},me=class r extends de{constructor(e,t){super(e,`Validation failed: ${t}`),this.name="PluginValidationError",Object.setPrototypeOf(this,r.prototype)}},lt=class r extends de{constructor(e,t){super(e,`Compatibility error: ${t}`),this.name="PluginCompatibilityError",Object.setPrototypeOf(this,r.prototype)}},Ne=class r extends de{constructor(e,t){super(e,`Missing required permission: '${t}'`),this.name="PluginPermissionError",Object.setPrototypeOf(this,r.prototype)}},ut=class r extends de{hookName;constructor(e,t,o){super(e,`Error in hook '${t}': ${o.message}`),this.name="PluginHookError",this.hookName=t,this.stack=o.stack,Object.setPrototypeOf(this,r.prototype)}};a();var pt=class{data=new Map;getNamespaceKey(e,t){return`${e}:${t}`}get(e,t){let o=this.getNamespaceKey(e,t),s=this.data.get(o);if(s!==void 0)return typeof s=="object"&&s!==null?JSON.parse(JSON.stringify(s)):s}set(e,t,o){let s=this.getNamespaceKey(e,t),i=typeof o=="object"&&o!==null?JSON.parse(JSON.stringify(o)):o;this.data.set(s,i)}has(e,t){let o=this.getNamespaceKey(e,t);return this.data.has(o)}};a();var G=require("zod"),Ao=O(To()),No=O(require("path"));var Fc=zt.extend({version:G.z.string().optional(),boltdocsVersion:G.z.string().optional(),permissions:G.z.array(G.z.string()).optional(),hooks:G.z.object({beforeBuild:G.z.function().optional(),afterBuild:G.z.function().optional(),beforeDev:G.z.function().optional(),afterDev:G.z.function().optional(),configResolved:G.z.function().optional(),buildEnd:G.z.function().optional()}).optional()});function Do(r,e){let t=[],o=new Set;for(let s of r){let i=Fc.safeParse(s);if(!i.success)throw new me(s.name||"unknown",i.error.issues.map(l=>`${l.path.join(".")}: ${l.message}`).join(", "));let n=i.data;if(o.has(n.name))throw new me(n.name,"Duplicate plugin name detected");if(o.add(n.name),n.boltdocsVersion&&!Ao.default.satisfies(e,n.boltdocsVersion))throw new lt(n.name,`Plugin expects Boltdocs version ${n.boltdocsVersion}, but current is ${e}`);if(n.components){for(let[l,p]of Object.entries(n.components))if((p.includes("..")||No.default.isAbsolute(p))&&p.includes(".."))throw new me(n.name,`Component '${l}' has an invalid path: traversal sequences are not allowed.`)}t.push(n)}return t}function he(r,e){return r.permissions?r.permissions.includes(e):!1}a();var te=class{static checkPermission(e,t){if(!he(e,t))throw new Ne(e.name,t)}static getSanitizedCapabilities(e){return{remarkPlugins:he(e,"mdx:remark")?e.remarkPlugins:[],rehypePlugins:he(e,"mdx:rehype")?e.rehypePlugins:[],vitePlugins:he(e,"vite:config")?e.vitePlugins:[],components:he(e,"components")?e.components:{}}}static async executeWithIsolation(e,t,o,s){try{return this.checkPermission(e,t),await s()}catch(i){if(i instanceof Ne){console.warn(`[boltdocs] Skipping hook '${o}' for plugin '${e.name}': ${i.message}`);return}throw i}}};a();var wt=class{plugins;config;store;constructor(e,t){this.plugins=e,this.config=t,this.store=new pt}async runHook(e,...t){let o=this.getSortedPlugins();for(let s of o){if(!s.hooks?.[e])continue;let i=this.createContext(s),n=e.toLowerCase().includes("build"),l=e.toLowerCase().includes("dev"),p=n?"hooks:build":l?"hooks:dev":void 0;try{p?await te.executeWithIsolation(s,p,e,()=>s.hooks[e](i,...t)):await s.hooks[e](i,...t)}catch(c){let d=new ut(s.name,e,c instanceof Error?c:new Error(String(c)));i.logger.error(d)}}}getSortedPlugins(){let e=this.plugins.filter(s=>s.enforce==="pre"),t=this.plugins.filter(s=>!s.enforce),o=this.plugins.filter(s=>s.enforce==="post");return[...e,...t,...o]}createContext(e){return{config:Object.freeze({...this.config}),meta:{name:e.name,version:e.version,boltdocsVersion:e.boltdocsVersion},store:{get:(t,o)=>this.store.get(t,o),set:(t,o,s)=>this.store.set(t,o,s),has:(t,o)=>this.store.has(t,o)},logger:this.createLogger(e.name)}}createLogger(e){let t=`[plugin:${e}]`;return{info:o=>console.log(`${t} INFO: ${o}`),warn:o=>console.warn(`${t} WARN: ${o}`),error:o=>{let s=o instanceof Error?o.message:o;console.error(`${t} ERROR: ${s}`)},debug:o=>console.debug(`${t} DEBUG: ${o}`)}}};function Bo(r={},e){let t=z.default.resolve(process.cwd(),r.docsDir||"docs"),o=_(t),s=e,i,n=!1,l,p=[];return[{name:"vite-plugin-boltdocs",enforce:"pre",async config(c,d){n=d.command==="build";let f=c.envDir||process.cwd(),E=(0,jo.loadEnv)(d.mode,f,"");Object.assign(process.env,E),s||(s=await V(t));let m=(await Promise.resolve().then(()=>O(ko()))).version,S=Do(s.plugins||[],m);return s.plugins=S,l=new wt(S,s),p=S.flatMap($=>te.getSanitizedCapabilities($).vitePlugins||[]),n&&await l.runHook("beforeBuild"),{resolve:{alias:[{find:/^(.*)\/?use-sync-external-store\/shim(?:.*)$/,replacement:"\0virtual:boltdocs-usesync-shim"},{find:/^(.*)\/?use-sync-external-store$/,replacement:"\0virtual:boltdocs-usesync-shim"}]},optimizeDeps:{include:["react","react-dom"],exclude:["boltdocs","boltdocs/client","boltdocs/hooks","boltdocs/primitives","boltdocs/base-ui","boltdocs/mdx","boltdocs/integrations","boltdocs/client/hooks","boltdocs/client/primitives"]}}},configResolved(c){i=c,l?.runHook("configResolved",s)},async configureServer(c){await l?.runHook("beforeDev"),c.middlewares.use((v,b,C)=>{process.env.NODE_ENV==="production"&&Object.entries(at).forEach(([L,I])=>{b.setHeader(L,I)}),s.security?.enableCSP&&b.setHeader("Content-Security-Policy",ct(s)),C()}),c.middlewares.use((v,b,C)=>{if(v.url==="/robots.txt"){let R=it(s);b.statusCode=200,b.setHeader("Content-Type","text/plain"),b.end(R);return}C()}),c.middlewares.use(async(v,b,C)=>{let R=v.url?.split("?")[0]||"/",L=v.headers.accept||"",I=R==="/"||R.startsWith("/docs")||s.i18n&&Object.keys(s.i18n.locales).some(N=>R.startsWith(`/${N}/docs`)||R===`/${N}`)||!0,U=/\.(js|css|png|jpe?g|gif|svg|ico|webp|woff2?|ttf|otf|mp4|webm|ogg|mp3|wav|flac|aac|pdf|zip|gz|map|json)$/i.test(R);if(L.includes("text/html")&&!U&&I){let N=nt(s);N=Wt(N,s),N=await c.transformIndexHtml(v.url||"/",N),b.statusCode=200,b.setHeader("Content-Type","text/html"),b.end(N);return}C()});let d=ot.map(v=>z.default.resolve(process.cwd(),v)),f=["tsx","jsx"],E=f.map(v=>z.default.resolve(t,`layout.${v}`)),m=["tsx","ts","jsx","js"],S=m.map(v=>z.default.resolve(t,`mdx-components.${v}`)),$=m.map(v=>z.default.resolve(t,`pages-external/index.${v}`));c.watcher.add([...d,...S,...E,...$]);let h=async(v,b)=>{try{let C=_(v);if(ot.some(I=>C.endsWith(I))){c.restart();return}if(m.some(I=>C.endsWith(`mdx-components.${I}`))){let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-mdx-components");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"full-reload"});return}if(f.some(I=>C.endsWith(`layout.${I}`))){let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-layout");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"full-reload"});return}if(C.includes("/pages-external/")||C.includes("\\pages-external\\")){let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-entry");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"full-reload"});return}if(!C.startsWith(o)||!br(C))return;if(b==="add"||b==="unlink"){Gt(),s=await V(t);let I=c.moduleGraph.getModuleById("\0virtual:boltdocs-config");I&&c.moduleGraph.invalidateModule(I),c.ws.send({type:"custom",event:"boltdocs:config-update",data:{theme:s?.theme,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl}})}else Ut(v);let R=await fe(t,s,"/docs",b!=="change"),L=c.moduleGraph.getModuleById("\0virtual:boltdocs-routes");L&&c.moduleGraph.invalidateModule(L),c.ws.send({type:"custom",event:"boltdocs:routes-update",data:R})}catch(C){console.error(`[boltdocs] HMR error during ${b} event:`,C)}};c.watcher.on("add",v=>h(v,"add")),c.watcher.on("unlink",v=>h(v,"unlink")),c.watcher.on("change",v=>h(v,"change")),await l?.runHook("afterDev")},resolveId(c){if(c==="virtual:boltdocs-routes"||c==="virtual:boltdocs-config"||c==="virtual:boltdocs-entry"||c==="virtual:boltdocs-mdx-components"||c==="virtual:boltdocs-layout"||c==="virtual:boltdocs-search")return"\0"+c;if((c.includes("use-sync-external-store/shim")||c==="use-sync-external-store"||c.endsWith("use-sync-external-store/index.js"))&&!c.includes("with-selector"))return"\0virtual:boltdocs-usesync-shim"},async load(c){if(c==="\0virtual:boltdocs-usesync-shim")return`import * as React from 'react';
|
|
72
|
-
export const useSyncExternalStore = React.useSyncExternalStore;
|
|
73
|
-
export default React.useSyncExternalStore;`;if(c==="\0virtual:boltdocs-routes"){let d=await fe(t,s);return`export default ${JSON.stringify(d,null,2)};`}if(c==="\0virtual:boltdocs-config"){let d={theme:s?.theme,i18n:s?.i18n,versions:s?.versions,siteUrl:s?.siteUrl,plugins:s?.plugins?.map(f=>({name:f.name}))};return`export default ${JSON.stringify(d,null,2)};`}if(c==="\0virtual:boltdocs-entry")return _r(r,s);if(c==="\0virtual:boltdocs-mdx-components"){let d=["tsx","ts","jsx","js"],f=null;for(let E of d){let m=z.default.resolve(t,`mdx-components.${E}`);if(mr.default.existsSync(m)){f=m;break}}if(f){let E=_(f);return`import * as components from '${E}';
|
|
74
|
-
const mdxComponents = components.default || components;
|
|
75
|
-
export default mdxComponents;
|
|
76
|
-
export * from '${E}';`}return"export default {};"}if(c==="\0virtual:boltdocs-layout"){let d=["tsx","jsx"],f=null;for(let E of d){let m=z.default.resolve(t,`layout.${E}`);if(mr.default.existsSync(m)){f=m;break}}return f?`import UserLayout from '${_(f)}';
|
|
77
|
-
export default UserLayout;`:`import { DefaultLayout } from 'boltdocs/client';
|
|
78
|
-
export default DefaultLayout;`}if(c==="\0virtual:boltdocs-search"){let d=await fe(t,s),f=Mr(d);return`export default ${JSON.stringify(f,null,2)};`}},transformIndexHtml:{order:"pre",handler(c){return Wt(c,s)}},async closeBundle(){if(!n)return;let c=i?.build?.outDir?z.default.resolve(i.root,i.build.outDir):z.default.resolve(process.cwd(),"dist"),d=z.default.basename(t||"docs");await Fr({docsDir:t,docsDirName:d,outDir:c,config:s});let{flushCache:f}=await Promise.resolve().then(()=>(Le(),Ht));await f(),await l?.runHook("afterBuild"),await l?.runHook("buildEnd")}},(0,qo.ViteImageOptimizer)({includePublic:!0,png:{quality:80},jpeg:{quality:80},jpg:{quality:80},webp:{quality:80},avif:{quality:80},svg:{multipass:!0,plugins:[{name:"preset-default"}]}}),{name:"vite-plugin-boltdocs-extra-plugins",async configResolved(){}},...p]}a();var Wo=O(require("@mdx-js/rollup")),Yo=O(require("remark-gfm")),Ko=O(require("remark-frontmatter")),Jo=O(require("rehype-slug")),Zo=O(require("crypto"));a();Le();var Fo="v4",ye=new Oe("mdx");a();var Mo=require("unist-util-visit");a();var _o=require("shiki"),St=null;async function Rt(r){if(St)return St;let e=typeof r=="object"?[r.light,r.dark]:[r??"github-dark"];return["github-light","github-dark"].forEach(t=>{e.includes(t)||e.push(t)}),St=await(0,_o.createHighlighter)({themes:e,langs:["tsx","jsx","ts","js","json","md","mdx","css","html","bash","sh","yaml","yml"]}),St}function Ho(r){return async e=>{let t=r?.theme?.codeTheme??{light:"github-light",dark:"github-dark"},o=await Rt(t);(0,Mo.visit)(e,["mdxJsxFlowElement","mdxJsxTextElement"],s=>{if(s.name!=="ComponentPreview")return;let i=s.attributes?.find(c=>c.name==="code"),n="";if(i){if(typeof i.value=="string")n=i.value;else if(i.value?.type==="mdxJsxAttributeValueExpression"){let c=i.value.value??"";n=c.match(/^[`'"]([\s\S]+)[`'"]$/)?.[1]??c}}if(!n)return;let l=typeof t=="object"?{themes:{light:t.light,dark:t.dark},lang:"tsx"}:{theme:t,lang:"tsx"},p=o.codeToHtml(n,l);s.attributes=(s.attributes??[]).filter(c=>c.name!=="highlightedHtml"),s.attributes.push({type:"mdxJsxAttribute",name:"highlightedHtml",value:p})})}}a();var Go=require("unist-util-visit");function Uo(r){return async e=>{let t=r?.theme?.codeTheme||{light:"github-light",dark:"github-dark"},o=await Rt(t);(0,Go.visit)(e,"element",s=>{if(s.tagName==="pre"&&s.children?.[0]?.tagName==="code"){let i=s.children[0],l=(i.properties?.className||[]).find($=>$.startsWith("language-")),p=l?l.slice(9):"text",c=i.children[0]?.value||"",f=(i.data?.meta||i.properties?.metastring||"").match(/title\s*=\s*"([^"]*)"/),E=f?f[1]:void 0,m={lang:p};typeof t=="object"?m.themes={light:t.light,dark:t.dark}:m.theme=t;let S=o.codeToHtml(c,m);s.properties["data-highlighted"]="true",s.properties["data-highlighted-html"]=S,s.properties["data-lang"]=p,E&&(s.properties.title=E),s.children=[]}})}}a();var Vo=require("unist-util-visit");function zo(){return r=>{(0,Vo.visit)(r,"code",e=>{if(e.data=e.data||{},e.data.hProperties=e.data.hProperties||{},e.lang&&(e.data.hProperties["data-lang"]=e.lang),!e.meta)return;let t=e.meta,o=t.match(/title\s*=\s*"([^"]*)"/);o&&(e.data.hProperties.title=o[1]),e.data.hProperties.metastring=t})}}var Xo=!1,Ct=0,Me=0;function Qo(r,e=Wo.default){let t=r?.plugins?.flatMap(i=>te.getSanitizedCapabilities(i).remarkPlugins||[])||[],o=r?.plugins?.flatMap(i=>te.getSanitizedCapabilities(i).rehypePlugins||[])||[],s=e({remarkPlugins:[Yo.default,Ko.default,zo,[Ho,r],...t],rehypePlugins:[Jo.default,[Uo,r],...o],jsxRuntime:"automatic"});return{...s,name:"vite-plugin-boltdocs-mdx",async buildStart(){Ct=0,Me=0,Xo||(ye.load(),Xo=!0),s.buildStart&&await s.buildStart.call(this)},async transform(i,n,l){if(!n.endsWith(".md")&&!n.endsWith(".mdx"))return s.transform?.call(this,i,n,l);console.log(`[boltdocs] Transforming MDX: ${n}`),Me++;let p=Zo.default.createHash("md5").update(i).digest("hex"),c=`${n}:${p}:${Fo}`,d=ye.get(c);if(d)return Ct++,{code:d,map:null};let f=await s.transform.call(this,i,n,l);return f&&typeof f=="object"&&f.code&&ye.set(c,f.code),f},async buildEnd(){Me>0&&console.log(`[boltdocs] MDX Cache Performance: ${Ct}/${Me} hits (${Math.round(Ct/Me*100)||0}%)`),ye.save(),await ye.flush(),s.buildEnd&&await s.buildEnd.call(this)}}}async function ri(r){let e=r?.docsDir||"docs",t=await V(e),o={...r,homePage:r?.homePage||t.homePage};return[...Bo(o,t),Qo(t)]}async function He(r,e="development"){let t=await V("docs",r),s=e==="production"?{...at}:{};return t.security?.enableCSP&&(s["Content-Security-Policy"]=ct(t)),{root:r,mode:e,plugins:[(0,ei.default)(),(0,ti.default)(),await ri({docsDir:t.docsDir,homePage:t.homePage})],server:{headers:{...s,...t.vite?.server?.headers},...t.vite?.server},preview:{headers:{...s,...t.vite?.preview?.headers},...t.vite?.preview},...t.vite}}var Ve={};hr(Ve,{colors:()=>xe,error:()=>Z,formatLog:()=>It,info:()=>Ge,success:()=>Ue});a();var xe={reset:"\x1B[0m",bold:"\x1B[1m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",cyan:"\x1B[36m",gray:"\x1B[90m"};function It(r,e=""){return`${e}${xe.bold}[boltdocs]${xe.reset} ${r}${xe.reset}`}function Ge(r){console.log(It(r))}function Z(r,e){console.error(It(r,xe.red)),e&&console.error(e)}function Ue(r){console.log(It(r,xe.green))}async function oi(r=process.cwd()){try{let e=await He(r,"development"),t=await(0,si.createServer)(e);await t.listen(),t.printUrls(),t.bindCLIShortcuts({print:!0})}catch(e){Z("Failed to start dev server:",e),process.exit(1)}}a();var Ot=require("vite");var ii=O(require("path")),ze=O(require("fs"));async function ni(r=process.cwd()){let e=!1,t=ii.default.resolve(r,"index.html");try{if(!ze.default.existsSync(t)){let s=await V("docs",r);ze.default.writeFileSync(t,nt(s),"utf-8"),e=!0}let o=await He(r,"production");await(0,Ot.build)(o),Ue("Build completed successfully.")}catch(o){Z("Build failed:",o),process.exit(1)}finally{e&&ze.default.existsSync(t)&&ze.default.unlinkSync(t)}}async function ai(r=process.cwd()){try{let e=await He(r,"production");(await(0,Ot.preview)(e)).printUrls()}catch(e){Z("Failed to start preview server:",e),process.exit(1)}}a();var se=O(require("path")),Xe=O(require("fs")),ci=O(require("fast-glob"));W();async function li(r=process.cwd()){let{colors:e}=Ve;Ge(`${e.bold}Running documentation health check...${e.reset}
|
|
79
|
-
`);let t=performance.now();try{let o=await V("docs",r),s=se.default.resolve(r,"docs");Xe.default.existsSync(s)||(Z(`Documentation directory not found at ${s}`),process.exit(1));let i=await(0,ci.default)(["**/*.md","**/*.mdx"],{cwd:s,absolute:!0,suppressErrors:!0}),n=0,l=0,p=0,c=new Map,d=(m,S)=>{let $=se.default.relative(s,m),h=c.get($);h||(h=[],c.set($,h)),h.push(S),S.level==="high"?n++:S.level==="warning"?l++:S.level==="low"&&p++},f="/docs";for(let m of i){let{data:S,content:$}=et(m);S.title||d(m,{level:"warning",message:'Missing "title" in frontmatter.',suggestion:"Add `title: Your Title` to the YAML frontmatter at the top of the file."}),S.description||d(m,{level:"low",message:'Missing "description" in frontmatter.',suggestion:"Adding a description helps with SEO and search previews."});let h=/\[.*?\]\((.*?)\)/g,v=/<a\s+[^>]*href=["']([^"']+)["'][^>]*>/g,b=[...$.matchAll(h),...$.matchAll(v)];for(let C of b){let R=C[1];if(!R||R.startsWith("http")||R.startsWith("https")||R.startsWith("#")||R.startsWith("mailto:")||R.startsWith("tel:")||(R=R.split("#")[0],!R))continue;let L;if(R.startsWith("/")){let N=R;(R.startsWith(f+"/")||R===f)&&(N=R.substring(f.length)),L=se.default.join(s,N)}else L=se.default.resolve(se.default.dirname(m),R);let I=["",".md",".mdx","/index.md","/index.mdx"],U=!1;for(let N of I){let Ee=L+N;if(Xe.default.existsSync(Ee)&&Xe.default.statSync(Ee).isFile()){U=!0;break}}U||d(m,{level:"high",message:`Broken internal link: "${R}"`,suggestion:`Ensure the file exists at "${L}". If it's a directory, ensure it has an "index.md" or "index.mdx".`})}}if(o.i18n){let{defaultLocale:m,locales:S}=o.i18n,$=Object.keys(S).filter(h=>h!==m);for(let h of i){let b=_(se.default.relative(s,h)).split("/");if(b[0]===m){let C=b.slice(1).join("/");for(let R of $){let L=[R,...b.slice(1)],I=se.default.join(s,...L);Xe.default.existsSync(I)||d(h,{level:"warning",message:`Missing translation for locale "${R}"`,suggestion:`Create a translated version of this file at "${R}/${C}".`})}}}}if(c.size===0)Ue(`All documentation files are healthy!
|
|
80
|
-
`);else{for(let[m,S]of c.entries()){console.log(`\u{1F4C4} ${e.bold}${m}${e.reset}`);let $=S.sort((h,v)=>{let b={high:1,warning:2,low:3};return b[h.level]-b[v.level]});for(let h of $){let v="",b="";h.level==="high"?(v="\u274C",b=e.red):h.level==="warning"?(v="\u26A0\uFE0F",b=e.yellow):(v="\u2139\uFE0F",b=e.cyan),console.log(` ${b}${v} ${h.level.toUpperCase()}:${e.reset} ${h.message}`),h.suggestion&&console.log(` ${e.gray}\u{1F4A1} Suggestion: ${h.suggestion}${e.reset}`)}console.log("")}console.log(`${e.bold}Summary:${e.reset}`),console.log(` ${e.red}${n} high-level errors${e.reset}`),console.log(` ${e.yellow}${l} warnings${e.reset}`),console.log(` ${e.cyan}${p} minor improvements${e.reset}
|
|
81
|
-
`),n>0&&Z("HIGH ERROR: Fix these to ensure your documentation builds correctly."),(l>0||p>0)&&Ge("TIP: Address warnings and suggestions for premium quality docs."),console.log("")}let E=performance.now()-t;Ge(`Finished in ${E.toFixed(2)}ms
|
|
82
|
-
`),n>0&&process.exit(1)}catch(o){Z("Failed to run doctor check:",o),process.exit(1)}}var ae=(0,ui.default)("boltdocs");ae.command("[root]","Start development server").alias("dev").action(oi);ae.command("build [root]","Build for production").action(ni);ae.command("preview [root]","Preview production build").action(ai);ae.command("doctor [root]","Check documentation health").action(li);ae.help();ae.version("2.0.0");ae.parse();
|