boltdocs 1.7.1 → 1.9.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.
Files changed (38) hide show
  1. package/dist/{SearchDialog-GOZ6X53X.css → SearchDialog-BEVZQ74P.css} +202 -15
  2. package/dist/{SearchDialog-6Z7CUAYJ.mjs → SearchDialog-MEWGAONO.mjs} +1 -1
  3. package/dist/{chunk-SFVOGJ2W.mjs → chunk-OZLYRXAD.mjs} +228 -149
  4. package/dist/client/index.css +202 -15
  5. package/dist/client/index.d.mts +25 -4
  6. package/dist/client/index.d.ts +25 -4
  7. package/dist/client/index.js +439 -309
  8. package/dist/client/index.mjs +29 -1
  9. package/dist/client/ssr.css +202 -15
  10. package/dist/client/ssr.d.mts +1 -1
  11. package/dist/client/ssr.d.ts +1 -1
  12. package/dist/client/ssr.js +276 -175
  13. package/dist/client/ssr.mjs +1 -1
  14. package/dist/{config-D68h41CA.d.ts → config-BsFQ-ErD.d.mts} +9 -0
  15. package/dist/{config-D68h41CA.d.mts → config-BsFQ-ErD.d.ts} +9 -0
  16. package/dist/node/index.d.mts +4 -2
  17. package/dist/node/index.d.ts +4 -2
  18. package/dist/node/index.js +2 -1
  19. package/dist/node/index.mjs +2 -1
  20. package/dist/{types-BbceAHA0.d.mts → types-Dj-bfnC3.d.mts} +2 -0
  21. package/dist/{types-BbceAHA0.d.ts → types-Dj-bfnC3.d.ts} +2 -0
  22. package/package.json +1 -1
  23. package/src/client/index.ts +2 -0
  24. package/src/client/theme/components/mdx/Field.tsx +60 -0
  25. package/src/client/theme/components/mdx/index.ts +3 -0
  26. package/src/client/theme/components/mdx/mdx-components.css +95 -0
  27. package/src/client/theme/styles/variables.css +1 -1
  28. package/src/client/theme/styles.css +1 -0
  29. package/src/client/theme/ui/CopyMarkdown/CopyMarkdown.tsx +82 -0
  30. package/src/client/theme/ui/CopyMarkdown/copy-markdown.css +114 -0
  31. package/src/client/theme/ui/CopyMarkdown/index.ts +1 -0
  32. package/src/client/theme/ui/Layout/Layout.tsx +7 -0
  33. package/src/client/theme/ui/Layout/base.css +18 -1
  34. package/src/client/theme/ui/Link/link-preview.css +1 -20
  35. package/src/client/types.ts +2 -0
  36. package/src/node/config.ts +6 -0
  37. package/src/node/routes/parser.ts +1 -0
  38. package/src/node/routes/types.ts +2 -0
