boltdocs 1.8.0 → 1.10.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/dist/{SearchDialog-4ANHNJTL.css → SearchDialog-BEVZQ74P.css} +118 -1
- package/dist/{SearchDialog-6Z7CUAYJ.mjs → SearchDialog-MEWGAONO.mjs} +1 -1
- package/dist/{chunk-SFVOGJ2W.mjs → chunk-OZLYRXAD.mjs} +228 -149
- package/dist/client/index.css +118 -1
- package/dist/client/index.d.mts +3 -3
- package/dist/client/index.d.ts +3 -3
- package/dist/client/index.js +421 -320
- package/dist/client/index.mjs +1 -1
- package/dist/client/ssr.css +118 -1
- package/dist/client/ssr.d.mts +1 -1
- package/dist/client/ssr.d.ts +1 -1
- package/dist/client/ssr.js +276 -175
- package/dist/client/ssr.mjs +1 -1
- package/dist/{config-D68h41CA.d.ts → config-BsFQ-ErD.d.mts} +9 -0
- package/dist/{config-D68h41CA.d.mts → config-BsFQ-ErD.d.ts} +9 -0
- package/dist/node/index.d.mts +4 -2
- package/dist/node/index.d.ts +4 -2
- package/dist/node/index.js +2 -1
- package/dist/node/index.mjs +2 -1
- package/dist/{types-BbceAHA0.d.mts → types-Dj-bfnC3.d.mts} +2 -0
- package/dist/{types-BbceAHA0.d.ts → types-Dj-bfnC3.d.ts} +2 -0
- package/package.json +2 -2
- package/src/client/theme/styles.css +1 -0
- package/src/client/theme/ui/CopyMarkdown/CopyMarkdown.tsx +82 -0
- package/src/client/theme/ui/CopyMarkdown/copy-markdown.css +114 -0
- package/src/client/theme/ui/CopyMarkdown/index.ts +1 -0
- package/src/client/theme/ui/Layout/Layout.tsx +7 -0
- package/src/client/theme/ui/Layout/base.css +18 -1
- package/src/client/types.ts +2 -0
- package/src/node/config.ts +6 -0
- package/src/node/routes/parser.ts +1 -0
- package/src/node/routes/types.ts +2 -0
package/dist/client/index.js
CHANGED
|
@@ -1937,6 +1937,97 @@ var init_ErrorBoundary2 = __esm({
|
|
|
1937
1937
|
}
|
|
1938
1938
|
});
|
|
1939
1939
|
|
|
1940
|
+
// src/client/theme/ui/CopyMarkdown/copy-markdown.css
|
|
1941
|
+
var init_copy_markdown = __esm({
|
|
1942
|
+
"src/client/theme/ui/CopyMarkdown/copy-markdown.css"() {
|
|
1943
|
+
}
|
|
1944
|
+
});
|
|
1945
|
+
|
|
1946
|
+
// src/client/theme/ui/CopyMarkdown/CopyMarkdown.tsx
|
|
1947
|
+
function CopyMarkdown({ content, config }) {
|
|
1948
|
+
const [isOpen, setIsOpen] = (0, import_react16.useState)(false);
|
|
1949
|
+
const [copied, setCopied] = (0, import_react16.useState)(false);
|
|
1950
|
+
const dropdownRef = (0, import_react16.useRef)(null);
|
|
1951
|
+
const isEnabled = config !== false;
|
|
1952
|
+
const buttonText = typeof config === "object" ? config.text || "Copy Markdown" : "Copy Markdown";
|
|
1953
|
+
(0, import_react16.useEffect)(() => {
|
|
1954
|
+
function handleClickOutside(event) {
|
|
1955
|
+
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
1956
|
+
setIsOpen(false);
|
|
1957
|
+
}
|
|
1958
|
+
}
|
|
1959
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
1960
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
1961
|
+
}, []);
|
|
1962
|
+
if (!isEnabled || !content) return null;
|
|
1963
|
+
const handleCopy = () => {
|
|
1964
|
+
navigator.clipboard.writeText(content);
|
|
1965
|
+
setCopied(true);
|
|
1966
|
+
setIsOpen(false);
|
|
1967
|
+
setTimeout(() => setCopied(false), 2e3);
|
|
1968
|
+
};
|
|
1969
|
+
const handleOpenRaw = () => {
|
|
1970
|
+
const blob = new Blob([content], { type: "text/plain;charset=utf-8" });
|
|
1971
|
+
const url = URL.createObjectURL(blob);
|
|
1972
|
+
window.open(url, "_blank");
|
|
1973
|
+
setIsOpen(false);
|
|
1974
|
+
};
|
|
1975
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "boltdocs-copy-markdown", ref: dropdownRef, children: [
|
|
1976
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "copy-btn-group", children: [
|
|
1977
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
1978
|
+
"button",
|
|
1979
|
+
{
|
|
1980
|
+
className: "copy-btn",
|
|
1981
|
+
onClick: handleCopy,
|
|
1982
|
+
"aria-label": "Copy Markdown",
|
|
1983
|
+
children: [
|
|
1984
|
+
copied ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react10.Check, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react10.Copy, { size: 16 }),
|
|
1985
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "copy-label", children: copied ? "Copied!" : buttonText })
|
|
1986
|
+
]
|
|
1987
|
+
}
|
|
1988
|
+
),
|
|
1989
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1990
|
+
"button",
|
|
1991
|
+
{
|
|
1992
|
+
className: `copy-dropdown-toggle ${isOpen ? "is-active" : ""}`,
|
|
1993
|
+
onClick: () => setIsOpen(!isOpen),
|
|
1994
|
+
"aria-label": "More options",
|
|
1995
|
+
"aria-expanded": isOpen,
|
|
1996
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react10.ChevronDown, { size: 14, className: "arrow-icon" })
|
|
1997
|
+
}
|
|
1998
|
+
)
|
|
1999
|
+
] }),
|
|
2000
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "copy-dropdown", children: [
|
|
2001
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("button", { className: "copy-option", onClick: handleCopy, children: [
|
|
2002
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react10.Copy, { size: 14 }),
|
|
2003
|
+
"Copy Markdown"
|
|
2004
|
+
] }),
|
|
2005
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("button", { className: "copy-option", onClick: handleOpenRaw, children: [
|
|
2006
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react10.ExternalLink, { size: 14 }),
|
|
2007
|
+
"View as Markdown"
|
|
2008
|
+
] })
|
|
2009
|
+
] })
|
|
2010
|
+
] });
|
|
2011
|
+
}
|
|
2012
|
+
var import_react16, import_lucide_react10, import_jsx_runtime21;
|
|
2013
|
+
var init_CopyMarkdown = __esm({
|
|
2014
|
+
"src/client/theme/ui/CopyMarkdown/CopyMarkdown.tsx"() {
|
|
2015
|
+
"use strict";
|
|
2016
|
+
import_react16 = require("react");
|
|
2017
|
+
import_lucide_react10 = require("lucide-react");
|
|
2018
|
+
init_copy_markdown();
|
|
2019
|
+
import_jsx_runtime21 = require("react/jsx-runtime");
|
|
2020
|
+
}
|
|
2021
|
+
});
|
|
2022
|
+
|
|
2023
|
+
// src/client/theme/ui/CopyMarkdown/index.ts
|
|
2024
|
+
var init_CopyMarkdown2 = __esm({
|
|
2025
|
+
"src/client/theme/ui/CopyMarkdown/index.ts"() {
|
|
2026
|
+
"use strict";
|
|
2027
|
+
init_CopyMarkdown();
|
|
2028
|
+
}
|
|
2029
|
+
});
|
|
2030
|
+
|
|
1940
2031
|
// src/client/theme/styles.css
|
|
1941
2032
|
var init_styles = __esm({
|
|
1942
2033
|
"src/client/theme/styles.css"() {
|
|
@@ -1975,14 +2066,14 @@ function ThemeLayout({
|
|
|
1975
2066
|
const prevPage = localIndex > 0 ? filteredRoutes[localIndex - 1] : null;
|
|
1976
2067
|
const nextPage = localIndex >= 0 && localIndex < filteredRoutes.length - 1 ? filteredRoutes[localIndex + 1] : null;
|
|
1977
2068
|
const { preload } = usePreload();
|
|
1978
|
-
|
|
2069
|
+
import_react17.default.useEffect(() => {
|
|
1979
2070
|
if (prevPage?.path) preload(prevPage.path);
|
|
1980
2071
|
if (nextPage?.path) preload(nextPage.path);
|
|
1981
2072
|
}, [prevPage, nextPage, preload]);
|
|
1982
|
-
return /* @__PURE__ */ (0,
|
|
1983
|
-
/* @__PURE__ */ (0,
|
|
1984
|
-
background !== void 0 ? background : /* @__PURE__ */ (0,
|
|
1985
|
-
head !== void 0 ? head : /* @__PURE__ */ (0,
|
|
2073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: `boltdocs-layout ${className}`, style, children: [
|
|
2074
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ProgressBar, {}),
|
|
2075
|
+
background !== void 0 ? background : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(BackgroundGradient, {}),
|
|
2076
|
+
head !== void 0 ? head : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1986
2077
|
Head,
|
|
1987
2078
|
{
|
|
1988
2079
|
siteTitle,
|
|
@@ -1990,7 +2081,7 @@ function ThemeLayout({
|
|
|
1990
2081
|
routes
|
|
1991
2082
|
}
|
|
1992
2083
|
),
|
|
1993
|
-
navbar !== void 0 ? navbar : /* @__PURE__ */ (0,
|
|
2084
|
+
navbar !== void 0 ? navbar : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
1994
2085
|
Navbar,
|
|
1995
2086
|
{
|
|
1996
2087
|
config,
|
|
@@ -2000,43 +2091,52 @@ function ThemeLayout({
|
|
|
2000
2091
|
currentVersion
|
|
2001
2092
|
}
|
|
2002
2093
|
),
|
|
2003
|
-
/* @__PURE__ */ (0,
|
|
2004
|
-
sidebar !== void 0 ? sidebar : /* @__PURE__ */ (0,
|
|
2005
|
-
/* @__PURE__ */ (0,
|
|
2006
|
-
breadcrumbs !== void 0 ? breadcrumbs : /* @__PURE__ */ (0,
|
|
2007
|
-
/* @__PURE__ */ (0,
|
|
2008
|
-
|
|
2009
|
-
|
|
2094
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "boltdocs-main-container", children: [
|
|
2095
|
+
sidebar !== void 0 ? sidebar : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Sidebar, { routes: filteredRoutes, config }),
|
|
2096
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("main", { className: "boltdocs-content", children: [
|
|
2097
|
+
breadcrumbs !== void 0 ? breadcrumbs : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Breadcrumbs, { routes: filteredRoutes, config }),
|
|
2098
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "boltdocs-page", children: [
|
|
2099
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "boltdocs-page-header", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2100
|
+
CopyMarkdown,
|
|
2101
|
+
{
|
|
2102
|
+
content: routes[currentIndex]?._rawContent,
|
|
2103
|
+
config: config.themeConfig?.copyMarkdown
|
|
2104
|
+
}
|
|
2105
|
+
) }),
|
|
2106
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ErrorBoundary, { children })
|
|
2107
|
+
] }),
|
|
2108
|
+
(prevPage || nextPage) && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("nav", { className: "page-nav", "aria-label": "Pagination", children: [
|
|
2109
|
+
prevPage ? /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2010
2110
|
Link,
|
|
2011
2111
|
{
|
|
2012
2112
|
to: prevPage.path || "/",
|
|
2013
2113
|
className: "page-nav-link page-nav-link--prev",
|
|
2014
2114
|
children: [
|
|
2015
|
-
/* @__PURE__ */ (0,
|
|
2016
|
-
/* @__PURE__ */ (0,
|
|
2017
|
-
/* @__PURE__ */ (0,
|
|
2115
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "page-nav-info", children: [
|
|
2116
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "page-nav-label", children: "Previous" }),
|
|
2117
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "page-nav-title", children: prevPage.title })
|
|
2018
2118
|
] }),
|
|
2019
|
-
/* @__PURE__ */ (0,
|
|
2119
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react11.ChevronLeft, { className: "page-nav-arrow", size: 16 })
|
|
2020
2120
|
]
|
|
2021
2121
|
}
|
|
2022
|
-
) : /* @__PURE__ */ (0,
|
|
2023
|
-
nextPage ? /* @__PURE__ */ (0,
|
|
2122
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", {}),
|
|
2123
|
+
nextPage ? /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2024
2124
|
Link,
|
|
2025
2125
|
{
|
|
2026
2126
|
to: nextPage.path || "/",
|
|
2027
2127
|
className: "page-nav-link page-nav-link--next",
|
|
2028
2128
|
children: [
|
|
2029
|
-
/* @__PURE__ */ (0,
|
|
2030
|
-
/* @__PURE__ */ (0,
|
|
2031
|
-
/* @__PURE__ */ (0,
|
|
2129
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "page-nav-info", children: [
|
|
2130
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "page-nav-label", children: "Next" }),
|
|
2131
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "page-nav-title", children: nextPage.title })
|
|
2032
2132
|
] }),
|
|
2033
|
-
/* @__PURE__ */ (0,
|
|
2133
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react11.ChevronRight, { className: "page-nav-arrow", size: 16 })
|
|
2034
2134
|
]
|
|
2035
2135
|
}
|
|
2036
|
-
) : /* @__PURE__ */ (0,
|
|
2136
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", {})
|
|
2037
2137
|
] })
|
|
2038
2138
|
] }),
|
|
2039
|
-
toc !== void 0 ? toc : /* @__PURE__ */ (0,
|
|
2139
|
+
toc !== void 0 ? toc : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2040
2140
|
OnThisPage,
|
|
2041
2141
|
{
|
|
2042
2142
|
headings: routes[currentIndex]?.headings,
|
|
@@ -2048,14 +2148,14 @@ function ThemeLayout({
|
|
|
2048
2148
|
] })
|
|
2049
2149
|
] });
|
|
2050
2150
|
}
|
|
2051
|
-
var
|
|
2151
|
+
var import_react17, import_react_router_dom10, import_lucide_react11, import_jsx_runtime22;
|
|
2052
2152
|
var init_Layout = __esm({
|
|
2053
2153
|
"src/client/theme/ui/Layout/Layout.tsx"() {
|
|
2054
2154
|
"use strict";
|
|
2055
|
-
|
|
2155
|
+
import_react17 = __toESM(require("react"));
|
|
2056
2156
|
import_react_router_dom10 = require("react-router-dom");
|
|
2057
2157
|
init_Link2();
|
|
2058
|
-
|
|
2158
|
+
import_lucide_react11 = require("lucide-react");
|
|
2059
2159
|
init_preload();
|
|
2060
2160
|
init_Navbar2();
|
|
2061
2161
|
init_Sidebar2();
|
|
@@ -2071,8 +2171,9 @@ var init_Layout = __esm({
|
|
|
2071
2171
|
init_BackgroundGradient2();
|
|
2072
2172
|
init_ProgressBar3();
|
|
2073
2173
|
init_ErrorBoundary2();
|
|
2174
|
+
init_CopyMarkdown2();
|
|
2074
2175
|
init_styles();
|
|
2075
|
-
|
|
2176
|
+
import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2076
2177
|
}
|
|
2077
2178
|
});
|
|
2078
2179
|
|
|
@@ -2086,23 +2187,23 @@ var init_Layout2 = __esm({
|
|
|
2086
2187
|
|
|
2087
2188
|
// src/client/theme/ui/NotFound/NotFound.tsx
|
|
2088
2189
|
function NotFound() {
|
|
2089
|
-
return /* @__PURE__ */ (0,
|
|
2090
|
-
/* @__PURE__ */ (0,
|
|
2091
|
-
/* @__PURE__ */ (0,
|
|
2092
|
-
/* @__PURE__ */ (0,
|
|
2093
|
-
/* @__PURE__ */ (0,
|
|
2094
|
-
/* @__PURE__ */ (0,
|
|
2190
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "boltdocs-not-found", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "not-found-content", children: [
|
|
2191
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("span", { className: "not-found-code", children: "404" }),
|
|
2192
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("h1", { className: "not-found-title", children: "Page Not Found" }),
|
|
2193
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "not-found-text", children: "The page you're looking for doesn't exist or has been moved." }),
|
|
2194
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(Link, { to: "/", className: "not-found-link", children: [
|
|
2195
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react12.ArrowLeft, { size: 16 }),
|
|
2095
2196
|
" Go to Home"
|
|
2096
2197
|
] })
|
|
2097
2198
|
] }) });
|
|
2098
2199
|
}
|
|
2099
|
-
var
|
|
2200
|
+
var import_lucide_react12, import_jsx_runtime23;
|
|
2100
2201
|
var init_NotFound = __esm({
|
|
2101
2202
|
"src/client/theme/ui/NotFound/NotFound.tsx"() {
|
|
2102
2203
|
"use strict";
|
|
2103
2204
|
init_Link2();
|
|
2104
|
-
|
|
2105
|
-
|
|
2205
|
+
import_lucide_react12 = require("lucide-react");
|
|
2206
|
+
import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2106
2207
|
}
|
|
2107
2208
|
});
|
|
2108
2209
|
|
|
@@ -2116,16 +2217,16 @@ var init_NotFound2 = __esm({
|
|
|
2116
2217
|
|
|
2117
2218
|
// src/client/theme/ui/Loading/Loading.tsx
|
|
2118
2219
|
function Loading() {
|
|
2119
|
-
return /* @__PURE__ */ (0,
|
|
2120
|
-
/* @__PURE__ */ (0,
|
|
2121
|
-
/* @__PURE__ */ (0,
|
|
2220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "boltdocs-loading", children: [
|
|
2221
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "loading-spinner" }),
|
|
2222
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "loading-text", children: "Loading..." })
|
|
2122
2223
|
] });
|
|
2123
2224
|
}
|
|
2124
|
-
var
|
|
2225
|
+
var import_jsx_runtime24;
|
|
2125
2226
|
var init_Loading = __esm({
|
|
2126
2227
|
"src/client/theme/ui/Loading/Loading.tsx"() {
|
|
2127
2228
|
"use strict";
|
|
2128
|
-
|
|
2229
|
+
import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2129
2230
|
}
|
|
2130
2231
|
});
|
|
2131
2232
|
|
|
@@ -2139,35 +2240,35 @@ var init_Loading2 = __esm({
|
|
|
2139
2240
|
|
|
2140
2241
|
// src/client/theme/components/CodeBlock/CodeBlock.tsx
|
|
2141
2242
|
function CodeBlock({ children, ...props }) {
|
|
2142
|
-
const [copied, setCopied] = (0,
|
|
2143
|
-
const preRef = (0,
|
|
2144
|
-
const handleCopy = (0,
|
|
2243
|
+
const [copied, setCopied] = (0, import_react18.useState)(false);
|
|
2244
|
+
const preRef = (0, import_react18.useRef)(null);
|
|
2245
|
+
const handleCopy = (0, import_react18.useCallback)(async () => {
|
|
2145
2246
|
const code = preRef.current?.textContent || "";
|
|
2146
2247
|
copyToClipboard(code);
|
|
2147
2248
|
setCopied(true);
|
|
2148
2249
|
setTimeout(() => setCopied(false), 2e3);
|
|
2149
2250
|
}, []);
|
|
2150
|
-
return /* @__PURE__ */ (0,
|
|
2151
|
-
/* @__PURE__ */ (0,
|
|
2251
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("div", { className: "code-block-wrapper", children: [
|
|
2252
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2152
2253
|
"button",
|
|
2153
2254
|
{
|
|
2154
2255
|
className: `code-block-copy ${copied ? "copied" : ""}`,
|
|
2155
2256
|
onClick: handleCopy,
|
|
2156
2257
|
"aria-label": "Copy code",
|
|
2157
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
2258
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react13.Check, { size: 16 }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react13.Copy, { size: 16 })
|
|
2158
2259
|
}
|
|
2159
2260
|
),
|
|
2160
|
-
/* @__PURE__ */ (0,
|
|
2261
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("pre", { ref: preRef, ...props, children })
|
|
2161
2262
|
] });
|
|
2162
2263
|
}
|
|
2163
|
-
var
|
|
2264
|
+
var import_react18, import_lucide_react13, import_jsx_runtime25;
|
|
2164
2265
|
var init_CodeBlock = __esm({
|
|
2165
2266
|
"src/client/theme/components/CodeBlock/CodeBlock.tsx"() {
|
|
2166
2267
|
"use strict";
|
|
2167
|
-
|
|
2168
|
-
|
|
2268
|
+
import_react18 = require("react");
|
|
2269
|
+
import_lucide_react13 = require("lucide-react");
|
|
2169
2270
|
init_utils();
|
|
2170
|
-
|
|
2271
|
+
import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2171
2272
|
}
|
|
2172
2273
|
});
|
|
2173
2274
|
|
|
@@ -2189,9 +2290,9 @@ function Video({
|
|
|
2189
2290
|
preload = "metadata",
|
|
2190
2291
|
...rest
|
|
2191
2292
|
}) {
|
|
2192
|
-
const containerRef = (0,
|
|
2193
|
-
const [isVisible, setIsVisible] = (0,
|
|
2194
|
-
(0,
|
|
2293
|
+
const containerRef = (0, import_react19.useRef)(null);
|
|
2294
|
+
const [isVisible, setIsVisible] = (0, import_react19.useState)(false);
|
|
2295
|
+
(0, import_react19.useEffect)(() => {
|
|
2195
2296
|
const el = containerRef.current;
|
|
2196
2297
|
if (!el) return;
|
|
2197
2298
|
const observer = new IntersectionObserver(
|
|
@@ -2206,7 +2307,7 @@ function Video({
|
|
|
2206
2307
|
observer.observe(el);
|
|
2207
2308
|
return () => observer.disconnect();
|
|
2208
2309
|
}, []);
|
|
2209
|
-
return /* @__PURE__ */ (0,
|
|
2310
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref: containerRef, className: "boltdocs-video-wrapper", children: isVisible ? /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
2210
2311
|
"video",
|
|
2211
2312
|
{
|
|
2212
2313
|
className: "boltdocs-video",
|
|
@@ -2221,7 +2322,7 @@ function Video({
|
|
|
2221
2322
|
"Your browser does not support the video tag."
|
|
2222
2323
|
]
|
|
2223
2324
|
}
|
|
2224
|
-
) : /* @__PURE__ */ (0,
|
|
2325
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2225
2326
|
"div",
|
|
2226
2327
|
{
|
|
2227
2328
|
className: "boltdocs-video-placeholder",
|
|
@@ -2230,12 +2331,12 @@ function Video({
|
|
|
2230
2331
|
}
|
|
2231
2332
|
) });
|
|
2232
2333
|
}
|
|
2233
|
-
var
|
|
2334
|
+
var import_react19, import_jsx_runtime26;
|
|
2234
2335
|
var init_Video = __esm({
|
|
2235
2336
|
"src/client/theme/components/Video/Video.tsx"() {
|
|
2236
2337
|
"use strict";
|
|
2237
|
-
|
|
2238
|
-
|
|
2338
|
+
import_react19 = require("react");
|
|
2339
|
+
import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2239
2340
|
}
|
|
2240
2341
|
});
|
|
2241
2342
|
|
|
@@ -2252,14 +2353,14 @@ var init_Video2 = __esm({
|
|
|
2252
2353
|
});
|
|
2253
2354
|
|
|
2254
2355
|
// src/client/theme/icons/npm.tsx
|
|
2255
|
-
var
|
|
2356
|
+
var import_jsx_runtime27, NPM;
|
|
2256
2357
|
var init_npm = __esm({
|
|
2257
2358
|
"src/client/theme/icons/npm.tsx"() {
|
|
2258
2359
|
"use strict";
|
|
2259
|
-
|
|
2260
|
-
NPM = (props) => /* @__PURE__ */ (0,
|
|
2261
|
-
/* @__PURE__ */ (0,
|
|
2262
|
-
/* @__PURE__ */ (0,
|
|
2360
|
+
import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2361
|
+
NPM = (props) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("svg", { ...props, viewBox: "0 0 2500 2500", children: [
|
|
2362
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("path", { fill: "#c00", d: "M0 0h2500v2500H0z" }),
|
|
2363
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2263
2364
|
"path",
|
|
2264
2365
|
{
|
|
2265
2366
|
fill: "#fff",
|
|
@@ -2271,69 +2372,69 @@ var init_npm = __esm({
|
|
|
2271
2372
|
});
|
|
2272
2373
|
|
|
2273
2374
|
// src/client/theme/icons/pnpm.tsx
|
|
2274
|
-
var
|
|
2375
|
+
var import_jsx_runtime28, Pnpm;
|
|
2275
2376
|
var init_pnpm = __esm({
|
|
2276
2377
|
"src/client/theme/icons/pnpm.tsx"() {
|
|
2277
2378
|
"use strict";
|
|
2278
|
-
|
|
2279
|
-
Pnpm = (props) => /* @__PURE__ */ (0,
|
|
2379
|
+
import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2380
|
+
Pnpm = (props) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
2280
2381
|
"svg",
|
|
2281
2382
|
{
|
|
2282
2383
|
...props,
|
|
2283
2384
|
xmlnsXlink: "http://www.w3.org/1999/xlink",
|
|
2284
2385
|
viewBox: "76.58987244897958 44 164.00775510204068 164",
|
|
2285
2386
|
children: [
|
|
2286
|
-
/* @__PURE__ */ (0,
|
|
2287
|
-
/* @__PURE__ */ (0,
|
|
2387
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("defs", { children: [
|
|
2388
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2288
2389
|
"path",
|
|
2289
2390
|
{
|
|
2290
2391
|
d: "M237.6 95L187.6 95L187.6 45L237.6 45L237.6 95Z",
|
|
2291
2392
|
id: "pnpm_dark__b45vdTD8hs"
|
|
2292
2393
|
}
|
|
2293
2394
|
),
|
|
2294
|
-
/* @__PURE__ */ (0,
|
|
2395
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2295
2396
|
"path",
|
|
2296
2397
|
{
|
|
2297
2398
|
d: "M182.59 95L132.59 95L132.59 45L182.59 45L182.59 95Z",
|
|
2298
2399
|
id: "pnpm_dark__a40WtxIl8d"
|
|
2299
2400
|
}
|
|
2300
2401
|
),
|
|
2301
|
-
/* @__PURE__ */ (0,
|
|
2402
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2302
2403
|
"path",
|
|
2303
2404
|
{
|
|
2304
2405
|
d: "M127.59 95L77.59 95L77.59 45L127.59 45L127.59 95Z",
|
|
2305
2406
|
id: "pnpm_dark__h2CN9AEEpe"
|
|
2306
2407
|
}
|
|
2307
2408
|
),
|
|
2308
|
-
/* @__PURE__ */ (0,
|
|
2409
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2309
2410
|
"path",
|
|
2310
2411
|
{
|
|
2311
2412
|
d: "M237.6 150L187.6 150L187.6 100L237.6 100L237.6 150Z",
|
|
2312
2413
|
id: "pnpm_dark__dqv5133G8"
|
|
2313
2414
|
}
|
|
2314
2415
|
),
|
|
2315
|
-
/* @__PURE__ */ (0,
|
|
2416
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2316
2417
|
"path",
|
|
2317
2418
|
{
|
|
2318
2419
|
d: "M182.59 150L132.59 150L132.59 100L182.59 100L182.59 150Z",
|
|
2319
2420
|
id: "pnpm_dark__b1Lv79ypvm"
|
|
2320
2421
|
}
|
|
2321
2422
|
),
|
|
2322
|
-
/* @__PURE__ */ (0,
|
|
2423
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2323
2424
|
"path",
|
|
2324
2425
|
{
|
|
2325
2426
|
d: "M182.59 205L132.59 205L132.59 155L182.59 155L182.59 205Z",
|
|
2326
2427
|
id: "pnpm_dark__hy1IZWwLX"
|
|
2327
2428
|
}
|
|
2328
2429
|
),
|
|
2329
|
-
/* @__PURE__ */ (0,
|
|
2430
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2330
2431
|
"path",
|
|
2331
2432
|
{
|
|
2332
2433
|
d: "M237.6 205L187.6 205L187.6 155L237.6 155L237.6 205Z",
|
|
2333
2434
|
id: "pnpm_dark__akQfjxQes"
|
|
2334
2435
|
}
|
|
2335
2436
|
),
|
|
2336
|
-
/* @__PURE__ */ (0,
|
|
2437
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
2337
2438
|
"path",
|
|
2338
2439
|
{
|
|
2339
2440
|
d: "M127.59 205L77.59 205L77.59 155L127.59 155L127.59 205Z",
|
|
@@ -2341,15 +2442,15 @@ var init_pnpm = __esm({
|
|
|
2341
2442
|
}
|
|
2342
2443
|
)
|
|
2343
2444
|
] }),
|
|
2344
|
-
/* @__PURE__ */ (0,
|
|
2345
|
-
/* @__PURE__ */ (0,
|
|
2346
|
-
/* @__PURE__ */ (0,
|
|
2347
|
-
/* @__PURE__ */ (0,
|
|
2348
|
-
/* @__PURE__ */ (0,
|
|
2349
|
-
/* @__PURE__ */ (0,
|
|
2350
|
-
/* @__PURE__ */ (0,
|
|
2351
|
-
/* @__PURE__ */ (0,
|
|
2352
|
-
/* @__PURE__ */ (0,
|
|
2445
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("g", { children: [
|
|
2446
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__b45vdTD8hs", fill: "#f9ad00" }) }),
|
|
2447
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__a40WtxIl8d", fill: "#f9ad00" }) }),
|
|
2448
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__h2CN9AEEpe", fill: "#f9ad00" }) }),
|
|
2449
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__dqv5133G8", fill: "#f9ad00" }) }),
|
|
2450
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__b1Lv79ypvm", fill: "#ffffff" }) }),
|
|
2451
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__hy1IZWwLX", fill: "#ffffff" }) }),
|
|
2452
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__akQfjxQes", fill: "#ffffff" }) }),
|
|
2453
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("use", { xlinkHref: "#pnpm_dark__bdSrwE5pk", fill: "#ffffff" }) })
|
|
2353
2454
|
] })
|
|
2354
2455
|
]
|
|
2355
2456
|
}
|
|
@@ -2358,62 +2459,62 @@ var init_pnpm = __esm({
|
|
|
2358
2459
|
});
|
|
2359
2460
|
|
|
2360
2461
|
// src/client/theme/icons/bun.tsx
|
|
2361
|
-
var
|
|
2462
|
+
var import_jsx_runtime29, Bun;
|
|
2362
2463
|
var init_bun = __esm({
|
|
2363
2464
|
"src/client/theme/icons/bun.tsx"() {
|
|
2364
2465
|
"use strict";
|
|
2365
|
-
|
|
2366
|
-
Bun = (props) => /* @__PURE__ */ (0,
|
|
2367
|
-
/* @__PURE__ */ (0,
|
|
2368
|
-
/* @__PURE__ */ (0,
|
|
2466
|
+
import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2467
|
+
Bun = (props) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("svg", { ...props, viewBox: "0 0 80 70", children: [
|
|
2468
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("path", { d: "M71.09 20.74c-.16-.17-.33-.34-.5-.5s-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5-.33-.34-.5-.5A26.46 26.46 0 0 1 75.5 35.7c0 16.57-16.82 30.05-37.5 30.05-11.58 0-21.94-4.23-28.83-10.86l.5.5.5.5.5.5.5.5.5.5.5.5.5.5C19.55 65.3 30.14 69.75 42 69.75c20.68 0 37.5-13.48 37.5-30 0-7.06-3.04-13.75-8.41-19.01Z" }),
|
|
2469
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2369
2470
|
"path",
|
|
2370
2471
|
{
|
|
2371
2472
|
d: "M73 35.7c0 15.21-15.67 27.54-35 27.54S3 50.91 3 35.7C3 26.27 9 17.94 18.22 13S33.18 3 38 3s8.94 4.13 19.78 10C67 17.94 73 26.27 73 35.7Z",
|
|
2372
2473
|
style: { fill: "#fbf0df" }
|
|
2373
2474
|
}
|
|
2374
2475
|
),
|
|
2375
|
-
/* @__PURE__ */ (0,
|
|
2476
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2376
2477
|
"path",
|
|
2377
2478
|
{
|
|
2378
2479
|
d: "M73 35.7a21.67 21.67 0 0 0-.8-5.78c-2.73 33.3-43.35 34.9-59.32 24.94A40 40 0 0 0 38 63.24c19.3 0 35-12.35 35-27.54Z",
|
|
2379
2480
|
style: { fill: "#f6dece" }
|
|
2380
2481
|
}
|
|
2381
2482
|
),
|
|
2382
|
-
/* @__PURE__ */ (0,
|
|
2483
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2383
2484
|
"path",
|
|
2384
2485
|
{
|
|
2385
2486
|
d: "M24.53 11.17C29 8.49 34.94 3.46 40.78 3.45A9.29 9.29 0 0 0 38 3c-2.42 0-5 1.25-8.25 3.13-1.13.66-2.3 1.39-3.54 2.15-2.33 1.44-5 3.07-8 4.7C8.69 18.13 3 26.62 3 35.7v1.19c6.06-21.41 17.07-23.04 21.53-25.72Z",
|
|
2386
2487
|
style: { fill: "#fffefc" }
|
|
2387
2488
|
}
|
|
2388
2489
|
),
|
|
2389
|
-
/* @__PURE__ */ (0,
|
|
2490
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2390
2491
|
"path",
|
|
2391
2492
|
{
|
|
2392
2493
|
d: "M35.12 5.53A16.41 16.41 0 0 1 29.49 18c-.28.25-.06.73.3.59 3.37-1.31 7.92-5.23 6-13.14-.08-.45-.67-.33-.67.08Zm2.27 0A16.24 16.24 0 0 1 39 19c-.12.35.31.65.55.36 2.19-2.8 4.1-8.36-1.62-14.36-.29-.26-.74.14-.54.49Zm2.76-.17A16.42 16.42 0 0 1 47 17.12a.33.33 0 0 0 .65.11c.92-3.49.4-9.44-7.17-12.53-.4-.16-.66.38-.33.62Zm-18.46 10.4a16.94 16.94 0 0 0 10.47-9c.18-.36.75-.22.66.18-1.73 8-7.52 9.67-11.12 9.45-.38.01-.37-.52-.01-.63Z",
|
|
2393
2494
|
style: { fill: "#ccbea7", fillRule: "evenodd" }
|
|
2394
2495
|
}
|
|
2395
2496
|
),
|
|
2396
|
-
/* @__PURE__ */ (0,
|
|
2397
|
-
/* @__PURE__ */ (0,
|
|
2398
|
-
/* @__PURE__ */ (0,
|
|
2497
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("path", { d: "M38 65.75C17.32 65.75.5 52.27.5 35.7c0-10 6.18-19.33 16.53-24.92 3-1.6 5.57-3.21 7.86-4.62 1.26-.78 2.45-1.51 3.6-2.19C32 1.89 35 .5 38 .5s5.62 1.2 8.9 3.14c1 .57 2 1.19 3.07 1.87 2.49 1.54 5.3 3.28 9 5.27C69.32 16.37 75.5 25.69 75.5 35.7c0 16.57-16.82 30.05-37.5 30.05ZM38 3c-2.42 0-5 1.25-8.25 3.13-1.13.66-2.3 1.39-3.54 2.15-2.33 1.44-5 3.07-8 4.7C8.69 18.13 3 26.62 3 35.7c0 15.19 15.7 27.55 35 27.55S73 50.89 73 35.7c0-9.08-5.69-17.57-15.22-22.7-3.78-2-6.73-3.88-9.12-5.36-1.09-.67-2.09-1.29-3-1.84C42.63 4 40.42 3 38 3Z" }),
|
|
2498
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("g", { children: [
|
|
2499
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2399
2500
|
"path",
|
|
2400
2501
|
{
|
|
2401
2502
|
d: "M45.05 43a8.93 8.93 0 0 1-2.92 4.71 6.81 6.81 0 0 1-4 1.88A6.84 6.84 0 0 1 34 47.71 8.93 8.93 0 0 1 31.12 43a.72.72 0 0 1 .8-.81h12.34a.72.72 0 0 1 .79.81Z",
|
|
2402
2503
|
style: { fill: "#b71422" }
|
|
2403
2504
|
}
|
|
2404
2505
|
),
|
|
2405
|
-
/* @__PURE__ */ (0,
|
|
2506
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2406
2507
|
"path",
|
|
2407
2508
|
{
|
|
2408
2509
|
d: "M34 47.79a6.91 6.91 0 0 0 4.12 1.9 6.91 6.91 0 0 0 4.11-1.9 10.63 10.63 0 0 0 1-1.07 6.83 6.83 0 0 0-4.9-2.31 6.15 6.15 0 0 0-5 2.78c.23.21.43.41.67.6Z",
|
|
2409
2510
|
style: { fill: "#ff6164" }
|
|
2410
2511
|
}
|
|
2411
2512
|
),
|
|
2412
|
-
/* @__PURE__ */ (0,
|
|
2413
|
-
/* @__PURE__ */ (0,
|
|
2513
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("path", { d: "M34.16 47a5.36 5.36 0 0 1 4.19-2.08 6 6 0 0 1 4 1.69c.23-.25.45-.51.66-.77a7 7 0 0 0-4.71-1.93 6.36 6.36 0 0 0-4.89 2.36 9.53 9.53 0 0 0 .75.73Z" }),
|
|
2514
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("path", { d: "M38.09 50.19a7.42 7.42 0 0 1-4.45-2 9.52 9.52 0 0 1-3.11-5.05 1.2 1.2 0 0 1 .26-1 1.41 1.41 0 0 1 1.13-.51h12.34a1.44 1.44 0 0 1 1.13.51 1.19 1.19 0 0 1 .25 1 9.52 9.52 0 0 1-3.11 5.05 7.42 7.42 0 0 1-4.44 2Zm-6.17-7.4c-.16 0-.2.07-.21.09a8.29 8.29 0 0 0 2.73 4.37A6.23 6.23 0 0 0 38.09 49a6.28 6.28 0 0 0 3.65-1.73 8.3 8.3 0 0 0 2.72-4.37.21.21 0 0 0-.2-.09Z" })
|
|
2414
2515
|
] }),
|
|
2415
|
-
/* @__PURE__ */ (0,
|
|
2416
|
-
/* @__PURE__ */ (0,
|
|
2516
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("g", { children: [
|
|
2517
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2417
2518
|
"ellipse",
|
|
2418
2519
|
{
|
|
2419
2520
|
cx: "53.22",
|
|
@@ -2423,7 +2524,7 @@ var init_bun = __esm({
|
|
|
2423
2524
|
style: { fill: "#febbd0" }
|
|
2424
2525
|
}
|
|
2425
2526
|
),
|
|
2426
|
-
/* @__PURE__ */ (0,
|
|
2527
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2427
2528
|
"ellipse",
|
|
2428
2529
|
{
|
|
2429
2530
|
cx: "22.95",
|
|
@@ -2433,14 +2534,14 @@ var init_bun = __esm({
|
|
|
2433
2534
|
style: { fill: "#febbd0" }
|
|
2434
2535
|
}
|
|
2435
2536
|
),
|
|
2436
|
-
/* @__PURE__ */ (0,
|
|
2537
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2437
2538
|
"path",
|
|
2438
2539
|
{
|
|
2439
2540
|
d: "M25.7 38.8a5.51 5.51 0 1 0-5.5-5.51 5.51 5.51 0 0 0 5.5 5.51Zm24.77 0A5.51 5.51 0 1 0 45 33.29a5.5 5.5 0 0 0 5.47 5.51Z",
|
|
2440
2541
|
style: { fillRule: "evenodd" }
|
|
2441
2542
|
}
|
|
2442
2543
|
),
|
|
2443
|
-
/* @__PURE__ */ (0,
|
|
2544
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2444
2545
|
"path",
|
|
2445
2546
|
{
|
|
2446
2547
|
d: "M24 33.64a2.07 2.07 0 1 0-2.06-2.07A2.07 2.07 0 0 0 24 33.64Zm24.77 0a2.07 2.07 0 1 0-2.06-2.07 2.07 2.07 0 0 0 2.04 2.07Z",
|
|
@@ -2453,12 +2554,12 @@ var init_bun = __esm({
|
|
|
2453
2554
|
});
|
|
2454
2555
|
|
|
2455
2556
|
// src/client/theme/icons/deno.tsx
|
|
2456
|
-
var
|
|
2557
|
+
var import_jsx_runtime30, Deno;
|
|
2457
2558
|
var init_deno = __esm({
|
|
2458
2559
|
"src/client/theme/icons/deno.tsx"() {
|
|
2459
2560
|
"use strict";
|
|
2460
|
-
|
|
2461
|
-
Deno = (props) => /* @__PURE__ */ (0,
|
|
2561
|
+
import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2562
|
+
Deno = (props) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2462
2563
|
"svg",
|
|
2463
2564
|
{
|
|
2464
2565
|
...props,
|
|
@@ -2468,7 +2569,7 @@ var init_deno = __esm({
|
|
|
2468
2569
|
strokeMiterlimit: "2",
|
|
2469
2570
|
clipRule: "evenodd",
|
|
2470
2571
|
viewBox: "0 0 441 441",
|
|
2471
|
-
children: /* @__PURE__ */ (0,
|
|
2572
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2472
2573
|
"path",
|
|
2473
2574
|
{
|
|
2474
2575
|
fill: "currentColor",
|
|
@@ -2515,19 +2616,19 @@ function PackageManagerTabs({
|
|
|
2515
2616
|
pkg = "",
|
|
2516
2617
|
className = ""
|
|
2517
2618
|
}) {
|
|
2518
|
-
const [activeTab, setActiveTab] = (0,
|
|
2519
|
-
const [copied, setCopied] = (0,
|
|
2619
|
+
const [activeTab, setActiveTab] = (0, import_react20.useState)("npm");
|
|
2620
|
+
const [copied, setCopied] = (0, import_react20.useState)(false);
|
|
2520
2621
|
const activeCommand = getCommandForManager(activeTab, command, pkg);
|
|
2521
|
-
const handleCopy = (0,
|
|
2622
|
+
const handleCopy = (0, import_react20.useCallback)(async () => {
|
|
2522
2623
|
copyToClipboard(activeCommand);
|
|
2523
2624
|
setCopied(true);
|
|
2524
2625
|
setTimeout(() => setCopied(false), 2e3);
|
|
2525
2626
|
}, [activeCommand]);
|
|
2526
|
-
return /* @__PURE__ */ (0,
|
|
2527
|
-
/* @__PURE__ */ (0,
|
|
2627
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: `pkg-tabs-wrapper ${className}`, children: [
|
|
2628
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: "pkg-tabs-header", children: MANAGERS.map((mgr) => {
|
|
2528
2629
|
const Icon = mgr.icon;
|
|
2529
2630
|
const isActive = activeTab === mgr.id;
|
|
2530
|
-
return /* @__PURE__ */ (0,
|
|
2631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
2531
2632
|
"button",
|
|
2532
2633
|
{
|
|
2533
2634
|
className: `pkg-tab-btn ${isActive ? "active" : ""}`,
|
|
@@ -2535,40 +2636,40 @@ function PackageManagerTabs({
|
|
|
2535
2636
|
"aria-selected": isActive,
|
|
2536
2637
|
role: "tab",
|
|
2537
2638
|
children: [
|
|
2538
|
-
/* @__PURE__ */ (0,
|
|
2539
|
-
/* @__PURE__ */ (0,
|
|
2639
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Icon, { className: "pkg-tab-icon", width: "16", height: "16" }),
|
|
2640
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { children: mgr.label })
|
|
2540
2641
|
]
|
|
2541
2642
|
},
|
|
2542
2643
|
mgr.id
|
|
2543
2644
|
);
|
|
2544
2645
|
}) }),
|
|
2545
|
-
/* @__PURE__ */ (0,
|
|
2546
|
-
/* @__PURE__ */ (0,
|
|
2646
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("div", { className: "code-block-wrapper pkg-tabs-content", children: [
|
|
2647
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2547
2648
|
"button",
|
|
2548
2649
|
{
|
|
2549
2650
|
className: `code-block-copy ${copied ? "copied" : ""}`,
|
|
2550
2651
|
onClick: handleCopy,
|
|
2551
2652
|
type: "button",
|
|
2552
2653
|
"aria-label": "Copy code",
|
|
2553
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
2654
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react14.Check, { size: 14 }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_lucide_react14.Copy, { size: 14 })
|
|
2554
2655
|
}
|
|
2555
2656
|
),
|
|
2556
|
-
/* @__PURE__ */ (0,
|
|
2657
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("pre", { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("code", { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("span", { className: "line", children: activeCommand }) }) })
|
|
2557
2658
|
] })
|
|
2558
2659
|
] });
|
|
2559
2660
|
}
|
|
2560
|
-
var
|
|
2661
|
+
var import_react20, import_lucide_react14, import_jsx_runtime31, MANAGERS;
|
|
2561
2662
|
var init_PackageManagerTabs = __esm({
|
|
2562
2663
|
"src/client/theme/components/PackageManagerTabs/PackageManagerTabs.tsx"() {
|
|
2563
2664
|
"use strict";
|
|
2564
|
-
|
|
2565
|
-
|
|
2665
|
+
import_react20 = require("react");
|
|
2666
|
+
import_lucide_react14 = require("lucide-react");
|
|
2566
2667
|
init_npm();
|
|
2567
2668
|
init_pnpm();
|
|
2568
2669
|
init_bun();
|
|
2569
2670
|
init_deno();
|
|
2570
2671
|
init_utils();
|
|
2571
|
-
|
|
2672
|
+
import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2572
2673
|
MANAGERS = [
|
|
2573
2674
|
{ id: "npm", label: "npm", icon: NPM },
|
|
2574
2675
|
{ id: "pnpm", label: "pnpm", icon: Pnpm },
|
|
@@ -2592,7 +2693,7 @@ var init_PackageManagerTabs2 = __esm({
|
|
|
2592
2693
|
|
|
2593
2694
|
// src/client/app/index.tsx
|
|
2594
2695
|
function useConfig() {
|
|
2595
|
-
return (0,
|
|
2696
|
+
return (0, import_react23.useContext)(ConfigContext);
|
|
2596
2697
|
}
|
|
2597
2698
|
function AppShell({
|
|
2598
2699
|
initialRoutes,
|
|
@@ -2603,8 +2704,8 @@ function AppShell({
|
|
|
2603
2704
|
homePage: HomePage,
|
|
2604
2705
|
components: customComponents = {}
|
|
2605
2706
|
}) {
|
|
2606
|
-
const [routesInfo, setRoutesInfo] = (0,
|
|
2607
|
-
const [config] = (0,
|
|
2707
|
+
const [routesInfo, setRoutesInfo] = (0, import_react21.useState)(initialRoutes);
|
|
2708
|
+
const [config] = (0, import_react21.useState)(initialConfig);
|
|
2608
2709
|
const resolveRoutes = (infos) => {
|
|
2609
2710
|
return infos.filter(
|
|
2610
2711
|
(route) => !(HomePage && (route.path === "/" || route.path === ""))
|
|
@@ -2615,35 +2716,35 @@ function AppShell({
|
|
|
2615
2716
|
const loader = loaderKey ? modules[loaderKey] : null;
|
|
2616
2717
|
return {
|
|
2617
2718
|
...route,
|
|
2618
|
-
Component:
|
|
2719
|
+
Component: import_react21.default.lazy(() => {
|
|
2619
2720
|
if (!loader)
|
|
2620
|
-
return Promise.resolve({ default: () => /* @__PURE__ */ (0,
|
|
2721
|
+
return Promise.resolve({ default: () => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(NotFound, {}) });
|
|
2621
2722
|
return loader();
|
|
2622
2723
|
})
|
|
2623
2724
|
};
|
|
2624
2725
|
});
|
|
2625
2726
|
};
|
|
2626
|
-
const [resolvedRoutes, setResolvedRoutes] = (0,
|
|
2727
|
+
const [resolvedRoutes, setResolvedRoutes] = (0, import_react21.useState)(
|
|
2627
2728
|
() => resolveRoutes(initialRoutes)
|
|
2628
2729
|
);
|
|
2629
|
-
(0,
|
|
2730
|
+
(0, import_react21.useEffect)(() => {
|
|
2630
2731
|
if (hot) {
|
|
2631
2732
|
hot.on("boltdocs:routes-update", (newRoutes) => {
|
|
2632
2733
|
setRoutesInfo(newRoutes);
|
|
2633
2734
|
});
|
|
2634
2735
|
}
|
|
2635
2736
|
}, [hot]);
|
|
2636
|
-
(0,
|
|
2737
|
+
(0, import_react21.useEffect)(() => {
|
|
2637
2738
|
setResolvedRoutes(resolveRoutes(routesInfo));
|
|
2638
2739
|
}, [routesInfo, modules, docsDirName]);
|
|
2639
|
-
return /* @__PURE__ */ (0,
|
|
2640
|
-
/* @__PURE__ */ (0,
|
|
2641
|
-
/* @__PURE__ */ (0,
|
|
2642
|
-
HomePage && /* @__PURE__ */ (0,
|
|
2740
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ConfigContext.Provider, { value: config, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(PreloadProvider, { routes: routesInfo, modules, children: [
|
|
2741
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ScrollHandler, {}),
|
|
2742
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_react_router_dom11.Routes, { children: [
|
|
2743
|
+
HomePage && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2643
2744
|
import_react_router_dom11.Route,
|
|
2644
2745
|
{
|
|
2645
2746
|
path: "/",
|
|
2646
|
-
element: /* @__PURE__ */ (0,
|
|
2747
|
+
element: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2647
2748
|
ThemeLayout,
|
|
2648
2749
|
{
|
|
2649
2750
|
config,
|
|
@@ -2652,20 +2753,20 @@ function AppShell({
|
|
|
2652
2753
|
toc: null,
|
|
2653
2754
|
breadcrumbs: null,
|
|
2654
2755
|
...config.themeConfig?.layoutProps,
|
|
2655
|
-
children: /* @__PURE__ */ (0,
|
|
2756
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(HomePage, {})
|
|
2656
2757
|
}
|
|
2657
2758
|
)
|
|
2658
2759
|
}
|
|
2659
2760
|
),
|
|
2660
|
-
/* @__PURE__ */ (0,
|
|
2761
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2661
2762
|
import_react_router_dom11.Route,
|
|
2662
2763
|
{
|
|
2663
|
-
element: /* @__PURE__ */ (0,
|
|
2664
|
-
children: resolvedRoutes.map((route) => /* @__PURE__ */ (0,
|
|
2764
|
+
element: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DocsLayout, { config, routes: routesInfo }),
|
|
2765
|
+
children: resolvedRoutes.map((route) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2665
2766
|
import_react_router_dom11.Route,
|
|
2666
2767
|
{
|
|
2667
2768
|
path: route.path === "" ? "/" : route.path,
|
|
2668
|
-
element: /* @__PURE__ */ (0,
|
|
2769
|
+
element: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react21.default.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Loading, {}), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2669
2770
|
MdxPage,
|
|
2670
2771
|
{
|
|
2671
2772
|
Component: route.Component,
|
|
@@ -2678,17 +2779,17 @@ function AppShell({
|
|
|
2678
2779
|
},
|
|
2679
2780
|
"docs-layout"
|
|
2680
2781
|
),
|
|
2681
|
-
/* @__PURE__ */ (0,
|
|
2782
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2682
2783
|
import_react_router_dom11.Route,
|
|
2683
2784
|
{
|
|
2684
2785
|
path: "*",
|
|
2685
|
-
element: /* @__PURE__ */ (0,
|
|
2786
|
+
element: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2686
2787
|
ThemeLayout,
|
|
2687
2788
|
{
|
|
2688
2789
|
config,
|
|
2689
2790
|
routes: routesInfo,
|
|
2690
2791
|
...config.themeConfig?.layoutProps,
|
|
2691
|
-
children: /* @__PURE__ */ (0,
|
|
2792
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(NotFound, {})
|
|
2692
2793
|
}
|
|
2693
2794
|
)
|
|
2694
2795
|
}
|
|
@@ -2698,7 +2799,7 @@ function AppShell({
|
|
|
2698
2799
|
}
|
|
2699
2800
|
function ScrollHandler() {
|
|
2700
2801
|
const { pathname, hash } = (0, import_react_router_dom11.useLocation)();
|
|
2701
|
-
(0,
|
|
2802
|
+
(0, import_react23.useLayoutEffect)(() => {
|
|
2702
2803
|
const container = document.querySelector(".boltdocs-content");
|
|
2703
2804
|
if (!container) return;
|
|
2704
2805
|
if (hash) {
|
|
@@ -2725,13 +2826,13 @@ function DocsLayout({
|
|
|
2725
2826
|
config,
|
|
2726
2827
|
routes
|
|
2727
2828
|
}) {
|
|
2728
|
-
return /* @__PURE__ */ (0,
|
|
2829
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2729
2830
|
ThemeLayout,
|
|
2730
2831
|
{
|
|
2731
2832
|
config,
|
|
2732
2833
|
routes,
|
|
2733
2834
|
...config.themeConfig?.layoutProps,
|
|
2734
|
-
children: /* @__PURE__ */ (0,
|
|
2835
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_router_dom11.Outlet, {})
|
|
2735
2836
|
}
|
|
2736
2837
|
);
|
|
2737
2838
|
}
|
|
@@ -2740,7 +2841,7 @@ function MdxPage({
|
|
|
2740
2841
|
customComponents = {}
|
|
2741
2842
|
}) {
|
|
2742
2843
|
const allComponents = { ...mdxComponents, ...customComponents };
|
|
2743
|
-
return /* @__PURE__ */ (0,
|
|
2844
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react22.MDXProvider, { components: allComponents, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Component2, {}) });
|
|
2744
2845
|
}
|
|
2745
2846
|
function createBoltdocsApp(options) {
|
|
2746
2847
|
const { target, routes, docsDirName, config, modules, hot, homePage } = options;
|
|
@@ -2750,7 +2851,7 @@ function createBoltdocsApp(options) {
|
|
|
2750
2851
|
`[boltdocs] Mount target "${target}" not found in document.`
|
|
2751
2852
|
);
|
|
2752
2853
|
}
|
|
2753
|
-
const app = /* @__PURE__ */ (0,
|
|
2854
|
+
const app = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react21.default.StrictMode, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_router_dom11.BrowserRouter, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
2754
2855
|
AppShell,
|
|
2755
2856
|
{
|
|
2756
2857
|
initialRoutes: routes,
|
|
@@ -2765,27 +2866,27 @@ function createBoltdocsApp(options) {
|
|
|
2765
2866
|
container.innerHTML = "";
|
|
2766
2867
|
import_client.default.createRoot(container).render(app);
|
|
2767
2868
|
}
|
|
2768
|
-
var
|
|
2869
|
+
var import_react21, import_client, import_react_router_dom11, import_react22, import_react23, import_lucide_react15, import_jsx_runtime32, ConfigContext, Video2, PackageManagerTabs2, Heading, mdxComponents;
|
|
2769
2870
|
var init_app = __esm({
|
|
2770
2871
|
"src/client/app/index.tsx"() {
|
|
2771
2872
|
"use strict";
|
|
2772
|
-
|
|
2873
|
+
import_react21 = __toESM(require("react"));
|
|
2773
2874
|
import_client = __toESM(require("react-dom/client"));
|
|
2774
2875
|
import_react_router_dom11 = require("react-router-dom");
|
|
2775
2876
|
init_Layout2();
|
|
2776
2877
|
init_NotFound2();
|
|
2777
2878
|
init_Loading2();
|
|
2778
|
-
|
|
2779
|
-
|
|
2780
|
-
|
|
2879
|
+
import_react22 = require("@mdx-js/react");
|
|
2880
|
+
import_react23 = require("react");
|
|
2881
|
+
import_lucide_react15 = require("lucide-react");
|
|
2781
2882
|
init_CodeBlock2();
|
|
2782
2883
|
init_preload();
|
|
2783
|
-
|
|
2784
|
-
ConfigContext = (0,
|
|
2785
|
-
Video2 = (0,
|
|
2884
|
+
import_jsx_runtime32 = require("react/jsx-runtime");
|
|
2885
|
+
ConfigContext = (0, import_react23.createContext)(null);
|
|
2886
|
+
Video2 = (0, import_react23.lazy)(
|
|
2786
2887
|
() => Promise.resolve().then(() => (init_Video2(), Video_exports)).then((m) => ({ default: m.Video }))
|
|
2787
2888
|
);
|
|
2788
|
-
PackageManagerTabs2 = (0,
|
|
2889
|
+
PackageManagerTabs2 = (0, import_react23.lazy)(
|
|
2789
2890
|
() => Promise.resolve().then(() => (init_PackageManagerTabs2(), PackageManagerTabs_exports)).then((m) => ({
|
|
2790
2891
|
default: m.PackageManagerTabs
|
|
2791
2892
|
}))
|
|
@@ -2796,21 +2897,21 @@ var init_app = __esm({
|
|
|
2796
2897
|
children
|
|
2797
2898
|
}) => {
|
|
2798
2899
|
const Tag = `h${level}`;
|
|
2799
|
-
return /* @__PURE__ */ (0,
|
|
2900
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Tag, { id, className: "boltdocs-heading", children: [
|
|
2800
2901
|
children,
|
|
2801
|
-
id && /* @__PURE__ */ (0,
|
|
2902
|
+
id && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("a", { href: `#${id}`, className: "header-anchor", "aria-label": "Anchor", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react15.Link, { size: 16 }) })
|
|
2802
2903
|
] });
|
|
2803
2904
|
};
|
|
2804
2905
|
mdxComponents = {
|
|
2805
|
-
h1: (props) => /* @__PURE__ */ (0,
|
|
2806
|
-
h2: (props) => /* @__PURE__ */ (0,
|
|
2807
|
-
h3: (props) => /* @__PURE__ */ (0,
|
|
2808
|
-
h4: (props) => /* @__PURE__ */ (0,
|
|
2809
|
-
h5: (props) => /* @__PURE__ */ (0,
|
|
2810
|
-
h6: (props) => /* @__PURE__ */ (0,
|
|
2811
|
-
pre: (props) => /* @__PURE__ */ (0,
|
|
2812
|
-
video: (props) => /* @__PURE__ */ (0,
|
|
2813
|
-
PackageManagerTabs: (props) => /* @__PURE__ */ (0,
|
|
2906
|
+
h1: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Heading, { level: 1, ...props }),
|
|
2907
|
+
h2: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Heading, { level: 2, ...props }),
|
|
2908
|
+
h3: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Heading, { level: 3, ...props }),
|
|
2909
|
+
h4: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Heading, { level: 4, ...props }),
|
|
2910
|
+
h5: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Heading, { level: 5, ...props }),
|
|
2911
|
+
h6: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Heading, { level: 6, ...props }),
|
|
2912
|
+
pre: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(CodeBlock, { ...props, children: props.children }),
|
|
2913
|
+
video: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react23.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "video-skeleton" }), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Video2, { ...props }) }),
|
|
2914
|
+
PackageManagerTabs: (props) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react23.Suspense, { fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "pkg-tabs-skeleton" }), children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PackageManagerTabs2, { ...props }) })
|
|
2814
2915
|
};
|
|
2815
2916
|
}
|
|
2816
2917
|
});
|
|
@@ -2859,10 +2960,10 @@ init_Breadcrumbs2();
|
|
|
2859
2960
|
init_BackgroundGradient2();
|
|
2860
2961
|
|
|
2861
2962
|
// src/client/theme/components/Playground/Playground.tsx
|
|
2862
|
-
var
|
|
2963
|
+
var import_react24 = __toESM(require("react"));
|
|
2863
2964
|
var import_react_live = require("react-live");
|
|
2864
|
-
var
|
|
2865
|
-
var
|
|
2965
|
+
var import_lucide_react16 = require("lucide-react");
|
|
2966
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
2866
2967
|
function prepareCode(raw) {
|
|
2867
2968
|
const trimmed = raw.trim();
|
|
2868
2969
|
const fnMatch = trimmed.match(/export\s+default\s+function\s+(\w+)/);
|
|
@@ -2895,48 +2996,48 @@ function Playground({
|
|
|
2895
2996
|
}
|
|
2896
2997
|
const prepared = prepareCode(initialCode);
|
|
2897
2998
|
const useNoInline = forceNoInline ?? prepared.noInline;
|
|
2898
|
-
const [copied, setCopied] = (0,
|
|
2899
|
-
const [activeCode, setActiveCode] = (0,
|
|
2999
|
+
const [copied, setCopied] = (0, import_react24.useState)(false);
|
|
3000
|
+
const [activeCode, setActiveCode] = (0, import_react24.useState)(prepared.code);
|
|
2900
3001
|
const handleCopy = () => {
|
|
2901
3002
|
navigator.clipboard.writeText(activeCode);
|
|
2902
3003
|
setCopied(true);
|
|
2903
3004
|
setTimeout(() => setCopied(false), 2e3);
|
|
2904
3005
|
};
|
|
2905
|
-
const extendedScope = { React:
|
|
2906
|
-
return /* @__PURE__ */ (0,
|
|
3006
|
+
const extendedScope = { React: import_react24.default, ...scope };
|
|
3007
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "boltdocs-playground", "data-readonly": readonly, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2907
3008
|
import_react_live.LiveProvider,
|
|
2908
3009
|
{
|
|
2909
3010
|
code: activeCode,
|
|
2910
3011
|
scope: extendedScope,
|
|
2911
3012
|
theme: void 0,
|
|
2912
3013
|
noInline: useNoInline,
|
|
2913
|
-
children: /* @__PURE__ */ (0,
|
|
2914
|
-
/* @__PURE__ */ (0,
|
|
2915
|
-
/* @__PURE__ */ (0,
|
|
2916
|
-
/* @__PURE__ */ (0,
|
|
2917
|
-
/* @__PURE__ */ (0,
|
|
2918
|
-
/* @__PURE__ */ (0,
|
|
3014
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "playground-split-container", children: [
|
|
3015
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "playground-panel playground-editor-panel", children: [
|
|
3016
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "playground-panel-header", children: [
|
|
3017
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "playground-panel-title", children: [
|
|
3018
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react16.Terminal, { size: 14 }),
|
|
3019
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: readonly ? "Code Example" : "Live Editor" })
|
|
2919
3020
|
] }),
|
|
2920
|
-
/* @__PURE__ */ (0,
|
|
3021
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
2921
3022
|
"button",
|
|
2922
3023
|
{
|
|
2923
3024
|
className: "playground-copy-btn",
|
|
2924
3025
|
onClick: handleCopy,
|
|
2925
3026
|
title: "Copy code",
|
|
2926
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
3027
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react16.Check, { size: 14 }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react16.Copy, { size: 14 })
|
|
2927
3028
|
}
|
|
2928
3029
|
)
|
|
2929
3030
|
] }),
|
|
2930
|
-
/* @__PURE__ */ (0,
|
|
3031
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "playground-panel-content playground-editor", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_live.LiveEditor, { disabled: readonly, onChange: setActiveCode }) })
|
|
2931
3032
|
] }),
|
|
2932
|
-
/* @__PURE__ */ (0,
|
|
2933
|
-
/* @__PURE__ */ (0,
|
|
2934
|
-
/* @__PURE__ */ (0,
|
|
2935
|
-
/* @__PURE__ */ (0,
|
|
3033
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "playground-panel playground-preview-panel", children: [
|
|
3034
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: "playground-panel-header", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "playground-panel-title", children: [
|
|
3035
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_lucide_react16.Play, { size: 14 }),
|
|
3036
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { children: "Preview" })
|
|
2936
3037
|
] }) }),
|
|
2937
|
-
/* @__PURE__ */ (0,
|
|
2938
|
-
/* @__PURE__ */ (0,
|
|
2939
|
-
/* @__PURE__ */ (0,
|
|
3038
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "playground-panel-content playground-preview", children: [
|
|
3039
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_live.LivePreview, {}),
|
|
3040
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_live.LiveError, { className: "playground-error" })
|
|
2940
3041
|
] })
|
|
2941
3042
|
] })
|
|
2942
3043
|
] })
|
|
@@ -2951,7 +3052,7 @@ init_CodeBlock2();
|
|
|
2951
3052
|
init_Video2();
|
|
2952
3053
|
|
|
2953
3054
|
// src/client/theme/components/mdx/Button.tsx
|
|
2954
|
-
var
|
|
3055
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2955
3056
|
function Button({
|
|
2956
3057
|
variant = "primary",
|
|
2957
3058
|
size = "md",
|
|
@@ -2962,7 +3063,7 @@ function Button({
|
|
|
2962
3063
|
}) {
|
|
2963
3064
|
const cls = `ld-btn ld-btn--${variant} ld-btn--${size} ${className}`.trim();
|
|
2964
3065
|
if (href) {
|
|
2965
|
-
return /* @__PURE__ */ (0,
|
|
3066
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2966
3067
|
"a",
|
|
2967
3068
|
{
|
|
2968
3069
|
href,
|
|
@@ -2973,18 +3074,18 @@ function Button({
|
|
|
2973
3074
|
}
|
|
2974
3075
|
);
|
|
2975
3076
|
}
|
|
2976
|
-
return /* @__PURE__ */ (0,
|
|
3077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("button", { className: cls, ...rest, children });
|
|
2977
3078
|
}
|
|
2978
3079
|
|
|
2979
3080
|
// src/client/theme/components/mdx/Badge.tsx
|
|
2980
|
-
var
|
|
3081
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2981
3082
|
function Badge({
|
|
2982
3083
|
variant = "default",
|
|
2983
3084
|
children,
|
|
2984
3085
|
className = "",
|
|
2985
3086
|
...rest
|
|
2986
3087
|
}) {
|
|
2987
|
-
return /* @__PURE__ */ (0,
|
|
3088
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
2988
3089
|
"span",
|
|
2989
3090
|
{
|
|
2990
3091
|
className: `ld-badge ld-badge--${variant} ${className}`.trim(),
|
|
@@ -2995,14 +3096,14 @@ function Badge({
|
|
|
2995
3096
|
}
|
|
2996
3097
|
|
|
2997
3098
|
// src/client/theme/components/mdx/Card.tsx
|
|
2998
|
-
var
|
|
3099
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2999
3100
|
function Cards({
|
|
3000
3101
|
cols = 3,
|
|
3001
3102
|
children,
|
|
3002
3103
|
className = "",
|
|
3003
3104
|
...rest
|
|
3004
3105
|
}) {
|
|
3005
|
-
return /* @__PURE__ */ (0,
|
|
3106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `ld-cards ld-cards--${cols} ${className}`.trim(), ...rest, children });
|
|
3006
3107
|
}
|
|
3007
3108
|
function Card({
|
|
3008
3109
|
title,
|
|
@@ -3012,13 +3113,13 @@ function Card({
|
|
|
3012
3113
|
className = "",
|
|
3013
3114
|
...rest
|
|
3014
3115
|
}) {
|
|
3015
|
-
const inner = /* @__PURE__ */ (0,
|
|
3016
|
-
icon && /* @__PURE__ */ (0,
|
|
3017
|
-
title && /* @__PURE__ */ (0,
|
|
3018
|
-
children && /* @__PURE__ */ (0,
|
|
3116
|
+
const inner = /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
|
|
3117
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("span", { className: "ld-card__icon", children: icon }),
|
|
3118
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("h3", { className: "ld-card__title", children: title }),
|
|
3119
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "ld-card__body", children })
|
|
3019
3120
|
] });
|
|
3020
3121
|
if (href) {
|
|
3021
|
-
return /* @__PURE__ */ (0,
|
|
3122
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3022
3123
|
"a",
|
|
3023
3124
|
{
|
|
3024
3125
|
href,
|
|
@@ -3028,34 +3129,34 @@ function Card({
|
|
|
3028
3129
|
}
|
|
3029
3130
|
);
|
|
3030
3131
|
}
|
|
3031
|
-
return /* @__PURE__ */ (0,
|
|
3132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `ld-card ${className}`.trim(), ...rest, children: inner });
|
|
3032
3133
|
}
|
|
3033
3134
|
|
|
3034
3135
|
// src/client/theme/components/mdx/Tabs.tsx
|
|
3035
|
-
var
|
|
3136
|
+
var import_react25 = require("react");
|
|
3036
3137
|
init_CodeBlock2();
|
|
3037
3138
|
init_npm();
|
|
3038
3139
|
init_pnpm();
|
|
3039
3140
|
init_bun();
|
|
3040
3141
|
init_deno();
|
|
3041
|
-
var
|
|
3142
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3042
3143
|
function Tab({ children }) {
|
|
3043
|
-
const content = typeof children === "string" ? /* @__PURE__ */ (0,
|
|
3044
|
-
return /* @__PURE__ */ (0,
|
|
3144
|
+
const content = typeof children === "string" ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(CodeBlock, { className: "language-bash", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("code", { children: children.trim() }) }) : children;
|
|
3145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "ld-tab-panel", children: content });
|
|
3045
3146
|
}
|
|
3046
3147
|
var getIconForLabel = (label) => {
|
|
3047
3148
|
const l = label.toLowerCase();
|
|
3048
|
-
if (l.includes("pnpm")) return /* @__PURE__ */ (0,
|
|
3049
|
-
if (l.includes("npm")) return /* @__PURE__ */ (0,
|
|
3050
|
-
if (l.includes("bun")) return /* @__PURE__ */ (0,
|
|
3051
|
-
if (l.includes("deno")) return /* @__PURE__ */ (0,
|
|
3149
|
+
if (l.includes("pnpm")) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Pnpm, {});
|
|
3150
|
+
if (l.includes("npm")) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(NPM, {});
|
|
3151
|
+
if (l.includes("bun")) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Bun, {});
|
|
3152
|
+
if (l.includes("deno")) return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Deno, {});
|
|
3052
3153
|
return null;
|
|
3053
3154
|
};
|
|
3054
3155
|
function Tabs2({ defaultIndex = 0, children }) {
|
|
3055
|
-
const [active, setActive] = (0,
|
|
3056
|
-
const tabRefs = (0,
|
|
3057
|
-
const tabs =
|
|
3058
|
-
(child) => (0,
|
|
3156
|
+
const [active, setActive] = (0, import_react25.useState)(defaultIndex);
|
|
3157
|
+
const tabRefs = (0, import_react25.useRef)([]);
|
|
3158
|
+
const tabs = import_react25.Children.toArray(children).filter(
|
|
3159
|
+
(child) => (0, import_react25.isValidElement)(child) && child.props?.label
|
|
3059
3160
|
);
|
|
3060
3161
|
const handleKeyDown = (e) => {
|
|
3061
3162
|
let newIndex = active;
|
|
@@ -3069,11 +3170,11 @@ function Tabs2({ defaultIndex = 0, children }) {
|
|
|
3069
3170
|
tabRefs.current[newIndex]?.focus();
|
|
3070
3171
|
}
|
|
3071
3172
|
};
|
|
3072
|
-
return /* @__PURE__ */ (0,
|
|
3073
|
-
/* @__PURE__ */ (0,
|
|
3173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "ld-tabs", children: [
|
|
3174
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "ld-tabs__bar", role: "tablist", onKeyDown: handleKeyDown, children: tabs.map((child, i) => {
|
|
3074
3175
|
const label = child.props.label;
|
|
3075
3176
|
const Icon = getIconForLabel(label);
|
|
3076
|
-
return /* @__PURE__ */ (0,
|
|
3177
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
|
|
3077
3178
|
"button",
|
|
3078
3179
|
{
|
|
3079
3180
|
role: "tab",
|
|
@@ -3088,13 +3189,13 @@ function Tabs2({ defaultIndex = 0, children }) {
|
|
|
3088
3189
|
onClick: () => setActive(i),
|
|
3089
3190
|
children: [
|
|
3090
3191
|
Icon,
|
|
3091
|
-
/* @__PURE__ */ (0,
|
|
3192
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)("span", { children: label })
|
|
3092
3193
|
]
|
|
3093
3194
|
},
|
|
3094
3195
|
i
|
|
3095
3196
|
);
|
|
3096
3197
|
}) }),
|
|
3097
|
-
/* @__PURE__ */ (0,
|
|
3198
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3098
3199
|
"div",
|
|
3099
3200
|
{
|
|
3100
3201
|
className: "ld-tabs__content",
|
|
@@ -3108,14 +3209,14 @@ function Tabs2({ defaultIndex = 0, children }) {
|
|
|
3108
3209
|
}
|
|
3109
3210
|
|
|
3110
3211
|
// src/client/theme/components/mdx/Admonition.tsx
|
|
3111
|
-
var
|
|
3112
|
-
var
|
|
3212
|
+
var import_lucide_react17 = require("lucide-react");
|
|
3213
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3113
3214
|
var ICON_MAP2 = {
|
|
3114
|
-
note: /* @__PURE__ */ (0,
|
|
3115
|
-
tip: /* @__PURE__ */ (0,
|
|
3116
|
-
info: /* @__PURE__ */ (0,
|
|
3117
|
-
warning: /* @__PURE__ */ (0,
|
|
3118
|
-
danger: /* @__PURE__ */ (0,
|
|
3215
|
+
note: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react17.Bookmark, { size: 18 }),
|
|
3216
|
+
tip: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react17.Lightbulb, { size: 18 }),
|
|
3217
|
+
info: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react17.Info, { size: 18 }),
|
|
3218
|
+
warning: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react17.AlertTriangle, { size: 18 }),
|
|
3219
|
+
danger: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_lucide_react17.ShieldAlert, { size: 18 })
|
|
3119
3220
|
};
|
|
3120
3221
|
var LABEL_MAP = {
|
|
3121
3222
|
note: "Note",
|
|
@@ -3131,35 +3232,35 @@ function Admonition({
|
|
|
3131
3232
|
className = "",
|
|
3132
3233
|
...rest
|
|
3133
3234
|
}) {
|
|
3134
|
-
return /* @__PURE__ */ (0,
|
|
3235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
|
|
3135
3236
|
"div",
|
|
3136
3237
|
{
|
|
3137
3238
|
className: `ld-admonition ld-admonition--${type} ${className}`.trim(),
|
|
3138
3239
|
role: type === "warning" || type === "danger" ? "alert" : "note",
|
|
3139
3240
|
...rest,
|
|
3140
3241
|
children: [
|
|
3141
|
-
/* @__PURE__ */ (0,
|
|
3142
|
-
/* @__PURE__ */ (0,
|
|
3143
|
-
/* @__PURE__ */ (0,
|
|
3242
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "ld-admonition__header", children: [
|
|
3243
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "ld-admonition__icon", children: ICON_MAP2[type] }),
|
|
3244
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { className: "ld-admonition__title", children: title || LABEL_MAP[type] })
|
|
3144
3245
|
] }),
|
|
3145
|
-
/* @__PURE__ */ (0,
|
|
3246
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "ld-admonition__body", children })
|
|
3146
3247
|
]
|
|
3147
3248
|
}
|
|
3148
3249
|
);
|
|
3149
3250
|
}
|
|
3150
|
-
var Note = (props) => /* @__PURE__ */ (0,
|
|
3151
|
-
var Tip = (props) => /* @__PURE__ */ (0,
|
|
3152
|
-
var Warning = (props) => /* @__PURE__ */ (0,
|
|
3153
|
-
var Danger = (props) => /* @__PURE__ */ (0,
|
|
3154
|
-
var InfoBox = (props) => /* @__PURE__ */ (0,
|
|
3251
|
+
var Note = (props) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Admonition, { type: "note", ...props });
|
|
3252
|
+
var Tip = (props) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Admonition, { type: "tip", ...props });
|
|
3253
|
+
var Warning = (props) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Admonition, { type: "warning", ...props });
|
|
3254
|
+
var Danger = (props) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Admonition, { type: "danger", ...props });
|
|
3255
|
+
var InfoBox = (props) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Admonition, { type: "info", ...props });
|
|
3155
3256
|
|
|
3156
3257
|
// src/client/theme/components/mdx/List.tsx
|
|
3157
|
-
var
|
|
3158
|
-
var
|
|
3159
|
-
var
|
|
3258
|
+
var import_react26 = __toESM(require("react"));
|
|
3259
|
+
var import_lucide_react18 = require("lucide-react");
|
|
3260
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3160
3261
|
var ICON_MAP3 = {
|
|
3161
|
-
checked: /* @__PURE__ */ (0,
|
|
3162
|
-
arrow: /* @__PURE__ */ (0,
|
|
3262
|
+
checked: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react18.Check, { size: 14, className: "ld-list__icon" }),
|
|
3263
|
+
arrow: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_lucide_react18.ChevronRight, { size: 14, className: "ld-list__icon" })
|
|
3163
3264
|
};
|
|
3164
3265
|
function List({
|
|
3165
3266
|
variant = "default",
|
|
@@ -3168,27 +3269,27 @@ function List({
|
|
|
3168
3269
|
...rest
|
|
3169
3270
|
}) {
|
|
3170
3271
|
if (variant === "default") {
|
|
3171
|
-
return /* @__PURE__ */ (0,
|
|
3272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("ul", { className: `ld-list ${className}`.trim(), ...rest, children });
|
|
3172
3273
|
}
|
|
3173
3274
|
const icon = ICON_MAP3[variant];
|
|
3174
|
-
return /* @__PURE__ */ (0,
|
|
3175
|
-
if (!
|
|
3176
|
-
return /* @__PURE__ */ (0,
|
|
3275
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("ul", { className: `ld-list ld-list--${variant} ${className}`.trim(), ...rest, children: import_react26.Children.map(children, (child) => {
|
|
3276
|
+
if (!import_react26.default.isValidElement(child)) return child;
|
|
3277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("li", { className: "ld-list__item", children: [
|
|
3177
3278
|
icon,
|
|
3178
|
-
/* @__PURE__ */ (0,
|
|
3279
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "ld-list__text", children: child.props.children })
|
|
3179
3280
|
] });
|
|
3180
3281
|
}) });
|
|
3181
3282
|
}
|
|
3182
3283
|
|
|
3183
3284
|
// src/client/theme/components/mdx/FileTree.tsx
|
|
3184
|
-
var
|
|
3185
|
-
var
|
|
3186
|
-
var
|
|
3285
|
+
var import_react27 = __toESM(require("react"));
|
|
3286
|
+
var import_lucide_react19 = require("lucide-react");
|
|
3287
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3187
3288
|
function getTextContent(node) {
|
|
3188
3289
|
if (typeof node === "string") return node;
|
|
3189
3290
|
if (typeof node === "number") return node.toString();
|
|
3190
3291
|
if (Array.isArray(node)) return node.map(getTextContent).join("");
|
|
3191
|
-
if ((0,
|
|
3292
|
+
if ((0, import_react27.isValidElement)(node)) {
|
|
3192
3293
|
return getTextContent(node.props.children);
|
|
3193
3294
|
}
|
|
3194
3295
|
return "";
|
|
@@ -3196,14 +3297,14 @@ function getTextContent(node) {
|
|
|
3196
3297
|
function getFileIcon(filename) {
|
|
3197
3298
|
const name = filename.toLowerCase();
|
|
3198
3299
|
if (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx") || name.endsWith(".json") || name.endsWith(".mjs") || name.endsWith(".cjs") || name.endsWith(".astro") || name.endsWith(".vue") || name.endsWith(".svelte")) {
|
|
3199
|
-
return /* @__PURE__ */ (0,
|
|
3300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react19.FileCode, { size: 16, strokeWidth: 2, className: "ld-file-tree__icon-file" });
|
|
3200
3301
|
}
|
|
3201
3302
|
if (name.endsWith(".md") || name.endsWith(".mdx") || name.endsWith(".txt")) {
|
|
3202
|
-
return /* @__PURE__ */ (0,
|
|
3303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react19.FileText, { size: 16, strokeWidth: 2, className: "ld-file-tree__icon-file" });
|
|
3203
3304
|
}
|
|
3204
3305
|
if (name.endsWith(".png") || name.endsWith(".jpg") || name.endsWith(".jpeg") || name.endsWith(".svg") || name.endsWith(".gif")) {
|
|
3205
|
-
return /* @__PURE__ */ (0,
|
|
3206
|
-
|
|
3306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3307
|
+
import_lucide_react19.FileImage,
|
|
3207
3308
|
{
|
|
3208
3309
|
size: 16,
|
|
3209
3310
|
strokeWidth: 2,
|
|
@@ -3211,7 +3312,7 @@ function getFileIcon(filename) {
|
|
|
3211
3312
|
}
|
|
3212
3313
|
);
|
|
3213
3314
|
}
|
|
3214
|
-
return /* @__PURE__ */ (0,
|
|
3315
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react19.File, { size: 16, strokeWidth: 2, className: "ld-file-tree__icon-file" });
|
|
3215
3316
|
}
|
|
3216
3317
|
function isListElement(node, tag) {
|
|
3217
3318
|
if (typeof node.type === "string") {
|
|
@@ -3233,25 +3334,25 @@ function FolderNode({
|
|
|
3233
3334
|
nestedNodes,
|
|
3234
3335
|
depth
|
|
3235
3336
|
}) {
|
|
3236
|
-
const [isOpen, setIsOpen] = (0,
|
|
3237
|
-
return /* @__PURE__ */ (0,
|
|
3238
|
-
/* @__PURE__ */ (0,
|
|
3337
|
+
const [isOpen, setIsOpen] = (0, import_react27.useState)(true);
|
|
3338
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("li", { className: "ld-file-tree__item", children: [
|
|
3339
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
3239
3340
|
"div",
|
|
3240
3341
|
{
|
|
3241
3342
|
className: "ld-file-tree__label ld-file-tree__label--folder",
|
|
3242
3343
|
onClick: () => setIsOpen(!isOpen),
|
|
3243
3344
|
style: { cursor: "pointer" },
|
|
3244
3345
|
children: [
|
|
3245
|
-
/* @__PURE__ */ (0,
|
|
3246
|
-
|
|
3346
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ld-file-tree__icon ld-file-tree__icon--chevron", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3347
|
+
import_lucide_react19.ChevronRight,
|
|
3247
3348
|
{
|
|
3248
3349
|
size: 14,
|
|
3249
3350
|
className: `ld-file-tree__chevron ${isOpen ? "ld-file-tree__chevron--open" : ""}`,
|
|
3250
3351
|
strokeWidth: 3
|
|
3251
3352
|
}
|
|
3252
3353
|
) }),
|
|
3253
|
-
/* @__PURE__ */ (0,
|
|
3254
|
-
|
|
3354
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ld-file-tree__icon", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3355
|
+
import_lucide_react19.Folder,
|
|
3255
3356
|
{
|
|
3256
3357
|
size: 16,
|
|
3257
3358
|
strokeWidth: 2,
|
|
@@ -3260,30 +3361,30 @@ function FolderNode({
|
|
|
3260
3361
|
fillOpacity: 0.15
|
|
3261
3362
|
}
|
|
3262
3363
|
) }),
|
|
3263
|
-
/* @__PURE__ */ (0,
|
|
3364
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ld-file-tree__name", children: labelText })
|
|
3264
3365
|
]
|
|
3265
3366
|
}
|
|
3266
3367
|
),
|
|
3267
|
-
isOpen && nestedNodes.length > 0 && /* @__PURE__ */ (0,
|
|
3368
|
+
isOpen && nestedNodes.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "ld-file-tree__nested", children: nestedNodes.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react27.default.Fragment, { children: parseNode(child, depth) }, index)) })
|
|
3268
3369
|
] });
|
|
3269
3370
|
}
|
|
3270
3371
|
function parseNode(node, depth = 0) {
|
|
3271
|
-
if (!(0,
|
|
3372
|
+
if (!(0, import_react27.isValidElement)(node)) {
|
|
3272
3373
|
return node;
|
|
3273
3374
|
}
|
|
3274
3375
|
if (isListElement(node, "ul")) {
|
|
3275
|
-
return /* @__PURE__ */ (0,
|
|
3376
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3276
3377
|
"ul",
|
|
3277
3378
|
{
|
|
3278
3379
|
className: `ld-file-tree__list ${depth === 0 ? "ld-file-tree__list--root" : ""}`,
|
|
3279
|
-
children:
|
|
3380
|
+
children: import_react27.Children.map(node.props.children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react27.default.Fragment, { children: parseNode(child, depth + 1) }, index))
|
|
3280
3381
|
}
|
|
3281
3382
|
);
|
|
3282
3383
|
}
|
|
3283
3384
|
if (isListElement(node, "li")) {
|
|
3284
|
-
const children =
|
|
3385
|
+
const children = import_react27.Children.toArray(node.props.children);
|
|
3285
3386
|
const nestedListIndex = children.findIndex(
|
|
3286
|
-
(child) => (0,
|
|
3387
|
+
(child) => (0, import_react27.isValidElement)(child) && isListElement(child, "ul")
|
|
3287
3388
|
);
|
|
3288
3389
|
const hasNested = nestedListIndex !== -1;
|
|
3289
3390
|
const labelNodes = hasNested ? children.slice(0, nestedListIndex) : children;
|
|
@@ -3293,7 +3394,7 @@ function parseNode(node, depth = 0) {
|
|
|
3293
3394
|
const labelText = isExplicitDir ? rawLabelContent.slice(0, -1) : rawLabelContent;
|
|
3294
3395
|
const isFolder = hasNested || isExplicitDir;
|
|
3295
3396
|
if (isFolder) {
|
|
3296
|
-
return /* @__PURE__ */ (0,
|
|
3397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3297
3398
|
FolderNode,
|
|
3298
3399
|
{
|
|
3299
3400
|
labelText,
|
|
@@ -3302,25 +3403,25 @@ function parseNode(node, depth = 0) {
|
|
|
3302
3403
|
}
|
|
3303
3404
|
);
|
|
3304
3405
|
}
|
|
3305
|
-
return /* @__PURE__ */ (0,
|
|
3306
|
-
/* @__PURE__ */ (0,
|
|
3307
|
-
/* @__PURE__ */ (0,
|
|
3308
|
-
/* @__PURE__ */ (0,
|
|
3406
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("li", { className: "ld-file-tree__item", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: "ld-file-tree__label ld-file-tree__label--file", children: [
|
|
3407
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ld-file-tree__icon ld-file-tree__icon--spacer" }),
|
|
3408
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ld-file-tree__icon", children: getFileIcon(labelText) }),
|
|
3409
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "ld-file-tree__name", children: labelText })
|
|
3309
3410
|
] }) });
|
|
3310
3411
|
}
|
|
3311
3412
|
if (node.props.children) {
|
|
3312
|
-
return
|
|
3413
|
+
return import_react27.Children.map(node.props.children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react27.default.Fragment, { children: parseNode(child, depth) }, index));
|
|
3313
3414
|
}
|
|
3314
3415
|
return node;
|
|
3315
3416
|
}
|
|
3316
3417
|
function FileTree({ children }) {
|
|
3317
|
-
return /* @__PURE__ */ (0,
|
|
3418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "ld-file-tree", dir: "ltr", children: import_react27.Children.map(children, (child) => parseNode(child, 0)) });
|
|
3318
3419
|
}
|
|
3319
3420
|
|
|
3320
3421
|
// src/client/theme/components/mdx/Table.tsx
|
|
3321
|
-
var
|
|
3322
|
-
var
|
|
3323
|
-
var
|
|
3422
|
+
var import_react28 = require("react");
|
|
3423
|
+
var import_lucide_react20 = require("lucide-react");
|
|
3424
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3324
3425
|
function Table({
|
|
3325
3426
|
headers,
|
|
3326
3427
|
data,
|
|
@@ -3330,9 +3431,9 @@ function Table({
|
|
|
3330
3431
|
paginated = false,
|
|
3331
3432
|
pageSize = 10
|
|
3332
3433
|
}) {
|
|
3333
|
-
const [sortConfig, setSortConfig] = (0,
|
|
3334
|
-
const [currentPage, setCurrentPage] = (0,
|
|
3335
|
-
const processedData = (0,
|
|
3434
|
+
const [sortConfig, setSortConfig] = (0, import_react28.useState)(null);
|
|
3435
|
+
const [currentPage, setCurrentPage] = (0, import_react28.useState)(1);
|
|
3436
|
+
const processedData = (0, import_react28.useMemo)(() => {
|
|
3336
3437
|
if (!data) return [];
|
|
3337
3438
|
let items = [...data];
|
|
3338
3439
|
if (sortable && sortConfig !== null) {
|
|
@@ -3349,7 +3450,7 @@ function Table({
|
|
|
3349
3450
|
return items;
|
|
3350
3451
|
}, [data, sortConfig, sortable]);
|
|
3351
3452
|
const totalPages = Math.ceil(processedData.length / pageSize);
|
|
3352
|
-
const paginatedData = (0,
|
|
3453
|
+
const paginatedData = (0, import_react28.useMemo)(() => {
|
|
3353
3454
|
if (!paginated) return processedData;
|
|
3354
3455
|
const start = (currentPage - 1) * pageSize;
|
|
3355
3456
|
return processedData.slice(start, start + pageSize);
|
|
@@ -3364,68 +3465,68 @@ function Table({
|
|
|
3364
3465
|
};
|
|
3365
3466
|
const renderSortIcon = (index) => {
|
|
3366
3467
|
if (!sortable) return null;
|
|
3367
|
-
if (sortConfig?.key !== index) return /* @__PURE__ */ (0,
|
|
3368
|
-
return sortConfig.direction === "asc" ? /* @__PURE__ */ (0,
|
|
3468
|
+
if (sortConfig?.key !== index) return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react20.ChevronDown, { size: 14, className: "ld-table-sort-icon ld-table-sort-icon--hidden" });
|
|
3469
|
+
return sortConfig.direction === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react20.ChevronUp, { size: 14, className: "ld-table-sort-icon" }) : /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react20.ChevronDown, { size: 14, className: "ld-table-sort-icon" });
|
|
3369
3470
|
};
|
|
3370
|
-
const tableContent = children ? children : /* @__PURE__ */ (0,
|
|
3371
|
-
headers && /* @__PURE__ */ (0,
|
|
3471
|
+
const tableContent = children ? children : /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
|
|
3472
|
+
headers && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tr", { children: headers.map((header, i) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3372
3473
|
"th",
|
|
3373
3474
|
{
|
|
3374
3475
|
onClick: () => requestSort(i),
|
|
3375
3476
|
className: sortable ? "ld-table-header--sortable" : "",
|
|
3376
|
-
children: /* @__PURE__ */ (0,
|
|
3477
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ld-table-header-content", children: [
|
|
3377
3478
|
header,
|
|
3378
3479
|
renderSortIcon(i)
|
|
3379
3480
|
] })
|
|
3380
3481
|
},
|
|
3381
3482
|
i
|
|
3382
3483
|
)) }) }),
|
|
3383
|
-
paginatedData && /* @__PURE__ */ (0,
|
|
3484
|
+
paginatedData && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tbody", { children: paginatedData.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("tr", { children: row.map((cell, j) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("td", { children: cell }, j)) }, i)) })
|
|
3384
3485
|
] });
|
|
3385
|
-
return /* @__PURE__ */ (0,
|
|
3386
|
-
/* @__PURE__ */ (0,
|
|
3387
|
-
paginated && totalPages > 1 && /* @__PURE__ */ (0,
|
|
3388
|
-
/* @__PURE__ */ (0,
|
|
3486
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: `ld-table-container ${className}`.trim(), children: [
|
|
3487
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "ld-table-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("table", { className: "ld-table", children: tableContent }) }),
|
|
3488
|
+
paginated && totalPages > 1 && /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ld-table-pagination", children: [
|
|
3489
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ld-table-pagination-info", children: [
|
|
3389
3490
|
"Page ",
|
|
3390
3491
|
currentPage,
|
|
3391
3492
|
" of ",
|
|
3392
3493
|
totalPages
|
|
3393
3494
|
] }),
|
|
3394
|
-
/* @__PURE__ */ (0,
|
|
3395
|
-
/* @__PURE__ */ (0,
|
|
3495
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "ld-table-pagination-controls", children: [
|
|
3496
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3396
3497
|
"button",
|
|
3397
3498
|
{
|
|
3398
3499
|
onClick: () => setCurrentPage(1),
|
|
3399
3500
|
disabled: currentPage === 1,
|
|
3400
3501
|
className: "ld-table-pagination-btn",
|
|
3401
|
-
children: /* @__PURE__ */ (0,
|
|
3502
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react20.ChevronsLeft, { size: 16 })
|
|
3402
3503
|
}
|
|
3403
3504
|
),
|
|
3404
|
-
/* @__PURE__ */ (0,
|
|
3505
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3405
3506
|
"button",
|
|
3406
3507
|
{
|
|
3407
3508
|
onClick: () => setCurrentPage((prev) => Math.max(prev - 1, 1)),
|
|
3408
3509
|
disabled: currentPage === 1,
|
|
3409
3510
|
className: "ld-table-pagination-btn",
|
|
3410
|
-
children: /* @__PURE__ */ (0,
|
|
3511
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react20.ChevronLeft, { size: 16 })
|
|
3411
3512
|
}
|
|
3412
3513
|
),
|
|
3413
|
-
/* @__PURE__ */ (0,
|
|
3514
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3414
3515
|
"button",
|
|
3415
3516
|
{
|
|
3416
3517
|
onClick: () => setCurrentPage((prev) => Math.min(prev + 1, totalPages)),
|
|
3417
3518
|
disabled: currentPage === totalPages,
|
|
3418
3519
|
className: "ld-table-pagination-btn",
|
|
3419
|
-
children: /* @__PURE__ */ (0,
|
|
3520
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react20.ChevronRight, { size: 16 })
|
|
3420
3521
|
}
|
|
3421
3522
|
),
|
|
3422
|
-
/* @__PURE__ */ (0,
|
|
3523
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3423
3524
|
"button",
|
|
3424
3525
|
{
|
|
3425
3526
|
onClick: () => setCurrentPage(totalPages),
|
|
3426
3527
|
disabled: currentPage === totalPages,
|
|
3427
3528
|
className: "ld-table-pagination-btn",
|
|
3428
|
-
children: /* @__PURE__ */ (0,
|
|
3529
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react20.ChevronsRight, { size: 16 })
|
|
3429
3530
|
}
|
|
3430
3531
|
)
|
|
3431
3532
|
] })
|
|
@@ -3434,7 +3535,7 @@ function Table({
|
|
|
3434
3535
|
}
|
|
3435
3536
|
|
|
3436
3537
|
// src/client/theme/components/mdx/Field.tsx
|
|
3437
|
-
var
|
|
3538
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3438
3539
|
function Field({
|
|
3439
3540
|
name,
|
|
3440
3541
|
type,
|
|
@@ -3444,19 +3545,19 @@ function Field({
|
|
|
3444
3545
|
id,
|
|
3445
3546
|
className = ""
|
|
3446
3547
|
}) {
|
|
3447
|
-
return /* @__PURE__ */ (0,
|
|
3448
|
-
/* @__PURE__ */ (0,
|
|
3449
|
-
/* @__PURE__ */ (0,
|
|
3450
|
-
/* @__PURE__ */ (0,
|
|
3451
|
-
type && /* @__PURE__ */ (0,
|
|
3452
|
-
required && /* @__PURE__ */ (0,
|
|
3548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: `ld-field ${className}`.trim(), id, children: [
|
|
3549
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "ld-field__header", children: [
|
|
3550
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "ld-field__signature", children: [
|
|
3551
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("code", { className: "ld-field__name", children: name }),
|
|
3552
|
+
type && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ld-field__type-badge", children: type }),
|
|
3553
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ld-field__required-badge", children: "required" })
|
|
3453
3554
|
] }),
|
|
3454
|
-
defaultValue && /* @__PURE__ */ (0,
|
|
3455
|
-
/* @__PURE__ */ (0,
|
|
3456
|
-
/* @__PURE__ */ (0,
|
|
3555
|
+
defaultValue && /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "ld-field__default", children: [
|
|
3556
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "ld-field__default-label", children: "Default:" }),
|
|
3557
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("code", { className: "ld-field__default-value", children: defaultValue })
|
|
3457
3558
|
] })
|
|
3458
3559
|
] }),
|
|
3459
|
-
/* @__PURE__ */ (0,
|
|
3560
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "ld-field__content", children })
|
|
3460
3561
|
] });
|
|
3461
3562
|
}
|
|
3462
3563
|
// Annotate the CommonJS export names for ESM import in node:
|