@@ -6,7 +6,7 @@ import {
6
6
  // src/client/theme/ui/Navbar/Navbar.tsx
7
7
  import { Suspense as Suspense2, lazy as lazy2 } from "react";
8
8
  import { Link as Link2, useLocation as useLocation11 } from "react-router-dom";
9
- import { ChevronDown as ChevronDown3 } from "lucide-react";
9
+ import { ChevronDown as ChevronDown4 } from "lucide-react";
10
10
 
11
11
  // src/client/theme/ui/LanguageSwitcher/LanguageSwitcher.tsx
12
12
  import { useState, useRef, useEffect } from "react";
@@ -326,11 +326,11 @@ function GithubStars({ repo }) {
326
326
  }
327
327
 
328
328
  // src/client/theme/ui/Navbar/Tabs.tsx
329
- import { useEffect as useEffect10, useRef as useRef6, useState as useState12 } from "react";
329
+ import { useEffect as useEffect11, useRef as useRef7, useState as useState13 } from "react";
330
330
  import { useLocation as useLocation10 } from "react-router-dom";
331
331
 
332
332
  // src/client/theme/ui/Link/Link.tsx
333
- import React10 from "react";
333
+ import React11 from "react";
334
334
  import {
335
335
  Link as RouterLink,
336
336
  NavLink as RouterNavLink,
@@ -377,7 +377,7 @@ function PreloadProvider({
377
377
  }
378
378
 
379
379
  // src/client/app/index.tsx
380
- import React9, { useEffect as useEffect8, useState as useState10 } from "react";
380
+ import React10, { useEffect as useEffect9, useState as useState11 } from "react";
381
381
  import ReactDOM from "react-dom/client";
382
382
  import {
383
383
  BrowserRouter,
@@ -388,7 +388,7 @@ import {
388
388
  } from "react-router-dom";
389
389
 
390
390
  // src/client/theme/ui/Layout/Layout.tsx
391
- import React7 from "react";
391
+ import React8 from "react";
392
392
  import { useLocation as useLocation7 } from "react-router-dom";
393
393
  import { ChevronLeft, ChevronRight as ChevronRight3 } from "lucide-react";
394
394
 
@@ -925,8 +925,78 @@ var ErrorBoundary = class extends Component {
925
925
  }
926
926
  };
927
927
 
928
- // src/client/theme/ui/Layout/Layout.tsx
928
+ // src/client/theme/ui/CopyMarkdown/CopyMarkdown.tsx
929
+ import { useState as useState8, useRef as useRef4, useEffect as useEffect8 } from "react";
930
+ import { Copy, ChevronDown as ChevronDown3, Check, ExternalLink } from "lucide-react";
929
931
  import { jsx as jsx16, jsxs as jsxs10 } from "react/jsx-runtime";
932
+ function CopyMarkdown({ content, config }) {
933
+ const [isOpen, setIsOpen] = useState8(false);
934
+ const [copied, setCopied] = useState8(false);
935
+ const dropdownRef = useRef4(null);
936
+ const isEnabled = config !== false;
937
+ const buttonText = typeof config === "object" ? config.text || "Copy Markdown" : "Copy Markdown";
938
+ useEffect8(() => {
939
+ function handleClickOutside(event) {
940
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
941
+ setIsOpen(false);
942
+ }
943
+ }
944
+ document.addEventListener("mousedown", handleClickOutside);
945
+ return () => document.removeEventListener("mousedown", handleClickOutside);
946
+ }, []);
947
+ if (!isEnabled || !content) return null;
948
+ const handleCopy = () => {
949
+ navigator.clipboard.writeText(content);
950
+ setCopied(true);
951
+ setIsOpen(false);
952
+ setTimeout(() => setCopied(false), 2e3);
953
+ };
954
+ const handleOpenRaw = () => {
955
+ const blob = new Blob([content], { type: "text/plain;charset=utf-8" });
956
+ const url = URL.createObjectURL(blob);
957
+ window.open(url, "_blank");
958
+ setIsOpen(false);
959
+ };
960
+ return /* @__PURE__ */ jsxs10("div", { className: "boltdocs-copy-markdown", ref: dropdownRef, children: [
961
+ /* @__PURE__ */ jsxs10("div", { className: "copy-btn-group", children: [
962
+ /* @__PURE__ */ jsxs10(
963
+ "button",
964
+ {
965
+ className: "copy-btn",
966
+ onClick: handleCopy,
967
+ "aria-label": "Copy Markdown",
968
+ children: [
969
+ copied ? /* @__PURE__ */ jsx16(Check, { size: 16 }) : /* @__PURE__ */ jsx16(Copy, { size: 16 }),
970
+ /* @__PURE__ */ jsx16("span", { className: "copy-label", children: copied ? "Copied!" : buttonText })
971
+ ]
972
+ }
973
+ ),
974
+ /* @__PURE__ */ jsx16(
975
+ "button",
976
+ {
977
+ className: `copy-dropdown-toggle ${isOpen ? "is-active" : ""}`,
978
+ onClick: () => setIsOpen(!isOpen),
979
+ "aria-label": "More options",
980
+ "aria-expanded": isOpen,
981
+ children: /* @__PURE__ */ jsx16(ChevronDown3, { size: 14, className: "arrow-icon" })
982
+ }
983
+ )
984
+ ] }),
985
+ isOpen && /* @__PURE__ */ jsxs10("div", { className: "copy-dropdown", children: [
986
+ /* @__PURE__ */ jsxs10("button", { className: "copy-option", onClick: handleCopy, children: [
987
+ /* @__PURE__ */ jsx16(Copy, { size: 14 }),
988
+ "Copy Markdown"
989
+ ] }),
990
+ /* @__PURE__ */ jsxs10("button", { className: "copy-option", onClick: handleOpenRaw, children: [
991
+ /* @__PURE__ */ jsx16(ExternalLink, { size: 14 }),
992
+ "View as Markdown"
993
+ ] })
994
+ ] })
995
+ ] });
996
+ }
997
+
998
+ // src/client/theme/ui/Layout/Layout.tsx
999
+ import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
930
1000
  function ThemeLayout({
931
1001
  config,
932
1002
  routes,
@@ -958,14 +1028,14 @@ function ThemeLayout({
958
1028
  const prevPage = localIndex > 0 ? filteredRoutes[localIndex - 1] : null;
959
1029
  const nextPage = localIndex >= 0 && localIndex < filteredRoutes.length - 1 ? filteredRoutes[localIndex + 1] : null;
960
1030
  const { preload } = usePreload();
961
- React7.useEffect(() => {
1031
+ React8.useEffect(() => {
962
1032
  if (prevPage?.path) preload(prevPage.path);
963
1033
  if (nextPage?.path) preload(nextPage.path);
964
1034
  }, [prevPage, nextPage, preload]);
965
- return /* @__PURE__ */ jsxs10("div", { className: `boltdocs-layout ${className}`, style, children: [
966
- /* @__PURE__ */ jsx16(ProgressBar, {}),
967
- background !== void 0 ? background : /* @__PURE__ */ jsx16(BackgroundGradient, {}),
968
- head !== void 0 ? head : /* @__PURE__ */ jsx16(
1035
+ return /* @__PURE__ */ jsxs11("div", { className: `boltdocs-layout ${className}`, style, children: [
1036
+ /* @__PURE__ */ jsx17(ProgressBar, {}),
1037
+ background !== void 0 ? background : /* @__PURE__ */ jsx17(BackgroundGradient, {}),
1038
+ head !== void 0 ? head : /* @__PURE__ */ jsx17(
969
1039
  Head,
970
1040
  {
971
1041
  siteTitle,
@@ -973,7 +1043,7 @@ function ThemeLayout({
973
1043
  routes
974
1044
  }
975
1045
  ),
976
- navbar !== void 0 ? navbar : /* @__PURE__ */ jsx16(
1046
+ navbar !== void 0 ? navbar : /* @__PURE__ */ jsx17(
977
1047
  Navbar,
978
1048
  {
979
1049
  config,
@@ -983,43 +1053,52 @@ function ThemeLayout({
983
1053
  currentVersion
984
1054
  }
985
1055
  ),
986
- /* @__PURE__ */ jsxs10("div", { className: "boltdocs-main-container", children: [
987
- sidebar !== void 0 ? sidebar : /* @__PURE__ */ jsx16(Sidebar, { routes: filteredRoutes, config }),
988
- /* @__PURE__ */ jsxs10("main", { className: "boltdocs-content", children: [
989
- breadcrumbs !== void 0 ? breadcrumbs : /* @__PURE__ */ jsx16(Breadcrumbs, { routes: filteredRoutes, config }),
990
- /* @__PURE__ */ jsx16("div", { className: "boltdocs-page", children: /* @__PURE__ */ jsx16(ErrorBoundary, { children }) }),
991
- (prevPage || nextPage) && /* @__PURE__ */ jsxs10("nav", { className: "page-nav", "aria-label": "Pagination", children: [
992
- prevPage ? /* @__PURE__ */ jsxs10(
1056
+ /* @__PURE__ */ jsxs11("div", { className: "boltdocs-main-container", children: [
1057
+ sidebar !== void 0 ? sidebar : /* @__PURE__ */ jsx17(Sidebar, { routes: filteredRoutes, config }),
1058
+ /* @__PURE__ */ jsxs11("main", { className: "boltdocs-content", children: [
1059
+ breadcrumbs !== void 0 ? breadcrumbs : /* @__PURE__ */ jsx17(Breadcrumbs, { routes: filteredRoutes, config }),
1060
+ /* @__PURE__ */ jsxs11("div", { className: "boltdocs-page", children: [
1061
+ /* @__PURE__ */ jsx17("div", { className: "boltdocs-page-header", children: /* @__PURE__ */ jsx17(
1062
+ CopyMarkdown,
1063
+ {
1064
+ content: routes[currentIndex]?._rawContent,
1065
+ config: config.themeConfig?.copyMarkdown
1066
+ }
1067
+ ) }),
1068
+ /* @__PURE__ */ jsx17(ErrorBoundary, { children })
1069
+ ] }),
1070
+ (prevPage || nextPage) && /* @__PURE__ */ jsxs11("nav", { className: "page-nav", "aria-label": "Pagination", children: [
1071
+ prevPage ? /* @__PURE__ */ jsxs11(
993
1072
  Link,
994
1073
  {
995
1074
  to: prevPage.path || "/",
996
1075
  className: "page-nav-link page-nav-link--prev",
997
1076
  children: [
998
- /* @__PURE__ */ jsxs10("div", { className: "page-nav-info", children: [
999
- /* @__PURE__ */ jsx16("span", { className: "page-nav-label", children: "Previous" }),
1000
- /* @__PURE__ */ jsx16("span", { className: "page-nav-title", children: prevPage.title })
1077
+ /* @__PURE__ */ jsxs11("div", { className: "page-nav-info", children: [
1078
+ /* @__PURE__ */ jsx17("span", { className: "page-nav-label", children: "Previous" }),
1079
+ /* @__PURE__ */ jsx17("span", { className: "page-nav-title", children: prevPage.title })
1001
1080
  ] }),
1002
- /* @__PURE__ */ jsx16(ChevronLeft, { className: "page-nav-arrow", size: 16 })
1081
+ /* @__PURE__ */ jsx17(ChevronLeft, { className: "page-nav-arrow", size: 16 })
1003
1082
  ]
1004
1083
  }
1005
- ) : /* @__PURE__ */ jsx16("span", {}),
1006
- nextPage ? /* @__PURE__ */ jsxs10(
1084
+ ) : /* @__PURE__ */ jsx17("span", {}),
1085
+ nextPage ? /* @__PURE__ */ jsxs11(
1007
1086
  Link,
1008
1087
  {
1009
1088
  to: nextPage.path || "/",
1010
1089
  className: "page-nav-link page-nav-link--next",
1011
1090
  children: [
1012
- /* @__PURE__ */ jsxs10("div", { className: "page-nav-info", children: [
1013
- /* @__PURE__ */ jsx16("span", { className: "page-nav-label", children: "Next" }),
1014
- /* @__PURE__ */ jsx16("span", { className: "page-nav-title", children: nextPage.title })
1091
+ /* @__PURE__ */ jsxs11("div", { className: "page-nav-info", children: [
1092
+ /* @__PURE__ */ jsx17("span", { className: "page-nav-label", children: "Next" }),
1093
+ /* @__PURE__ */ jsx17("span", { className: "page-nav-title", children: nextPage.title })
1015
1094
  ] }),
1016
- /* @__PURE__ */ jsx16(ChevronRight3, { className: "page-nav-arrow", size: 16 })
1095
+ /* @__PURE__ */ jsx17(ChevronRight3, { className: "page-nav-arrow", size: 16 })
1017
1096
  ]
1018
1097
  }
1019
- ) : /* @__PURE__ */ jsx16("span", {})
1098
+ ) : /* @__PURE__ */ jsx17("span", {})
1020
1099
  ] })
1021
1100
  ] }),
1022
- toc !== void 0 ? toc : /* @__PURE__ */ jsx16(
1101
+ toc !== void 0 ? toc : /* @__PURE__ */ jsx17(
1023
1102
  OnThisPage,
1024
1103
  {
1025
1104
  headings: routes[currentIndex]?.headings,
@@ -1034,25 +1113,25 @@ function ThemeLayout({
1034
1113
 
1035
1114
  // src/client/theme/ui/NotFound/NotFound.tsx
1036
1115
  import { ArrowLeft } from "lucide-react";
1037
- import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
1116
+ import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1038
1117
  function NotFound() {
1039
- return /* @__PURE__ */ jsx17("div", { className: "boltdocs-not-found", children: /* @__PURE__ */ jsxs11("div", { className: "not-found-content", children: [
1040
- /* @__PURE__ */ jsx17("span", { className: "not-found-code", children: "404" }),
1041
- /* @__PURE__ */ jsx17("h1", { className: "not-found-title", children: "Page Not Found" }),
1042
- /* @__PURE__ */ jsx17("p", { className: "not-found-text", children: "The page you're looking for doesn't exist or has been moved." }),
1043
- /* @__PURE__ */ jsxs11(Link, { to: "/", className: "not-found-link", children: [
1044
- /* @__PURE__ */ jsx17(ArrowLeft, { size: 16 }),
1118
+ return /* @__PURE__ */ jsx18("div", { className: "boltdocs-not-found", children: /* @__PURE__ */ jsxs12("div", { className: "not-found-content", children: [
1119
+ /* @__PURE__ */ jsx18("span", { className: "not-found-code", children: "404" }),
1120
+ /* @__PURE__ */ jsx18("h1", { className: "not-found-title", children: "Page Not Found" }),
1121
+ /* @__PURE__ */ jsx18("p", { className: "not-found-text", children: "The page you're looking for doesn't exist or has been moved." }),
1122
+ /* @__PURE__ */ jsxs12(Link, { to: "/", className: "not-found-link", children: [
1123
+ /* @__PURE__ */ jsx18(ArrowLeft, { size: 16 }),
1045
1124
  " Go to Home"
1046
1125
  ] })
1047
1126
  ] }) });
1048
1127
  }
1049
1128
 
1050
1129
  // src/client/theme/ui/Loading/Loading.tsx
1051
- import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
1130
+ import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
1052
1131
  function Loading() {
1053
- return /* @__PURE__ */ jsxs12("div", { className: "boltdocs-loading", children: [
1054
- /* @__PURE__ */ jsx18("div", { className: "loading-spinner" }),
1055
- /* @__PURE__ */ jsx18("p", { className: "loading-text", children: "Loading..." })
1132
+ return /* @__PURE__ */ jsxs13("div", { className: "boltdocs-loading", children: [
1133
+ /* @__PURE__ */ jsx19("div", { className: "loading-spinner" }),
1134
+ /* @__PURE__ */ jsx19("p", { className: "loading-text", children: "Loading..." })
1056
1135
  ] });
1057
1136
  }
1058
1137
 
@@ -1068,34 +1147,34 @@ import {
1068
1147
  import { Link as LucideLink } from "lucide-react";
1069
1148
 
1070
1149
  // src/client/theme/components/CodeBlock/CodeBlock.tsx
1071
- import { useState as useState9, useRef as useRef4, useCallback as useCallback3 } from "react";
1072
- import { Copy, Check } from "lucide-react";
1073
- import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
1150
+ import { useState as useState10, useRef as useRef5, useCallback as useCallback3 } from "react";
1151
+ import { Copy as Copy2, Check as Check2 } from "lucide-react";
1152
+ import { jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
1074
1153
  function CodeBlock({ children, ...props }) {
1075
- const [copied, setCopied] = useState9(false);
1076
- const preRef = useRef4(null);
1154
+ const [copied, setCopied] = useState10(false);
1155
+ const preRef = useRef5(null);
1077
1156
  const handleCopy = useCallback3(async () => {
1078
1157
  const code = preRef.current?.textContent || "";
1079
1158
  copyToClipboard(code);
1080
1159
  setCopied(true);
1081
1160
  setTimeout(() => setCopied(false), 2e3);
1082
1161
  }, []);
1083
- return /* @__PURE__ */ jsxs13("div", { className: "code-block-wrapper", children: [
1084
- /* @__PURE__ */ jsx19(
1162
+ return /* @__PURE__ */ jsxs14("div", { className: "code-block-wrapper", children: [
1163
+ /* @__PURE__ */ jsx20(
1085
1164
  "button",
1086
1165
  {
1087
1166
  className: `code-block-copy ${copied ? "copied" : ""}`,
1088
1167
  onClick: handleCopy,
1089
1168
  "aria-label": "Copy code",
1090
- children: copied ? /* @__PURE__ */ jsx19(Check, { size: 16 }) : /* @__PURE__ */ jsx19(Copy, { size: 16 })
1169
+ children: copied ? /* @__PURE__ */ jsx20(Check2, { size: 16 }) : /* @__PURE__ */ jsx20(Copy2, { size: 16 })
1091
1170
  }
1092
1171
  ),
1093
- /* @__PURE__ */ jsx19("pre", { ref: preRef, ...props, children })
1172
+ /* @__PURE__ */ jsx20("pre", { ref: preRef, ...props, children })
1094
1173
  ] });
1095
1174
  }
1096
1175
 
1097
1176
  // src/client/app/index.tsx
1098
- import { jsx as jsx20, jsxs as jsxs14 } from "react/jsx-runtime";
1177
+ import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
1099
1178
  var ConfigContext = createContext2(null);
1100
1179
  function useConfig() {
1101
1180
  return useContext2(ConfigContext);
@@ -1114,21 +1193,21 @@ var Heading = ({
1114
1193
  children
1115
1194
  }) => {
1116
1195
  const Tag = `h${level}`;
1117
- return /* @__PURE__ */ jsxs14(Tag, { id, className: "boltdocs-heading", children: [
1196
+ return /* @__PURE__ */ jsxs15(Tag, { id, className: "boltdocs-heading", children: [
1118
1197
  children,
1119
- id && /* @__PURE__ */ jsx20("a", { href: `#${id}`, className: "header-anchor", "aria-label": "Anchor", children: /* @__PURE__ */ jsx20(LucideLink, { size: 16 }) })
1198
+ id && /* @__PURE__ */ jsx21("a", { href: `#${id}`, className: "header-anchor", "aria-label": "Anchor", children: /* @__PURE__ */ jsx21(LucideLink, { size: 16 }) })
1120
1199
  ] });
1121
1200
  };
1122
1201
  var mdxComponents = {
1123
- h1: (props) => /* @__PURE__ */ jsx20(Heading, { level: 1, ...props }),
1124
- h2: (props) => /* @__PURE__ */ jsx20(Heading, { level: 2, ...props }),
1125
- h3: (props) => /* @__PURE__ */ jsx20(Heading, { level: 3, ...props }),
1126
- h4: (props) => /* @__PURE__ */ jsx20(Heading, { level: 4, ...props }),
1127
- h5: (props) => /* @__PURE__ */ jsx20(Heading, { level: 5, ...props }),
1128
- h6: (props) => /* @__PURE__ */ jsx20(Heading, { level: 6, ...props }),
1129
- pre: (props) => /* @__PURE__ */ jsx20(CodeBlock, { ...props, children: props.children }),
1130
- video: (props) => /* @__PURE__ */ jsx20(Suspense, { fallback: /* @__PURE__ */ jsx20("div", { className: "video-skeleton" }), children: /* @__PURE__ */ jsx20(Video, { ...props }) }),
1131
- PackageManagerTabs: (props) => /* @__PURE__ */ jsx20(Suspense, { fallback: /* @__PURE__ */ jsx20("div", { className: "pkg-tabs-skeleton" }), children: /* @__PURE__ */ jsx20(PackageManagerTabs, { ...props }) })
1202
+ h1: (props) => /* @__PURE__ */ jsx21(Heading, { level: 1, ...props }),
1203
+ h2: (props) => /* @__PURE__ */ jsx21(Heading, { level: 2, ...props }),
1204
+ h3: (props) => /* @__PURE__ */ jsx21(Heading, { level: 3, ...props }),
1205
+ h4: (props) => /* @__PURE__ */ jsx21(Heading, { level: 4, ...props }),
1206
+ h5: (props) => /* @__PURE__ */ jsx21(Heading, { level: 5, ...props }),
1207
+ h6: (props) => /* @__PURE__ */ jsx21(Heading, { level: 6, ...props }),
1208
+ pre: (props) => /* @__PURE__ */ jsx21(CodeBlock, { ...props, children: props.children }),
1209
+ video: (props) => /* @__PURE__ */ jsx21(Suspense, { fallback: /* @__PURE__ */ jsx21("div", { className: "video-skeleton" }), children: /* @__PURE__ */ jsx21(Video, { ...props }) }),
1210
+ PackageManagerTabs: (props) => /* @__PURE__ */ jsx21(Suspense, { fallback: /* @__PURE__ */ jsx21("div", { className: "pkg-tabs-skeleton" }), children: /* @__PURE__ */ jsx21(PackageManagerTabs, { ...props }) })
1132
1211
  };
1133
1212
  function AppShell({
1134
1213
  initialRoutes,
@@ -1139,8 +1218,8 @@ function AppShell({
1139
1218
  homePage: HomePage,
1140
1219
  components: customComponents = {}
1141
1220
  }) {
1142
- const [routesInfo, setRoutesInfo] = useState10(initialRoutes);
1143
- const [config] = useState10(initialConfig);
1221
+ const [routesInfo, setRoutesInfo] = useState11(initialRoutes);
1222
+ const [config] = useState11(initialConfig);
1144
1223
  const resolveRoutes = (infos) => {
1145
1224
  return infos.filter(
1146
1225
  (route) => !(HomePage && (route.path === "/" || route.path === ""))
@@ -1151,35 +1230,35 @@ function AppShell({
1151
1230
  const loader = loaderKey ? modules[loaderKey] : null;
1152
1231
  return {
1153
1232
  ...route,
1154
- Component: React9.lazy(() => {
1233
+ Component: React10.lazy(() => {
1155
1234
  if (!loader)
1156
- return Promise.resolve({ default: () => /* @__PURE__ */ jsx20(NotFound, {}) });
1235
+ return Promise.resolve({ default: () => /* @__PURE__ */ jsx21(NotFound, {}) });
1157
1236
  return loader();
1158
1237
  })
1159
1238
  };
1160
1239
  });
1161
1240
  };
1162
- const [resolvedRoutes, setResolvedRoutes] = useState10(
1241
+ const [resolvedRoutes, setResolvedRoutes] = useState11(
1163
1242
  () => resolveRoutes(initialRoutes)
1164
1243
  );
1165
- useEffect8(() => {
1244
+ useEffect9(() => {
1166
1245
  if (hot) {
1167
1246
  hot.on("boltdocs:routes-update", (newRoutes) => {
1168
1247
  setRoutesInfo(newRoutes);
1169
1248
  });
1170
1249
  }
1171
1250
  }, [hot]);
1172
- useEffect8(() => {
1251
+ useEffect9(() => {
1173
1252
  setResolvedRoutes(resolveRoutes(routesInfo));
1174
1253
  }, [routesInfo, modules, docsDirName]);
1175
- return /* @__PURE__ */ jsx20(ConfigContext.Provider, { value: config, children: /* @__PURE__ */ jsxs14(PreloadProvider, { routes: routesInfo, modules, children: [
1176
- /* @__PURE__ */ jsx20(ScrollHandler, {}),
1177
- /* @__PURE__ */ jsxs14(Routes, { children: [
1178
- HomePage && /* @__PURE__ */ jsx20(
1254
+ return /* @__PURE__ */ jsx21(ConfigContext.Provider, { value: config, children: /* @__PURE__ */ jsxs15(PreloadProvider, { routes: routesInfo, modules, children: [
1255
+ /* @__PURE__ */ jsx21(ScrollHandler, {}),
1256
+ /* @__PURE__ */ jsxs15(Routes, { children: [
1257
+ HomePage && /* @__PURE__ */ jsx21(
1179
1258
  Route,
1180
1259
  {
1181
1260
  path: "/",
1182
- element: /* @__PURE__ */ jsx20(
1261
+ element: /* @__PURE__ */ jsx21(
1183
1262
  ThemeLayout,
1184
1263
  {
1185
1264
  config,
@@ -1188,20 +1267,20 @@ function AppShell({
1188
1267
  toc: null,
1189
1268
  breadcrumbs: null,
1190
1269
  ...config.themeConfig?.layoutProps,
1191
- children: /* @__PURE__ */ jsx20(HomePage, {})
1270
+ children: /* @__PURE__ */ jsx21(HomePage, {})
1192
1271
  }
1193
1272
  )
1194
1273
  }
1195
1274
  ),
1196
- /* @__PURE__ */ jsx20(
1275
+ /* @__PURE__ */ jsx21(
1197
1276
  Route,
1198
1277
  {
1199
- element: /* @__PURE__ */ jsx20(DocsLayout, { config, routes: routesInfo }),
1200
- children: resolvedRoutes.map((route) => /* @__PURE__ */ jsx20(
1278
+ element: /* @__PURE__ */ jsx21(DocsLayout, { config, routes: routesInfo }),
1279
+ children: resolvedRoutes.map((route) => /* @__PURE__ */ jsx21(
1201
1280
  Route,
1202
1281
  {
1203
1282
  path: route.path === "" ? "/" : route.path,
1204
- element: /* @__PURE__ */ jsx20(React9.Suspense, { fallback: /* @__PURE__ */ jsx20(Loading, {}), children: /* @__PURE__ */ jsx20(
1283
+ element: /* @__PURE__ */ jsx21(React10.Suspense, { fallback: /* @__PURE__ */ jsx21(Loading, {}), children: /* @__PURE__ */ jsx21(
1205
1284
  MdxPage,
1206
1285
  {
1207
1286
  Component: route.Component,
@@ -1214,17 +1293,17 @@ function AppShell({
1214
1293
  },
1215
1294
  "docs-layout"
1216
1295
  ),
1217
- /* @__PURE__ */ jsx20(
1296
+ /* @__PURE__ */ jsx21(
1218
1297
  Route,
1219
1298
  {
1220
1299
  path: "*",
1221
- element: /* @__PURE__ */ jsx20(
1300
+ element: /* @__PURE__ */ jsx21(
1222
1301
  ThemeLayout,
1223
1302
  {
1224
1303
  config,
1225
1304
  routes: routesInfo,
1226
1305
  ...config.themeConfig?.layoutProps,
1227
- children: /* @__PURE__ */ jsx20(NotFound, {})
1306
+ children: /* @__PURE__ */ jsx21(NotFound, {})
1228
1307
  }
1229
1308
  )
1230
1309
  }
@@ -1261,13 +1340,13 @@ function DocsLayout({
1261
1340
  config,
1262
1341
  routes
1263
1342
  }) {
1264
- return /* @__PURE__ */ jsx20(
1343
+ return /* @__PURE__ */ jsx21(
1265
1344
  ThemeLayout,
1266
1345
  {
1267
1346
  config,
1268
1347
  routes,
1269
1348
  ...config.themeConfig?.layoutProps,
1270
- children: /* @__PURE__ */ jsx20(Outlet, {})
1349
+ children: /* @__PURE__ */ jsx21(Outlet, {})
1271
1350
  }
1272
1351
  );
1273
1352
  }
@@ -1276,7 +1355,7 @@ function MdxPage({
1276
1355
  customComponents = {}
1277
1356
  }) {
1278
1357
  const allComponents = { ...mdxComponents, ...customComponents };
1279
- return /* @__PURE__ */ jsx20(MDXProvider, { components: allComponents, children: /* @__PURE__ */ jsx20(Component2, {}) });
1358
+ return /* @__PURE__ */ jsx21(MDXProvider, { components: allComponents, children: /* @__PURE__ */ jsx21(Component2, {}) });
1280
1359
  }
1281
1360
  function createBoltdocsApp(options) {
1282
1361
  const { target, routes, docsDirName, config, modules, hot, homePage } = options;
@@ -1286,7 +1365,7 @@ function createBoltdocsApp(options) {
1286
1365
  `[boltdocs] Mount target "${target}" not found in document.`
1287
1366
  );
1288
1367
  }
1289
- const app = /* @__PURE__ */ jsx20(React9.StrictMode, { children: /* @__PURE__ */ jsx20(BrowserRouter, { children: /* @__PURE__ */ jsx20(
1368
+ const app = /* @__PURE__ */ jsx21(React10.StrictMode, { children: /* @__PURE__ */ jsx21(BrowserRouter, { children: /* @__PURE__ */ jsx21(
1290
1369
  AppShell,
1291
1370
  {
1292
1371
  initialRoutes: routes,
@@ -1303,9 +1382,9 @@ function createBoltdocsApp(options) {
1303
1382
  }
1304
1383
 
1305
1384
  // src/client/theme/ui/Link/LinkPreview.tsx
1306
- import { useEffect as useEffect9, useState as useState11, useRef as useRef5 } from "react";
1385
+ import { useEffect as useEffect10, useState as useState12, useRef as useRef6 } from "react";
1307
1386
  import { createPortal } from "react-dom";
1308
- import { jsx as jsx21, jsxs as jsxs15 } from "react/jsx-runtime";
1387
+ import { jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
1309
1388
  function LinkPreview({
1310
1389
  isVisible,
1311
1390
  title,
@@ -1313,9 +1392,9 @@ function LinkPreview({
1313
1392
  x,
1314
1393
  y
1315
1394
  }) {
1316
- const ref = useRef5(null);
1317
- const [position, setPosition] = useState11({ top: 0, left: 0 });
1318
- useEffect9(() => {
1395
+ const ref = useRef6(null);
1396
+ const [position, setPosition] = useState12({ top: 0, left: 0 });
1397
+ useEffect10(() => {
1319
1398
  if (ref.current) {
1320
1399
  const rect = ref.current.getBoundingClientRect();
1321
1400
  const padding = 12;
@@ -1331,7 +1410,7 @@ function LinkPreview({
1331
1410
  }
1332
1411
  }, [x, y, isVisible]);
1333
1412
  return createPortal(
1334
- /* @__PURE__ */ jsx21(
1413
+ /* @__PURE__ */ jsx22(
1335
1414
  "div",
1336
1415
  {
1337
1416
  ref,
@@ -1340,9 +1419,9 @@ function LinkPreview({
1340
1419
  top: position.top,
1341
1420
  left: position.left
1342
1421
  },
1343
- children: /* @__PURE__ */ jsxs15("div", { className: "boltdocs-link-preview-content", children: [
1344
- /* @__PURE__ */ jsx21("span", { className: "boltdocs-link-preview-title", children: title }),
1345
- summary && /* @__PURE__ */ jsx21("p", { className: "boltdocs-link-preview-summary", children: summary })
1422
+ children: /* @__PURE__ */ jsxs16("div", { className: "boltdocs-link-preview-content", children: [
1423
+ /* @__PURE__ */ jsx22("span", { className: "boltdocs-link-preview-title", children: title }),
1424
+ summary && /* @__PURE__ */ jsx22("p", { className: "boltdocs-link-preview-summary", children: summary })
1346
1425
  ] })
1347
1426
  }
1348
1427
  ),
@@ -1351,7 +1430,7 @@ function LinkPreview({
1351
1430
  }
1352
1431
 
1353
1432
  // src/client/theme/ui/Link/Link.tsx
1354
- import { Fragment, jsx as jsx22, jsxs as jsxs16 } from "react/jsx-runtime";
1433
+ import { Fragment, jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
1355
1434
  function useLocalizedTo(to) {
1356
1435
  const location = useLocation9();
1357
1436
  const config = useConfig();
@@ -1407,7 +1486,7 @@ function useLocalizedTo(to) {
1407
1486
  }
1408
1487
  return finalPath === basePath ? basePath : finalPath;
1409
1488
  }
1410
- var Link = React10.forwardRef(
1489
+ var Link = React11.forwardRef(
1411
1490
  (props, ref) => {
1412
1491
  const {
1413
1492
  boltdocsPrefetch = "hover",
@@ -1425,7 +1504,7 @@ var Link = React10.forwardRef(
1425
1504
  const config = useConfig();
1426
1505
  const navigate = useNavigate3();
1427
1506
  const shouldShowPreview = boltdocsPreview && config?.themeConfig?.linkPreview !== false;
1428
- const [preview, setPreview] = React10.useState({ visible: false, x: 0, y: 0, title: "" });
1507
+ const [preview, setPreview] = React11.useState({ visible: false, x: 0, y: 0, title: "" });
1429
1508
  const handleMouseEnter = (e) => {
1430
1509
  onMouseEnter?.(e);
1431
1510
  if (boltdocsPrefetch === "hover" && typeof localizedTo === "string" && localizedTo.startsWith("/")) {
@@ -1474,13 +1553,13 @@ var Link = React10.forwardRef(
1474
1553
  }
1475
1554
  if (typeof localizedTo === "string" && !localizedTo.startsWith("http")) {
1476
1555
  e.preventDefault();
1477
- React10.startTransition(() => {
1556
+ React11.startTransition(() => {
1478
1557
  navigate(localizedTo);
1479
1558
  });
1480
1559
  }
1481
1560
  };
1482
- return /* @__PURE__ */ jsxs16(Fragment, { children: [
1483
- /* @__PURE__ */ jsx22(
1561
+ return /* @__PURE__ */ jsxs17(Fragment, { children: [
1562
+ /* @__PURE__ */ jsx23(
1484
1563
  RouterLink,
1485
1564
  {
1486
1565
  ref,
@@ -1494,7 +1573,7 @@ var Link = React10.forwardRef(
1494
1573
  ...rest
1495
1574
  }
1496
1575
  ),
1497
- preview.visible && shouldShowPreview && /* @__PURE__ */ jsx22(
1576
+ preview.visible && shouldShowPreview && /* @__PURE__ */ jsx23(
1498
1577
  LinkPreview,
1499
1578
  {
1500
1579
  isVisible: preview.visible,
@@ -1508,7 +1587,7 @@ var Link = React10.forwardRef(
1508
1587
  }
1509
1588
  );
1510
1589
  Link.displayName = "Link";
1511
- var NavLink = React10.forwardRef(
1590
+ var NavLink = React11.forwardRef(
1512
1591
  (props, ref) => {
1513
1592
  const {
1514
1593
  boltdocsPrefetch = "hover",
@@ -1526,7 +1605,7 @@ var NavLink = React10.forwardRef(
1526
1605
  const config = useConfig();
1527
1606
  const navigate = useNavigate3();
1528
1607
  const shouldShowPreview = boltdocsPreview && config?.themeConfig?.linkPreview !== false;
1529
- const [preview, setPreview] = React10.useState({ visible: false, x: 0, y: 0, title: "" });
1608
+ const [preview, setPreview] = React11.useState({ visible: false, x: 0, y: 0, title: "" });
1530
1609
  const handleMouseEnter = (e) => {
1531
1610
  onMouseEnter?.(e);
1532
1611
  if (boltdocsPrefetch === "hover" && typeof localizedTo === "string" && localizedTo.startsWith("/")) {
@@ -1575,13 +1654,13 @@ var NavLink = React10.forwardRef(
1575
1654
  }
1576
1655
  if (typeof localizedTo === "string" && !localizedTo.startsWith("http")) {
1577
1656
  e.preventDefault();
1578
- React10.startTransition(() => {
1657
+ React11.startTransition(() => {
1579
1658
  navigate(localizedTo);
1580
1659
  });
1581
1660
  }
1582
1661
  };
1583
- return /* @__PURE__ */ jsxs16(Fragment, { children: [
1584
- /* @__PURE__ */ jsx22(
1662
+ return /* @__PURE__ */ jsxs17(Fragment, { children: [
1663
+ /* @__PURE__ */ jsx23(
1585
1664
  RouterNavLink,
1586
1665
  {
1587
1666
  ref,
@@ -1595,7 +1674,7 @@ var NavLink = React10.forwardRef(
1595
1674
  ...rest
1596
1675
  }
1597
1676
  ),
1598
- preview.visible && shouldShowPreview && /* @__PURE__ */ jsx22(
1677
+ preview.visible && shouldShowPreview && /* @__PURE__ */ jsx23(
1599
1678
  LinkPreview,
1600
1679
  {
1601
1680
  isVisible: preview.visible,
@@ -1612,12 +1691,12 @@ NavLink.displayName = "NavLink";
1612
1691
 
1613
1692
  // src/client/theme/ui/Navbar/Tabs.tsx
1614
1693
  import * as Icons from "lucide-react";
1615
- import { jsx as jsx23, jsxs as jsxs17 } from "react/jsx-runtime";
1694
+ import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
1616
1695
  function Tabs({ tabs, routes }) {
1617
1696
  const location = useLocation10();
1618
- const containerRef = useRef6(null);
1619
- const tabRefs = useRef6([]);
1620
- const [indicatorStyle, setIndicatorStyle] = useState12({
1697
+ const containerRef = useRef7(null);
1698
+ const tabRefs = useRef7([]);
1699
+ const [indicatorStyle, setIndicatorStyle] = useState13({
1621
1700
  opacity: 0,
1622
1701
  transform: "translateX(0) scaleX(0)",
1623
1702
  width: 0
@@ -1628,7 +1707,7 @@ function Tabs({ tabs, routes }) {
1628
1707
  (tab) => currentTabId ? currentTabId === tab.id.toLowerCase() : false
1629
1708
  );
1630
1709
  const finalActiveIndex = activeIndex === -1 ? 0 : activeIndex;
1631
- useEffect10(() => {
1710
+ useEffect11(() => {
1632
1711
  const activeTab = tabRefs.current[finalActiveIndex];
1633
1712
  if (activeTab) {
1634
1713
  setIndicatorStyle({
@@ -1642,7 +1721,7 @@ function Tabs({ tabs, routes }) {
1642
1721
  const renderTabIcon = (iconName) => {
1643
1722
  if (!iconName) return null;
1644
1723
  if (iconName.trim().startsWith("<svg")) {
1645
- return /* @__PURE__ */ jsx23(
1724
+ return /* @__PURE__ */ jsx24(
1646
1725
  "span",
1647
1726
  {
1648
1727
  className: "tab-icon svg-icon",
@@ -1652,18 +1731,18 @@ function Tabs({ tabs, routes }) {
1652
1731
  }
1653
1732
  const LucideIcon = Icons[iconName];
1654
1733
  if (LucideIcon) {
1655
- return /* @__PURE__ */ jsx23(LucideIcon, { size: 16, className: "tab-icon lucide-icon" });
1734
+ return /* @__PURE__ */ jsx24(LucideIcon, { size: 16, className: "tab-icon lucide-icon" });
1656
1735
  }
1657
- return /* @__PURE__ */ jsx23("img", { src: iconName, alt: "", className: "tab-icon img-icon" });
1736
+ return /* @__PURE__ */ jsx24("img", { src: iconName, alt: "", className: "tab-icon img-icon" });
1658
1737
  };
1659
- return /* @__PURE__ */ jsx23("div", { className: "boltdocs-tabs-container", children: /* @__PURE__ */ jsxs17("div", { className: "boltdocs-tabs", ref: containerRef, children: [
1738
+ return /* @__PURE__ */ jsx24("div", { className: "boltdocs-tabs-container", children: /* @__PURE__ */ jsxs18("div", { className: "boltdocs-tabs", ref: containerRef, children: [
1660
1739
  tabs.map((tab, index) => {
1661
1740
  const isActive = index === finalActiveIndex;
1662
1741
  const firstRoute = routes.find(
1663
1742
  (r) => r.tab && r.tab.toLowerCase() === tab.id.toLowerCase()
1664
1743
  );
1665
1744
  const linkTo = firstRoute ? firstRoute.path : "#";
1666
- return /* @__PURE__ */ jsxs17(
1745
+ return /* @__PURE__ */ jsxs18(
1667
1746
  Link,
1668
1747
  {
1669
1748
  to: linkTo,
@@ -1673,20 +1752,20 @@ function Tabs({ tabs, routes }) {
1673
1752
  className: `boltdocs-tab-item ${isActive ? "active" : ""}`,
1674
1753
  children: [
1675
1754
  renderTabIcon(tab.icon),
1676
- /* @__PURE__ */ jsx23("span", { children: tab.text })
1755
+ /* @__PURE__ */ jsx24("span", { children: tab.text })
1677
1756
  ]
1678
1757
  },
1679
1758
  tab.id
1680
1759
  );
1681
1760
  }),
1682
- /* @__PURE__ */ jsx23("div", { className: "boltdocs-tab-indicator", style: indicatorStyle })
1761
+ /* @__PURE__ */ jsx24("div", { className: "boltdocs-tab-indicator", style: indicatorStyle })
1683
1762
  ] }) });
1684
1763
  }
1685
1764
 
1686
1765
  // src/client/theme/ui/Navbar/Navbar.tsx
1687
- import { jsx as jsx24, jsxs as jsxs18 } from "react/jsx-runtime";
1766
+ import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime";
1688
1767
  var SearchDialog = lazy2(
1689
- () => import("./SearchDialog-6Z7CUAYJ.mjs").then((m) => ({ default: m.SearchDialog }))
1768
+ () => import("./SearchDialog-MEWGAONO.mjs").then((m) => ({ default: m.SearchDialog }))
1690
1769
  );
1691
1770
  var ICON_MAP = {
1692
1771
  discord: Discord,
@@ -1711,9 +1790,9 @@ function Navbar({
1711
1790
  const text = item.label || item.text || "";
1712
1791
  const href = item.to || item.href || item.link || "";
1713
1792
  const isExternal = href.startsWith("http") || href.startsWith("//") || href.includes("://");
1714
- return /* @__PURE__ */ jsxs18(Link2, { to: href, target: isExternal ? "_blank" : void 0, children: [
1793
+ return /* @__PURE__ */ jsxs19(Link2, { to: href, target: isExternal ? "_blank" : void 0, children: [
1715
1794
  text,
1716
- isExternal && /* @__PURE__ */ jsx24("span", { className: "navbar-external-icon", children: /* @__PURE__ */ jsxs18(
1795
+ isExternal && /* @__PURE__ */ jsx25("span", { className: "navbar-external-icon", children: /* @__PURE__ */ jsxs19(
1717
1796
  "svg",
1718
1797
  {
1719
1798
  viewBox: "0 0 24 24",
@@ -1725,24 +1804,24 @@ function Navbar({
1725
1804
  strokeLinecap: "round",
1726
1805
  strokeLinejoin: "round",
1727
1806
  children: [
1728
- /* @__PURE__ */ jsx24("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
1729
- /* @__PURE__ */ jsx24("polyline", { points: "15 3 21 3 21 9" }),
1730
- /* @__PURE__ */ jsx24("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
1807
+ /* @__PURE__ */ jsx25("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
1808
+ /* @__PURE__ */ jsx25("polyline", { points: "15 3 21 3 21 9" }),
1809
+ /* @__PURE__ */ jsx25("line", { x1: "10", y1: "14", x2: "21", y2: "3" })
1731
1810
  ]
1732
1811
  }
1733
1812
  ) })
1734
1813
  ] }, i);
1735
1814
  };
1736
- return /* @__PURE__ */ jsxs18("header", { className: `boltdocs-navbar ${hasTabs ? "has-tabs" : ""}`, children: [
1737
- /* @__PURE__ */ jsxs18(
1815
+ return /* @__PURE__ */ jsxs19("header", { className: `boltdocs-navbar ${hasTabs ? "has-tabs" : ""}`, children: [
1816
+ /* @__PURE__ */ jsxs19(
1738
1817
  "div",
1739
1818
  {
1740
1819
  className: "navbar-container",
1741
1820
  style: { height: "var(--ld-navbar-height)" },
1742
1821
  children: [
1743
- /* @__PURE__ */ jsxs18("div", { className: "navbar-left", children: [
1744
- /* @__PURE__ */ jsx24("div", { className: "navbar-logo", children: /* @__PURE__ */ jsxs18(Link2, { to: "/", children: [
1745
- config.themeConfig?.logo ? config.themeConfig.logo.trim().startsWith("<svg") ? /* @__PURE__ */ jsx24(
1822
+ /* @__PURE__ */ jsxs19("div", { className: "navbar-left", children: [
1823
+ /* @__PURE__ */ jsx25("div", { className: "navbar-logo", children: /* @__PURE__ */ jsxs19(Link2, { to: "/", children: [
1824
+ config.themeConfig?.logo ? config.themeConfig.logo.trim().startsWith("<svg") ? /* @__PURE__ */ jsx25(
1746
1825
  "span",
1747
1826
  {
1748
1827
  className: "navbar-logo-svg",
@@ -1750,7 +1829,7 @@ function Navbar({
1750
1829
  __html: config.themeConfig.logo
1751
1830
  }
1752
1831
  }
1753
- ) : /* @__PURE__ */ jsx24(
1832
+ ) : /* @__PURE__ */ jsx25(
1754
1833
  "img",
1755
1834
  {
1756
1835
  src: config.themeConfig.logo,
@@ -1760,7 +1839,7 @@ function Navbar({
1760
1839
  ) : null,
1761
1840
  title
1762
1841
  ] }) }),
1763
- config.versions && currentVersion && allRoutes ? /* @__PURE__ */ jsx24(
1842
+ config.versions && currentVersion && allRoutes ? /* @__PURE__ */ jsx25(
1764
1843
  VersionSwitcher,
1765
1844
  {
1766
1845
  versions: config.versions,
@@ -1768,17 +1847,17 @@ function Navbar({
1768
1847
  currentLocale,
1769
1848
  allRoutes
1770
1849
  }
1771
- ) : config.themeConfig?.version ? /* @__PURE__ */ jsxs18("div", { className: "navbar-version", children: [
1850
+ ) : config.themeConfig?.version ? /* @__PURE__ */ jsxs19("div", { className: "navbar-version", children: [
1772
1851
  config.themeConfig.version,
1773
1852
  " ",
1774
- /* @__PURE__ */ jsx24(ChevronDown3, { size: 14 })
1853
+ /* @__PURE__ */ jsx25(ChevronDown4, { size: 14 })
1775
1854
  ] }) : null,
1776
- /* @__PURE__ */ jsx24("nav", { className: "navbar-links", "aria-label": "Top Navigation Left", children: leftItems.map(renderNavItem) })
1855
+ /* @__PURE__ */ jsx25("nav", { className: "navbar-links", "aria-label": "Top Navigation Left", children: leftItems.map(renderNavItem) })
1777
1856
  ] }),
1778
- /* @__PURE__ */ jsxs18("div", { className: "navbar-right", children: [
1779
- /* @__PURE__ */ jsx24("nav", { className: "navbar-links", "aria-label": "Top Navigation Right", children: rightItems.map(renderNavItem) }),
1780
- /* @__PURE__ */ jsx24(Suspense2, { fallback: /* @__PURE__ */ jsx24("div", { className: "navbar-search-placeholder" }), children: /* @__PURE__ */ jsx24(SearchDialog, { routes: routes || [] }) }),
1781
- config.i18n && currentLocale && allRoutes && /* @__PURE__ */ jsx24(
1857
+ /* @__PURE__ */ jsxs19("div", { className: "navbar-right", children: [
1858
+ /* @__PURE__ */ jsx25("nav", { className: "navbar-links", "aria-label": "Top Navigation Right", children: rightItems.map(renderNavItem) }),
1859
+ /* @__PURE__ */ jsx25(Suspense2, { fallback: /* @__PURE__ */ jsx25("div", { className: "navbar-search-placeholder" }), children: /* @__PURE__ */ jsx25(SearchDialog, { routes: routes || [] }) }),
1860
+ config.i18n && currentLocale && allRoutes && /* @__PURE__ */ jsx25(
1782
1861
  LanguageSwitcher,
1783
1862
  {
1784
1863
  i18n: config.i18n,
@@ -1786,12 +1865,12 @@ function Navbar({
1786
1865
  allRoutes
1787
1866
  }
1788
1867
  ),
1789
- /* @__PURE__ */ jsx24(ThemeToggle, {}),
1790
- config.themeConfig?.githubRepo && /* @__PURE__ */ jsx24(GithubStars, { repo: config.themeConfig.githubRepo }),
1791
- socialLinks.length > 0 && /* @__PURE__ */ jsx24("div", { className: "navbar-divider" }),
1792
- /* @__PURE__ */ jsx24("div", { className: "navbar-icons", children: socialLinks.map((link, i) => {
1868
+ /* @__PURE__ */ jsx25(ThemeToggle, {}),
1869
+ config.themeConfig?.githubRepo && /* @__PURE__ */ jsx25(GithubStars, { repo: config.themeConfig.githubRepo }),
1870
+ socialLinks.length > 0 && /* @__PURE__ */ jsx25("div", { className: "navbar-divider" }),
1871
+ /* @__PURE__ */ jsx25("div", { className: "navbar-icons", children: socialLinks.map((link, i) => {
1793
1872
  const IconComp = ICON_MAP[link.icon.toLowerCase()];
1794
- return /* @__PURE__ */ jsx24(
1873
+ return /* @__PURE__ */ jsx25(
1795
1874
  "a",
1796
1875
  {
1797
1876
  href: link.link,
@@ -1799,7 +1878,7 @@ function Navbar({
1799
1878
  rel: "noopener noreferrer",
1800
1879
  className: "navbar-icon-btn",
1801
1880
  "aria-label": link.icon,
1802
- children: IconComp ? /* @__PURE__ */ jsx24(IconComp, {}) : /* @__PURE__ */ jsx24("span", { children: link.icon })
1881
+ children: IconComp ? /* @__PURE__ */ jsx25(IconComp, {}) : /* @__PURE__ */ jsx25("span", { children: link.icon })
1803
1882
  },
1804
1883
  i
1805
1884
  );
@@ -1808,7 +1887,7 @@ function Navbar({
1808
1887
  ]
1809
1888
  }
1810
1889
  ),
1811
- hasTabs && config.themeConfig?.tabs && /* @__PURE__ */ jsx24(
1890
+ hasTabs && config.themeConfig?.tabs && /* @__PURE__ */ jsx25(
1812
1891
  Tabs,
1813
1892
  {
1814
1893
  tabs: config.themeConfig.tabs,