boltdocs 2.7.10 → 2.8.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 (193) hide show
  1. package/README.md +2 -2
  2. package/dist/banner-3N4Jd_L9.d.ts +100 -0
  3. package/dist/banner-MynZD_Ox.d.cts +100 -0
  4. package/dist/cache-BMUyNiiA.mjs +6 -0
  5. package/dist/cache-CKm45d2w.cjs +6 -0
  6. package/dist/client/index.cjs +2268 -1
  7. package/dist/client/index.d.cts +86 -110
  8. package/dist/client/index.d.ts +87 -111
  9. package/dist/client/index.js +2214 -1
  10. package/dist/client/mdx.cjs +12 -1
  11. package/dist/client/mdx.d.cts +39 -93
  12. package/dist/client/mdx.d.ts +38 -93
  13. package/dist/client/mdx.js +7 -1
  14. package/dist/client/primitives.cjs +60 -1
  15. package/dist/client/primitives.d.cts +411 -347
  16. package/dist/client/primitives.d.ts +411 -347
  17. package/dist/client/primitives.js +20 -1
  18. package/dist/docs-layout-CwCq42Zt.cjs +1348 -0
  19. package/dist/docs-layout-Dn6S5g59.js +1167 -0
  20. package/dist/doctor-BArviV8X.cjs +28 -0
  21. package/dist/doctor-CgLA7_Uv.mjs +28 -0
  22. package/dist/{doctor-CrytFkqW.cjs → doctor-DyNUVe96.cjs} +1 -1
  23. package/dist/{routes-DP1vmWRj.cjs → doctor-aN_leTbh.mjs} +1 -1
  24. package/dist/{generator-ClVanhvi.mjs → generator-BHCrLU6h.mjs} +2 -2
  25. package/dist/{generator-CHqxiQhF.cjs → generator-CC2yHzhZ.cjs} +2 -2
  26. package/dist/icons-dev-DvJ-hh9x.cjs +1209 -0
  27. package/dist/icons-dev-Oju24Wjp.js +845 -0
  28. package/dist/image-Ch4-GxdO.cjs +268 -0
  29. package/dist/image-Do8V9PCW.js +214 -0
  30. package/dist/mdx-D3A2_l7P.js +520 -0
  31. package/dist/mdx-PLhhPJRS.cjs +531 -0
  32. package/dist/node/cli-entry.cjs +3 -1
  33. package/dist/node/cli-entry.mjs +3 -1
  34. package/dist/node/index.cjs +1 -1
  35. package/dist/node/index.d.cts +258 -152
  36. package/dist/node/index.d.mts +258 -150
  37. package/dist/node/index.mjs +1 -1
  38. package/dist/node/routes/worker.cjs +1 -1
  39. package/dist/node/routes/worker.mjs +1 -1
  40. package/dist/node-BmlP0eBP.cjs +159 -0
  41. package/dist/node-Y8_4ayje.mjs +159 -0
  42. package/dist/package-2nFy_NsW.cjs +6 -0
  43. package/dist/{package--0Yf0t1N.mjs → package-DAbtltXX.mjs} +1 -1
  44. package/dist/parser-B7-6PyQz.cjs +6 -0
  45. package/dist/{parser-Aq8LoH-0.cjs → parser-BzB-zCkF.cjs} +1 -1
  46. package/dist/parser-WGZdWs0X.mjs +6 -0
  47. package/dist/routes-BDDSxAl0.mjs +6 -0
  48. package/dist/routes-DJNJ-rTt.cjs +6 -0
  49. package/dist/routes-DiYC4nD2.cjs +6 -0
  50. package/dist/routes-_Bb2f4eI.mjs +6 -0
  51. package/dist/search-dialog-BXVoecTx.cjs +483 -0
  52. package/dist/search-dialog-BYhOov4S.cjs +331 -0
  53. package/dist/search-dialog-C09riYmx.js +313 -0
  54. package/dist/search-dialog-CUeAfy-8.cjs +8 -0
  55. package/dist/search-dialog-D8gLkhUV.js +453 -0
  56. package/dist/search-dialog-DHc_8FFX.js +8 -0
  57. package/dist/{sidebar-CcBkrm06.d.cts → sidebar-DNq4_ZAa.d.ts} +118 -52
  58. package/dist/{sidebar-CyZS9YOm.d.ts → sidebar-Dlkgbxs6.d.cts} +118 -52
  59. package/dist/utils-BYITg7T5.mjs +7 -0
  60. package/dist/utils-Cjmx1hhk.cjs +7 -0
  61. package/dist/worker-pool-CtqklOXq.cjs +6 -0
  62. package/dist/worker-pool-k0DY6k8T.mjs +6 -0
  63. package/package.json +5 -6
  64. package/src/shared/config-utils.ts +4 -0
  65. package/src/shared/types.ts +52 -6
  66. package/dist/cache-Ba-DZQNH.cjs +0 -6
  67. package/dist/cache-BuMZ58L5.mjs +0 -6
  68. package/dist/cards-BakZPTz9.d.ts +0 -30
  69. package/dist/cards-CQn9mXZS.d.cts +0 -30
  70. package/dist/docs-layout-KoWNZc8_.js +0 -6
  71. package/dist/docs-layout-x2yKt2cL.cjs +0 -6
  72. package/dist/doctor-Be7Ly1oM.mjs +0 -21
  73. package/dist/doctor-jMxWZyLJ.cjs +0 -21
  74. package/dist/icons-dev-B_RZIyxu.js +0 -6
  75. package/dist/icons-dev-BlV3wWFT.cjs +0 -6
  76. package/dist/image-BHhTvQzr.cjs +0 -6
  77. package/dist/image-CqKzYD8f.js +0 -6
  78. package/dist/mdx-DudBEac0.js +0 -7
  79. package/dist/mdx-r4cDQxWu.cjs +0 -7
  80. package/dist/node-DtEDyN1u.cjs +0 -111
  81. package/dist/node-_1jhMGYx.mjs +0 -111
  82. package/dist/package-DrwtlXfk.cjs +0 -6
  83. package/dist/parser-CdNbqN5y.cjs +0 -6
  84. package/dist/parser-nE792MLO.mjs +0 -6
  85. package/dist/rolldown-runtime-fkIsjY3S.mjs +0 -6
  86. package/dist/routes-2k3tbUmC.cjs +0 -6
  87. package/dist/routes-CpxZIsMM.mjs +0 -6
  88. package/dist/search-dialog-B584t9ZF.js +0 -6
  89. package/dist/search-dialog-BvBopRsZ.cjs +0 -6
  90. package/dist/search-dialog-ByvGScjt.js +0 -6
  91. package/dist/search-dialog-Cyko6TJm.cjs +0 -6
  92. package/dist/search-dialog-D6BNohIJ.js +0 -6
  93. package/dist/search-dialog-DuYTIefy.cjs +0 -6
  94. package/dist/utils-CG65J0Sc.mjs +0 -7
  95. package/dist/utils-CKunkU96.cjs +0 -7
  96. package/dist/worker-pool-CGn7DrLb.mjs +0 -6
  97. package/dist/worker-pool-Crbqgw5R.cjs +0 -6
  98. package/src/client/app/config-context.tsx +0 -51
  99. package/src/client/app/doc-page.tsx +0 -38
  100. package/src/client/app/docs-layout.tsx +0 -28
  101. package/src/client/app/head.tsx +0 -122
  102. package/src/client/app/helmet-compat.tsx +0 -36
  103. package/src/client/app/mdx-component.tsx +0 -8
  104. package/src/client/app/mdx-components-context.tsx +0 -72
  105. package/src/client/app/routes-context.tsx +0 -34
  106. package/src/client/app/scroll-handler.tsx +0 -74
  107. package/src/client/app/theme-context.tsx +0 -103
  108. package/src/client/app/ui-context.tsx +0 -42
  109. package/src/client/components/docs-layout-default.tsx +0 -85
  110. package/src/client/components/icons-dev.tsx +0 -282
  111. package/src/client/components/mdx/callout.tsx +0 -97
  112. package/src/client/components/mdx/card.tsx +0 -99
  113. package/src/client/components/mdx/cards.tsx +0 -27
  114. package/src/client/components/mdx/code-block.tsx +0 -184
  115. package/src/client/components/mdx/field.tsx +0 -33
  116. package/src/client/components/mdx/image.tsx +0 -44
  117. package/src/client/components/mdx/index.ts +0 -19
  118. package/src/client/components/mdx/table.tsx +0 -54
  119. package/src/client/components/mdx/typographics.tsx +0 -120
  120. package/src/client/components/mdx/use-code-block.ts +0 -34
  121. package/src/client/components/primitives/breadcrumbs.tsx +0 -54
  122. package/src/client/components/primitives/button-group.tsx +0 -54
  123. package/src/client/components/primitives/button.tsx +0 -6
  124. package/src/client/components/primitives/code-block.tsx +0 -120
  125. package/src/client/components/primitives/docs-layout.tsx +0 -125
  126. package/src/client/components/primitives/error-boundary.tsx +0 -107
  127. package/src/client/components/primitives/heading.tsx +0 -128
  128. package/src/client/components/primitives/helpers/observer.ts +0 -141
  129. package/src/client/components/primitives/image.tsx +0 -26
  130. package/src/client/components/primitives/link.tsx +0 -102
  131. package/src/client/components/primitives/menu.tsx +0 -137
  132. package/src/client/components/primitives/navbar.tsx +0 -466
  133. package/src/client/components/primitives/on-this-page.tsx +0 -430
  134. package/src/client/components/primitives/page-nav.tsx +0 -51
  135. package/src/client/components/primitives/popover.tsx +0 -28
  136. package/src/client/components/primitives/search-dialog.tsx +0 -193
  137. package/src/client/components/primitives/sidebar.tsx +0 -423
  138. package/src/client/components/primitives/skeleton.tsx +0 -26
  139. package/src/client/components/primitives/tabs.tsx +0 -70
  140. package/src/client/components/primitives/tooltip.tsx +0 -81
  141. package/src/client/components/primitives/types.ts +0 -11
  142. package/src/client/components/ui-base/banner.tsx +0 -66
  143. package/src/client/components/ui-base/breadcrumbs.tsx +0 -44
  144. package/src/client/components/ui-base/copy-markdown.tsx +0 -107
  145. package/src/client/components/ui-base/error-boundary.tsx +0 -15
  146. package/src/client/components/ui-base/github-stars.tsx +0 -29
  147. package/src/client/components/ui-base/icons.tsx +0 -240
  148. package/src/client/components/ui-base/index.ts +0 -16
  149. package/src/client/components/ui-base/last-updated.tsx +0 -27
  150. package/src/client/components/ui-base/navbar.tsx +0 -266
  151. package/src/client/components/ui-base/not-found.tsx +0 -26
  152. package/src/client/components/ui-base/on-this-page.tsx +0 -57
  153. package/src/client/components/ui-base/page-nav.tsx +0 -50
  154. package/src/client/components/ui-base/search-dialog.tsx +0 -163
  155. package/src/client/components/ui-base/search-highlight.tsx +0 -10
  156. package/src/client/components/ui-base/sidebar.tsx +0 -92
  157. package/src/client/components/ui-base/tabs.tsx +0 -83
  158. package/src/client/components/ui-base/theme-toggle.tsx +0 -130
  159. package/src/client/components/ui-base/version-i18n.tsx +0 -80
  160. package/src/client/hooks/index.ts +0 -13
  161. package/src/client/hooks/use-analytics.ts +0 -272
  162. package/src/client/hooks/use-breadcrumbs.ts +0 -22
  163. package/src/client/hooks/use-i18n.ts +0 -182
  164. package/src/client/hooks/use-localized-to.ts +0 -113
  165. package/src/client/hooks/use-location.ts +0 -5
  166. package/src/client/hooks/use-navbar.ts +0 -130
  167. package/src/client/hooks/use-page-nav.ts +0 -46
  168. package/src/client/hooks/use-routes.ts +0 -108
  169. package/src/client/hooks/use-search-highlight.ts +0 -185
  170. package/src/client/hooks/use-search.ts +0 -118
  171. package/src/client/hooks/use-sidebar.ts +0 -205
  172. package/src/client/hooks/use-tabs.ts +0 -46
  173. package/src/client/hooks/use-version.ts +0 -111
  174. package/src/client/index.ts +0 -31
  175. package/src/client/mdx.ts +0 -2
  176. package/src/client/primitives.ts +0 -19
  177. package/src/client/ssg/boltdocs-shell.tsx +0 -148
  178. package/src/client/ssg/create-routes.tsx +0 -473
  179. package/src/client/ssg/index.ts +0 -4
  180. package/src/client/ssg/mdx-page.tsx +0 -38
  181. package/src/client/store/boltdocs-context.tsx +0 -137
  182. package/src/client/theme/neutral.css +0 -141
  183. package/src/client/theme/reset.css +0 -189
  184. package/src/client/types.ts +0 -116
  185. package/src/client/utils/cn.ts +0 -6
  186. package/src/client/utils/copy-clipboard.ts +0 -22
  187. package/src/client/utils/get-base-file-path.ts +0 -21
  188. package/src/client/utils/github.ts +0 -121
  189. package/src/client/utils/i18n.ts +0 -23
  190. package/src/client/utils/path.ts +0 -9
  191. package/src/client/utils/react-to-text.ts +0 -34
  192. package/src/client/virtual.d.ts +0 -24
  193. /package/dist/{meta-loader-CWg2gnbY.mjs → meta-loader-DzwDFtdT.mjs} +0 -0
@@ -0,0 +1,1209 @@
1
+ /**
2
+ * Boltdocs - https://boltdocs.vercel.app
3
+ * Copyright (c) 2026 Jesus Alcala
4
+ * Licensed under the MIT License.
5
+ */
6
+ //#region \0rolldown/runtime.js
7
+ var __create = Object.create;
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
10
+ var __getOwnPropNames = Object.getOwnPropertyNames;
11
+ var __getProtoOf = Object.getPrototypeOf;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __exportAll = (all, no_symbols) => {
14
+ let target = {};
15
+ for (var name in all) {
16
+ __defProp(target, name, {
17
+ get: all[name],
18
+ enumerable: true
19
+ });
20
+ }
21
+ if (!no_symbols) {
22
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
23
+ }
24
+ return target;
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
29
+ key = keys[i];
30
+ if (!__hasOwnProp.call(to, key) && key !== except) {
31
+ __defProp(to, key, {
32
+ get: ((k) => from[k]).bind(null, key),
33
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
34
+ });
35
+ }
36
+ }
37
+ }
38
+ return to;
39
+ };
40
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
41
+ value: mod,
42
+ enumerable: true
43
+ }) : target, mod));
44
+
45
+ //#endregion
46
+ let react = require("react");
47
+ let react_router_dom = require("react-router-dom");
48
+ let react_jsx_runtime = require("react/jsx-runtime");
49
+ let clsx = require("clsx");
50
+ let tailwind_merge = require("tailwind-merge");
51
+
52
+ //#region src/client/store/boltdocs-context.tsx
53
+ const PREFERENCES_KEY = "boltdocs-user-preferences";
54
+ const BOLTDOCS_CONTEXT_SYMBOL = Symbol.for("__BDOCS_BOLTDOCS_CONTEXT__");
55
+ const BOLTDOCS_INSTANCE_SYMBOL = Symbol.for("__BDOCS_BOLTDOCS_INSTANCE__");
56
+ const BoltdocsContext = globalThis[BOLTDOCS_CONTEXT_SYMBOL] || (globalThis[BOLTDOCS_CONTEXT_SYMBOL] = (0, react.createContext)(void 0));
57
+ function BoltdocsProvider({ children, initialLocale = "", initialVersion = "" }) {
58
+ const getSavedPrefs = () => {
59
+ if (typeof window === "undefined") return {};
60
+ try {
61
+ const raw = localStorage.getItem(PREFERENCES_KEY);
62
+ return raw ? JSON.parse(raw) : {};
63
+ } catch {
64
+ return {};
65
+ }
66
+ };
67
+ const [locale, setLocaleState] = (0, react.useState)(() => {
68
+ if (initialLocale) return initialLocale;
69
+ return getSavedPrefs().locale || "";
70
+ });
71
+ const [version, setVersionState] = (0, react.useState)(() => {
72
+ if (initialVersion) return initialVersion;
73
+ return getSavedPrefs().version || "";
74
+ });
75
+ const [hasHydrated, setHasHydrated] = (0, react.useState)(() => {
76
+ return typeof window !== "undefined";
77
+ });
78
+ (0, react.useEffect)(() => {
79
+ setHasHydrated(true);
80
+ }, []);
81
+ const value = (0, react.useMemo)(() => {
82
+ const updateLocale = (l) => {
83
+ const newL = l || "";
84
+ setLocaleState(newL);
85
+ if (typeof window !== "undefined") try {
86
+ const prefs = getSavedPrefs();
87
+ localStorage.setItem(PREFERENCES_KEY, JSON.stringify({
88
+ ...prefs,
89
+ locale: newL
90
+ }));
91
+ } catch (e) {}
92
+ };
93
+ const updateVersion = (v) => {
94
+ const newV = v || "";
95
+ setVersionState(newV);
96
+ if (typeof window !== "undefined") try {
97
+ const prefs = getSavedPrefs();
98
+ localStorage.setItem(PREFERENCES_KEY, JSON.stringify({
99
+ ...prefs,
100
+ version: newV
101
+ }));
102
+ } catch (e) {}
103
+ };
104
+ return {
105
+ currentLocale: locale,
106
+ currentVersion: version,
107
+ setLocale: updateLocale,
108
+ setVersion: updateVersion,
109
+ hasHydrated,
110
+ setHasHydrated
111
+ };
112
+ }, [
113
+ locale,
114
+ version,
115
+ hasHydrated
116
+ ]);
117
+ if (typeof globalThis !== "undefined") globalThis[BOLTDOCS_INSTANCE_SYMBOL] = value;
118
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BoltdocsContext.Provider, {
119
+ value,
120
+ children
121
+ });
122
+ }
123
+ function useBoltdocsContext() {
124
+ const context = (0, react.use)(BoltdocsContext);
125
+ if (!context && typeof globalThis !== "undefined" && globalThis[BOLTDOCS_INSTANCE_SYMBOL]) return globalThis[BOLTDOCS_INSTANCE_SYMBOL];
126
+ if (!context) throw new Error("useBoltdocsContext must be used within a BoltdocsProvider");
127
+ return context;
128
+ }
129
+
130
+ //#endregion
131
+ //#region src/client/app/config-context.tsx
132
+ /**
133
+ * Context for the global documentation configuration.
134
+ * Using a global singleton pattern to survive dual-package or duplicated-code hazards.
135
+ */
136
+ const CONFIG_CONTEXT_SYMBOL = Symbol.for("__BDOCS_CONFIG_CONTEXT__");
137
+ const CONFIG_INSTANCE_SYMBOL = Symbol.for("__BDOCS_CONFIG_INSTANCE__");
138
+ const ConfigContext = globalThis[CONFIG_CONTEXT_SYMBOL] || (globalThis[CONFIG_CONTEXT_SYMBOL] = (0, react.createContext)(null));
139
+ /**
140
+ * Hook to access the Boltdocs configuration.
141
+ */
142
+ function useConfig() {
143
+ const context = (0, react.use)(ConfigContext);
144
+ if (!context && typeof globalThis !== "undefined" && globalThis[CONFIG_INSTANCE_SYMBOL]) return globalThis[CONFIG_INSTANCE_SYMBOL];
145
+ if (!context) throw new Error("useConfig must be used within a ConfigProvider");
146
+ return context;
147
+ }
148
+
149
+ //#endregion
150
+ //#region src/client/components/ui-base/icons.tsx
151
+ var icons_exports = /* @__PURE__ */ __exportAll({
152
+ AlertCircle: () => AlertCircle,
153
+ AlertTriangle: () => AlertTriangle,
154
+ ArrowLeft: () => ArrowLeft,
155
+ Check: () => Check,
156
+ ChevronDown: () => ChevronDown,
157
+ ChevronLeft: () => ChevronLeft,
158
+ ChevronRight: () => ChevronRight,
159
+ CircleHelp: () => CircleHelp,
160
+ Copy: () => Copy,
161
+ CornerDownLeft: () => CornerDownLeft,
162
+ ExternalLink: () => ExternalLink,
163
+ File: () => File,
164
+ FileText: () => FileText,
165
+ Hash: () => Hash,
166
+ Home: () => Home,
167
+ Info: () => Info,
168
+ Languages: () => Languages,
169
+ Lightbulb: () => Lightbulb,
170
+ Link: () => Link$1,
171
+ Menu: () => Menu,
172
+ Monitor: () => Monitor,
173
+ Moon: () => Moon,
174
+ MoreVertical: () => MoreVertical,
175
+ Pencil: () => Pencil,
176
+ Search: () => Search,
177
+ Sun: () => Sun,
178
+ TextAlignStart: () => TextAlignStart,
179
+ X: () => X
180
+ });
181
+ function createIcon(displayName, paths, viewBox = "0 0 24 24") {
182
+ const Component = ({ size = 24, className, ...props }) => {
183
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
184
+ xmlns: "http://www.w3.org/2000/svg",
185
+ width: size,
186
+ height: size,
187
+ viewBox,
188
+ fill: "none",
189
+ stroke: "currentColor",
190
+ strokeWidth: "2",
191
+ strokeLinecap: "round",
192
+ strokeLinejoin: "round",
193
+ className,
194
+ ...props,
195
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: displayName }), paths]
196
+ });
197
+ };
198
+ Component.displayName = displayName;
199
+ return Component;
200
+ }
201
+ const Info = createIcon("Info", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
202
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
203
+ cx: "12",
204
+ cy: "12",
205
+ r: "10"
206
+ }),
207
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 16v-4" }),
208
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 8h.01" })
209
+ ] }));
210
+ const Lightbulb = createIcon("Lightbulb", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
211
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A5 5 0 0 0 8 8c0 1 .3 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5" }),
212
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M9 18h6" }),
213
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M10 22h4" })
214
+ ] }));
215
+ const AlertTriangle = createIcon("AlertTriangle", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
216
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z" }),
217
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
218
+ x1: "12",
219
+ y1: "9",
220
+ x2: "12",
221
+ y2: "13"
222
+ }),
223
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
224
+ x1: "12",
225
+ y1: "17",
226
+ x2: "12.01",
227
+ y2: "17"
228
+ })
229
+ ] }));
230
+ const AlertCircle = createIcon("AlertCircle", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
231
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
232
+ cx: "12",
233
+ cy: "12",
234
+ r: "10"
235
+ }),
236
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
237
+ x1: "12",
238
+ y1: "8",
239
+ x2: "12",
240
+ y2: "12"
241
+ }),
242
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
243
+ x1: "12",
244
+ y1: "16",
245
+ x2: "12.01",
246
+ y2: "16"
247
+ })
248
+ ] }));
249
+ const Copy = createIcon("Copy", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
250
+ width: "14",
251
+ height: "14",
252
+ x: "8",
253
+ y: "8",
254
+ rx: "2",
255
+ ry: "2"
256
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" })] }));
257
+ const Check = createIcon("Check", /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M20 6 9 17l-5-5" }));
258
+ const File = createIcon("File", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" })] }));
259
+ const ArrowLeft = createIcon("ArrowLeft", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m12 19-7-7 7-7" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M19 12H5" })] }));
260
+ const Pencil = createIcon("Pencil", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 20h9" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z" })] }));
261
+ const CircleHelp = createIcon("CircleHelp", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
262
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
263
+ cx: "12",
264
+ cy: "12",
265
+ r: "10"
266
+ }),
267
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
268
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 17h.01" })
269
+ ] }));
270
+ const TextAlignStart = createIcon("TextAlignStart", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
271
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
272
+ x1: "21",
273
+ x2: "3",
274
+ y1: "6",
275
+ y2: "6"
276
+ }),
277
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
278
+ x1: "15",
279
+ x2: "3",
280
+ y1: "12",
281
+ y2: "12"
282
+ }),
283
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
284
+ x1: "17",
285
+ x2: "3",
286
+ y1: "18",
287
+ y2: "18"
288
+ })
289
+ ] }));
290
+ const ExternalLink = createIcon("ExternalLink", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
291
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6" }),
292
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("polyline", { points: "15 3 21 3 21 9" }),
293
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
294
+ x1: "10",
295
+ y1: "14",
296
+ x2: "21",
297
+ y2: "3"
298
+ })
299
+ ] }));
300
+ const ChevronDown = createIcon("ChevronDown", /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m6 9 6 6 6-6" }));
301
+ const Home = createIcon("Home", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("polyline", { points: "9 22 9 12 15 12 15 22" })] }));
302
+ const Search = createIcon("Search", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
303
+ cx: "11",
304
+ cy: "11",
305
+ r: "8"
306
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m21 21-4.3-4.3" })] }));
307
+ const Sun = createIcon("Sun", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
308
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
309
+ cx: "12",
310
+ cy: "12",
311
+ r: "4"
312
+ }),
313
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 2v2" }),
314
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 20v2" }),
315
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m4.93 4.93 1.41 1.41" }),
316
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m17.66 17.66 1.41 1.41" }),
317
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M2 12h2" }),
318
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M20 12h2" }),
319
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m6.34 17.66-1.41 1.41" }),
320
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m19.07 4.93-1.41 1.41" })
321
+ ] }));
322
+ const Moon = createIcon("Moon", /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" }));
323
+ const Monitor = createIcon("Monitor", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
324
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
325
+ width: "20",
326
+ height: "14",
327
+ x: "2",
328
+ y: "3",
329
+ rx: "2"
330
+ }),
331
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
332
+ x1: "8",
333
+ x2: "16",
334
+ y1: "21",
335
+ y2: "21"
336
+ }),
337
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
338
+ x1: "12",
339
+ x2: "12",
340
+ y1: "17",
341
+ y2: "21"
342
+ })
343
+ ] }));
344
+ const Languages = createIcon("Languages", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
345
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m5 8 6 6" }),
346
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m4 14 6-6 2-3" }),
347
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M2 5h12" }),
348
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M7 2h1" }),
349
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m22 22-5-10-5 10" }),
350
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M14 18h6" })
351
+ ] }));
352
+ const Menu = createIcon("Menu", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
353
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
354
+ x1: "4",
355
+ x2: "20",
356
+ y1: "12",
357
+ y2: "12"
358
+ }),
359
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
360
+ x1: "4",
361
+ x2: "20",
362
+ y1: "6",
363
+ y2: "6"
364
+ }),
365
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
366
+ x1: "4",
367
+ x2: "20",
368
+ y1: "18",
369
+ y2: "18"
370
+ })
371
+ ] }));
372
+ const X = createIcon("X", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M18 6 6 18" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m6 6 12 12" })] }));
373
+ const Link$1 = createIcon("Link", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" })] }));
374
+ const ChevronRight = createIcon("ChevronRight", /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m9 18 6-6-6-6" }));
375
+ const MoreVertical = createIcon("MoreVertical", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
376
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
377
+ cx: "12",
378
+ cy: "12",
379
+ r: "1"
380
+ }),
381
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
382
+ cx: "12",
383
+ cy: "5",
384
+ r: "1"
385
+ }),
386
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
387
+ cx: "12",
388
+ cy: "19",
389
+ r: "1"
390
+ })
391
+ ] }));
392
+ const ChevronLeft = createIcon("ChevronLeft", /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "m15 18-6-6 6-6" }));
393
+ const Hash = createIcon("Hash", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
394
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
395
+ x1: "4",
396
+ x2: "20",
397
+ y1: "9",
398
+ y2: "9"
399
+ }),
400
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
401
+ x1: "4",
402
+ x2: "20",
403
+ y1: "15",
404
+ y2: "15"
405
+ }),
406
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
407
+ x1: "10",
408
+ x2: "8",
409
+ y1: "3",
410
+ y2: "21"
411
+ }),
412
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
413
+ x1: "16",
414
+ x2: "14",
415
+ y1: "3",
416
+ y2: "21"
417
+ })
418
+ ] }));
419
+ const FileText = createIcon("FileText", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
420
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z" }),
421
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M14 2v4a2 2 0 0 0 2 2h4" }),
422
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M10 9H8" }),
423
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M16 13H8" }),
424
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M16 17H8" })
425
+ ] }));
426
+ const CornerDownLeft = createIcon("CornerDownLeft", /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("polyline", { points: "9 10 4 15 9 20" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M20 4v7a4 4 0 0 1-4 4H4" })] }));
427
+
428
+ //#endregion
429
+ //#region src/client/app/routes-context.tsx
430
+ const RoutesContext = (0, react.createContext)({ routes: [] });
431
+ /**
432
+ * Hook to access the processed routes list from the closest provider.
433
+ */
434
+ function useRoutesContext() {
435
+ return (0, react.use)(RoutesContext);
436
+ }
437
+ /**
438
+ * Provider component for the documentation routes.
439
+ */
440
+ function RoutesProvider({ routes, children }) {
441
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RoutesContext.Provider, {
442
+ value: { routes },
443
+ children
444
+ });
445
+ }
446
+
447
+ //#endregion
448
+ //#region src/client/utils/path.ts
449
+ /**
450
+ * Normalizes a URL path by stripping any trailing slash unless it's the root path.
451
+ *
452
+ * @param p - The path to normalize.
453
+ * @returns The normalized path.
454
+ */
455
+ function normalizePath(p) {
456
+ return p.endsWith("/") && p.length > 1 ? p.slice(0, -1) : p;
457
+ }
458
+
459
+ //#endregion
460
+ //#region src/client/hooks/use-routes.ts
461
+ /**
462
+ * Hook to access the framework's routing state.
463
+ * Returns both the complete set of routes and a filtered list based on the current
464
+ * version and locale.
465
+ */
466
+ function useRoutes() {
467
+ const { routes: allRoutes } = useRoutesContext();
468
+ const config = useConfig();
469
+ const location = (0, react_router_dom.useLocation)();
470
+ const { hasHydrated, currentLocale: currentLocaleStore, currentVersion: currentVersionStore } = useBoltdocsContext();
471
+ const currentPath = normalizePath(location.pathname);
472
+ const currentRoute = allRoutes?.find?.((r) => normalizePath(r.path) === currentPath);
473
+ const currentLocale = config.i18n ? currentLocaleStore || config.i18n.defaultLocale : void 0;
474
+ const currentVersion = config.versions ? currentVersionStore || config.versions.defaultVersion : void 0;
475
+ const routes = (0, react.useMemo)(() => {
476
+ if (!allRoutes) return [];
477
+ const alternateCounts = /* @__PURE__ */ new Map();
478
+ const defaultLocale = config.i18n?.defaultLocale || "";
479
+ const defaultVersion = config.versions?.defaultVersion || "";
480
+ for (const r of allRoutes) {
481
+ const locale = r.locale || defaultLocale;
482
+ const version = r.version || defaultVersion;
483
+ const key = `${r.filePath}::${locale}::${version}`;
484
+ alternateCounts.set(key, (alternateCounts.get(key) || 0) + 1);
485
+ }
486
+ return allRoutes.filter((r) => {
487
+ const localeMatch = config.i18n ? (r.locale || config.i18n.defaultLocale) === currentLocale : true;
488
+ const versionMatch = config.versions ? (r.version || config.versions.defaultVersion) === currentVersion : true;
489
+ if (!(localeMatch && versionMatch)) return false;
490
+ const isCurrentLocalePrefixed = !!currentRoute?.locale;
491
+ const isCurrentVersionPrefixed = !!currentRoute?.version;
492
+ const isRouteLocalePrefixed = !!r.locale;
493
+ const isRouteVersionPrefixed = !!r.version;
494
+ const locale = r.locale || defaultLocale;
495
+ const version = r.version || defaultVersion;
496
+ const key = `${r.filePath}::${locale}::${version}`;
497
+ if ((alternateCounts.get(key) || 0) > 1) {
498
+ const localeMismatch = config.i18n && isCurrentLocalePrefixed !== isRouteLocalePrefixed;
499
+ const versionMismatch = config.versions && isCurrentVersionPrefixed !== isRouteVersionPrefixed;
500
+ if (localeMismatch || versionMismatch) return false;
501
+ }
502
+ return true;
503
+ });
504
+ }, [
505
+ allRoutes,
506
+ config,
507
+ currentLocale,
508
+ currentVersion,
509
+ currentRoute
510
+ ]);
511
+ const collections = (0, react.useMemo)(() => {
512
+ return new Set((allRoutes || []).map((r) => r.collection).filter(Boolean));
513
+ }, [allRoutes]);
514
+ const currentSegment = location.pathname.split("/").filter(Boolean)[0]?.toLowerCase();
515
+ return {
516
+ routes,
517
+ allRoutes,
518
+ currentRoute,
519
+ isCollectionPage: !!currentRoute?.collection || (currentSegment ? collections.has(currentSegment) : false),
520
+ currentLocale,
521
+ currentVersion
522
+ };
523
+ }
524
+
525
+ //#endregion
526
+ //#region src/client/hooks/use-localized-to.ts
527
+ function useLocalizedTo(to) {
528
+ const config = useConfig();
529
+ const { currentLocale: activeLocale, currentVersion: activeVersion, allRoutes } = useRoutes();
530
+ if (!config || typeof to !== "string") return to;
531
+ if (to.startsWith("http") || to.startsWith("//") || to.startsWith("#") || to.startsWith("site:")) return to.replace("site:", "");
532
+ const [pathOnly, hashAndQuery] = to.split(/([?#].*)/s);
533
+ const normalizedTo = pathOnly.endsWith("/") && pathOnly.length > 1 ? pathOnly.slice(0, -1) : pathOnly;
534
+ const isKnownRoute = allRoutes?.some((r) => {
535
+ return (r.path.endsWith("/") && r.path.length > 1 ? r.path.slice(0, -1) : r.path) === (normalizedTo || "/");
536
+ });
537
+ const i18n = config.i18n;
538
+ const versions = config.versions;
539
+ const base = (config.base || "/docs").replace(/\/$/, "");
540
+ const baseSegment = base.startsWith("/") ? base.substring(1) : base;
541
+ const rawParts = pathOnly.split("/").filter(Boolean);
542
+ const isDocsPath = baseSegment && rawParts.length > 0 && rawParts[0] === baseSegment || !isKnownRoute && rawParts.length > 0;
543
+ const parts = [...rawParts];
544
+ let pIdx = 0;
545
+ if (baseSegment && parts[pIdx] === baseSegment) pIdx++;
546
+ if (versions && parts.length > pIdx) {
547
+ if (versions.versions.find((v) => v.path === parts[pIdx])) pIdx++;
548
+ }
549
+ if (i18n && parts.length > pIdx && (Array.isArray(i18n.locales) ? i18n.locales.includes(parts[pIdx]) : parts[pIdx] in i18n.locales)) pIdx++;
550
+ const routeContent = parts.slice(pIdx);
551
+ const resultParts = [];
552
+ if (isDocsPath) {
553
+ if (baseSegment) resultParts.push(baseSegment);
554
+ if (versions && activeVersion) resultParts.push(activeVersion);
555
+ if (i18n && activeLocale) resultParts.push(activeLocale);
556
+ } else if (i18n && activeLocale) resultParts.push(activeLocale);
557
+ resultParts.push(...routeContent);
558
+ let finalPath = `/${resultParts.join("/")}`;
559
+ if (pathOnly.endsWith("/") && pathOnly.length > 1 && !finalPath.endsWith("/")) finalPath += "/";
560
+ return (finalPath || "/") + (hashAndQuery || "");
561
+ }
562
+
563
+ //#endregion
564
+ //#region src/client/utils/cn.ts
565
+ function cn(...inputs) {
566
+ return (0, tailwind_merge.twMerge)((0, clsx.clsx)(inputs));
567
+ }
568
+
569
+ //#endregion
570
+ //#region src/client/components/primitives/link.tsx
571
+ /**
572
+ * A primitive Link component that wraps a standard anchor tag
573
+ * and adds framework-specific logic for path localization and preloading.
574
+ */
575
+ function Link(props) {
576
+ const { href, onMouseEnter, onFocus, onClick, ...rest } = props;
577
+ const navigate = (0, react_router_dom.useNavigate)();
578
+ const localizedHref = useLocalizedTo(href ?? "");
579
+ const handleClick = (e) => {
580
+ onClick?.(e);
581
+ if (e.defaultPrevented) return;
582
+ if (!(localizedHref && (localizedHref.startsWith("http://") || localizedHref.startsWith("https://") || localizedHref.startsWith("//")))) {
583
+ e.preventDefault();
584
+ navigate(localizedHref);
585
+ }
586
+ };
587
+ const handleMouseEnter = (e) => {
588
+ onMouseEnter?.(e);
589
+ };
590
+ const handleFocus = (e) => {
591
+ onFocus?.(e);
592
+ };
593
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
594
+ ...rest,
595
+ href: localizedHref,
596
+ onClick: handleClick,
597
+ onMouseEnter: handleMouseEnter,
598
+ onFocus: handleFocus
599
+ });
600
+ }
601
+ /**
602
+ * A primitive NavLink component that provides active state detection.
603
+ */
604
+ function NavLink(props) {
605
+ const { href, end = false, className, children, ...rest } = props;
606
+ const location = (0, react_router_dom.useLocation)();
607
+ const localizedHref = useLocalizedTo(href ?? "");
608
+ const isActive = end ? location.pathname === localizedHref : location.pathname.startsWith(localizedHref);
609
+ const resolvedClassName = typeof className === "function" ? className({ isActive }) : cn(className, isActive && "active");
610
+ const resolvedChildren = typeof children === "function" ? children({ isActive }) : children;
611
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Link, {
612
+ ...rest,
613
+ href,
614
+ className: resolvedClassName,
615
+ children: resolvedChildren
616
+ });
617
+ }
618
+
619
+ //#endregion
620
+ //#region src/client/components/icons-dev.tsx
621
+ function wrapperProps(props) {
622
+ const { size = 20, ...rest } = props;
623
+ return {
624
+ ...rest,
625
+ width: size,
626
+ height: size
627
+ };
628
+ }
629
+ const Github = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
630
+ xmlns: "http://www.w3.org/2000/svg",
631
+ viewBox: "0 0 24 24",
632
+ fill: "currentColor",
633
+ ...wrapperProps(props),
634
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "GitHub" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" })]
635
+ });
636
+ const Csv = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
637
+ xmlns: "http://www.w3.org/2000/svg",
638
+ fill: "none",
639
+ viewBox: "0 0 24 24",
640
+ ...wrapperProps(props),
641
+ children: [
642
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "CSV" }),
643
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("mask", {
644
+ id: "a",
645
+ maskUnits: "userSpaceOnUse",
646
+ x: "3",
647
+ y: "3",
648
+ width: "18",
649
+ height: "18",
650
+ fill: "#000",
651
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
652
+ fill: "#fff",
653
+ d: "M3 3h18v18H3z"
654
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
655
+ fillRule: "evenodd",
656
+ clipRule: "evenodd",
657
+ d: "M15.8889 5H8.11111C6.39289 5 5 6.39289 5 8.11111v7.77779C5 17.6071 6.39289 19 8.11111 19h7.77779C17.6071 19 19 17.6071 19 15.8889V8.11111C19 6.39289 17.6071 5 15.8889 5Zm0 12.4444H8.1111c-.05369 0-.10674-.0027-.15904-.008.0523.0053.10536.008.15905.008h7.77779Zm1.5555-1.5555c0 .8054-.6121 1.4679-1.3965 1.5475.7844-.0797 1.3965-.7421 1.3965-1.5475V8.11111v7.77779Z"
658
+ })]
659
+ }),
660
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
661
+ d: "M15.8889 19.4444c1.1046 0 2-.8954 2-2 0-1.1045-.8954-2-2-2v4Zm-7.7778-2 .00001-2H8.1111v2Zm-.15904-.008.20206-1.9898c-1.09891-.1115-2.08022.6888-2.19182 1.7877-.1116 1.099.68877 2.0803 1.78768 2.1919l.20208-1.9898Zm8.09584 0-.2021-1.9897c-1.0989.1116-1.8992 1.0929-1.7876 2.1918.1116 1.0989 1.0929 1.8993 2.1918 1.7877l-.2021-1.9898Zm3.3965-9.32529c0-1.10457-.8954-2-2-2-1.1045 0-2 .89543-2 2h4ZM8.11111 7h7.77779V3H8.11111v4ZM7 8.11111C7 7.49746 7.49746 7 8.11111 7V3C5.28832 3 3 5.28832 3 8.11111h4Zm0 7.77779V8.11111H3v7.77779h4ZM8.11111 17C7.49746 17 7 16.5025 7 15.8889H3C3 18.7117 5.28832 21 8.11111 21v-4Zm7.77779 0H8.11111v4h7.77779v-4ZM17 15.8889C17 16.5025 16.5025 17 15.8889 17v4C18.7117 21 21 18.7117 21 15.8889h-4Zm0-7.77779v7.77779h4V8.11111h-4ZM15.8889 7C16.5025 7 17 7.49746 17 8.11111h4C21 5.28832 18.7117 3 15.8889 3v4Zm0 8.4444H8.11111l-.00001 4h7.7778v-4Zm-7.7778 0c.01378 0 .02816.0007.04302.0022l-.40411 3.9796c.11944.0121.23994.0182.36109.0182v-4Zm-.36112 3.9818c.11935.0121.23985.0182.36113.0182v-4c.01389 0 .02828.0008.04304.0022l-.40417 3.9796Zm.36113.0182h7.77779v-4H8.11111v4Zm8.13889-.0182c1.7951-.1823 3.1944-1.6951 3.1944-3.5373h-4c0-.2314.1752-.4193.4015-.4423l.4041 3.9796Zm-.8056-3.5373c0-.2314.1752-.4193.4014-.4422l.4042 3.9795c1.795-.1823 3.1944-1.6951 3.1944-3.5373h-4Zm0-7.77779v7.77779h4V8.11111h-4Zm4 0c0-.07155-.0038-.14596-.0124-.22267-.0086-.07678-.0218-.15478-.0403-.23343-.0184-.07869-.0416-.15651-.0697-.233-.0281-.07648-.0604-.15005-.0963-.22045-.036-.07036-.0749-.13629-.1158-.1978-.0408-.06145-.0832-.11775-.1258-.16912-.085-.10251-.1704-.18478-.2468-.2495-.0383-.03245-.0749-.061-.1089-.08594-.034-.02494-.0659-.04672-.0949-.06556-.029-.01883-.0558-.03518-.0797-.04914-.0239-.01396-.0456-.02598-.0644-.03606-.0188-.01008-.0355-.01864-.0493-.02558-.0139-.00694-.0257-.01268-.0348-.01701-.009-.00429-.0163-.00769-.0207-.00971-.0022-.00104-.004-.00187-.0051-.00238-.0006-.00025-.001-.00046-.0013-.00059-.0002-.00006-.0003-.00011-.0003-.00014-.0001-.00001-.0001-.00003-.0001-.00004v-.00001c-.0006-.00027.0028.00131.0068.00316.0044.00202.0117.00541.0207.00971.0091.00433.0209.01007.0348.01701.0138.00694.0305.0155.0493.02558.0188.01008.0405.0221.0644.03606.0239.01396.0507.03031.0797.04914.029.01883.0609.04062.0949.06556.0339.02494.0706.05349.1089.08594.0764.06472.1618.14698.2468.24949.0426.05138.085.10768.1258.16913.0409.06151.0798.12744.1157.19779.036.07041.0683.14397.0964.22046.028.07648.0513.15431.0697.23299.0185.07865.0317.15665.0403.23344.0086.07671.0124.15112.0124.22267h-4c0 .07154.0039.14595.0125.22267.0086.07678.0218.15478.0402.23343.0185.07868.0417.15651.0698.233.0281.07648.0604.15005.0963.22045.036.07036.0749.13629.1158.1978.0408.06144.0832.11775.1258.16912.0849.10251.1704.18478.2468.2495.0383.03244.0749.061.1089.08594.0339.02493.0658.04672.0949.06556.029.01883.0558.03517.0797.04914.0239.01396.0456.02598.0644.03606.0188.01007.0354.01864.0493.02558.0139.00693.0257.01268.0348.01701.009.00429.0163.00769.0207.00971.0022.00104.004.00187.0051.00237.0006.00026.001.00047.0013.00059.0001.00007.0003.00012.0003.00015.0001.00001.0001.00003.0001.00004v.00001c.0006.00026-.0028-.00131-.0068-.00316-.0044-.00202-.0117-.00542-.0207-.00971-.0091-.00433-.0209-.01008-.0348-.01701-.0139-.00694-.0305-.01551-.0493-.02558-.0188-.01008-.0405-.0221-.0644-.03606-.0239-.01396-.0507-.03031-.0797-.04914-.029-.01884-.061-.04062-.0949-.06556-.034-.02494-.0706-.0535-.1089-.08594-.0764-.06472-.1619-.14699-.2468-.2495-.0426-.05137-.085-.10767-.1258-.16912-.0409-.06151-.0798-.12744-.1158-.1978-.0359-.0704-.0682-.14397-.0963-.22045-.0281-.07649-.0513-.15431-.0698-.233-.0184-.07865-.0316-.15665-.0402-.23343-.0086-.07671-.0125-.15112-.0125-.22267h4Zm0 7.77779V8.11111h-4v7.77779h4Z",
662
+ fill: "#14B8A6",
663
+ mask: "url(#a)"
664
+ }),
665
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
666
+ x: "7",
667
+ y: "7",
668
+ width: "4",
669
+ height: "2",
670
+ rx: "1",
671
+ fill: "#14B8A6"
672
+ }),
673
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
674
+ x: "7",
675
+ y: "11",
676
+ width: "4",
677
+ height: "2",
678
+ rx: "1",
679
+ fill: "#14B8A6"
680
+ }),
681
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
682
+ x: "7",
683
+ y: "15",
684
+ width: "4",
685
+ height: "2",
686
+ rx: "1",
687
+ fill: "#14B8A6"
688
+ }),
689
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
690
+ x: "13",
691
+ y: "7",
692
+ width: "4",
693
+ height: "2",
694
+ rx: "1",
695
+ fill: "#14B8A6"
696
+ }),
697
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
698
+ x: "13",
699
+ y: "11",
700
+ width: "4",
701
+ height: "2",
702
+ rx: "1",
703
+ fill: "#14B8A6"
704
+ }),
705
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("rect", {
706
+ x: "13",
707
+ y: "15",
708
+ width: "4",
709
+ height: "2",
710
+ rx: "1",
711
+ fill: "#14B8A6"
712
+ })
713
+ ]
714
+ });
715
+ const Discord = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
716
+ xmlns: "http://www.w3.org/2000/svg",
717
+ viewBox: "0 0 24 24",
718
+ fill: "currentColor",
719
+ ...wrapperProps(props),
720
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "Discord" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z" })]
721
+ });
722
+ const XSocial = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
723
+ xmlns: "http://www.w3.org/2000/svg",
724
+ viewBox: "0 0 24 24",
725
+ fill: "currentColor",
726
+ ...wrapperProps(props),
727
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "X" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z" })]
728
+ });
729
+ const Bluesky = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
730
+ xmlns: "http://www.w3.org/2000/svg",
731
+ viewBox: "0 0 24 24",
732
+ fill: "currentColor",
733
+ ...wrapperProps(props),
734
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "Bluesky" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026" })]
735
+ });
736
+ const TypeScript = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
737
+ xmlns: "http://www.w3.org/2000/svg",
738
+ fill: "none",
739
+ viewBox: "0 0 24 24",
740
+ ...wrapperProps(props),
741
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "TypeScript" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
742
+ fill: "#2563EB",
743
+ d: "M3.234 9.093V7.318h8.363v1.775H8.479V17.5H6.352V9.093H3.234zm15.263 1.153c-.04-.4-.21-.712-.512-.934-.301-.222-.71-.333-1.228-.333-.351 0-.648.05-.89.149-.242.096-.427.23-.557.403a.969.969 0 0 0-.189.586.838.838 0 0 0 .115.477c.086.136.204.254.353.353.149.097.321.181.517.254.195.07.404.13.626.179l.915.219c.444.1.852.232 1.223.397.371.166.693.37.965.612.271.242.482.527.631.855.152.328.23.704.234 1.129-.004.623-.163 1.163-.478 1.62-.311.454-.762.807-1.352 1.06-.587.248-1.294.372-2.123.372-.822 0-1.538-.126-2.147-.378-.607-.252-1.081-.624-1.422-1.118-.338-.497-.516-1.112-.532-1.845h2.083c.023.342.12.627.293.855.176.226.41.397.701.513a2.8 2.8 0 0 0 1 .168c.364 0 .68-.053.949-.159a1.45 1.45 0 0 0 .631-.442c.15-.189.224-.406.224-.651a.846.846 0 0 0-.204-.577c-.132-.156-.328-.288-.586-.398a5.964 5.964 0 0 0-.94-.298l-1.109-.278c-.858-.21-1.536-.536-2.033-.98-.497-.444-.744-1.042-.74-1.795-.004-.616.16-1.155.491-1.615.335-.461.794-.82 1.377-1.08.584-.258 1.247-.387 1.99-.387.755 0 1.414.13 1.978.388.567.258 1.007.618 1.322 1.079.315.46.477.994.488 1.6h-2.064z"
744
+ })]
745
+ });
746
+ const JavaScript = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
747
+ xmlns: "http://www.w3.org/2000/svg",
748
+ fill: "none",
749
+ viewBox: "0 0 24 24",
750
+ ...wrapperProps(props),
751
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "JavaScript" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
752
+ fill: "#F59E0B",
753
+ d: "M8.383 7.318h2.127v7.1c0 .656-.147 1.226-.442 1.71a2.924 2.924 0 01-1.218 1.118c-.52.262-1.125.393-1.815.393-.613 0-1.17-.107-1.67-.323a2.67 2.67 0 01-1.183-.994c-.292-.448-.436-1.01-.433-1.686h2.143c.006.269.061.5.164.691.106.19.25.335.432.438.186.1.405.15.657.15.265 0 .488-.057.67-.17.186-.116.327-.285.423-.507.096-.222.145-.496.145-.82v-7.1zm9.43 2.928c-.04-.4-.21-.712-.511-.934-.302-.222-.711-.333-1.228-.333-.352 0-.648.05-.89.149-.242.096-.428.23-.557.403a.969.969 0 00-.19.586.838.838 0 00.115.477c.087.136.204.254.353.353.15.097.322.181.517.254.196.07.405.13.627.179l.915.219c.444.1.851.232 1.223.397.37.166.692.37.964.612s.482.527.631.855a2.7 2.7 0 01.234 1.129c-.003.623-.162 1.163-.477 1.62-.312.454-.763.807-1.353 1.06-.586.248-1.294.372-2.122.372-.822 0-1.538-.126-2.148-.378-.607-.252-1.08-.624-1.422-1.118-.338-.497-.515-1.112-.532-1.845h2.083c.023.342.121.627.293.855.176.226.41.397.702.513.295.112.628.168.999.168.364 0 .68-.053.95-.159.271-.106.482-.253.63-.442.15-.189.224-.406.224-.651a.846.846 0 00-.203-.577c-.133-.156-.329-.288-.587-.398a5.964 5.964 0 00-.94-.298l-1.108-.278c-.859-.21-1.537-.536-2.034-.98-.497-.444-.744-1.042-.74-1.795-.004-.616.16-1.155.492-1.615.334-.461.793-.82 1.377-1.08.583-.258 1.246-.387 1.989-.387.755 0 1.415.13 1.978.388.567.258 1.008.618 1.323 1.079.314.46.477.994.487 1.6h-2.063z"
754
+ })]
755
+ });
756
+ const Json = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
757
+ xmlns: "http://www.w3.org/2000/svg",
758
+ fill: "none",
759
+ viewBox: "0 0 24 24",
760
+ ...wrapperProps(props),
761
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "JSON" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
762
+ fill: "#F59E0B",
763
+ d: "M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
764
+ })]
765
+ });
766
+ const Css = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
767
+ xmlns: "http://www.w3.org/2000/svg",
768
+ fill: "none",
769
+ viewBox: "0 0 24 24",
770
+ ...wrapperProps(props),
771
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "CSS" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
772
+ fill: "#0EA5E9",
773
+ d: "M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
774
+ })]
775
+ });
776
+ const BracketsOrange = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
777
+ xmlns: "http://www.w3.org/2000/svg",
778
+ fill: "none",
779
+ viewBox: "0 0 24 24",
780
+ ...wrapperProps(props),
781
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "HTML" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
782
+ fill: "#EA580C",
783
+ d: "M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
784
+ })]
785
+ });
786
+ const React = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
787
+ xmlns: "http://www.w3.org/2000/svg",
788
+ fill: "none",
789
+ viewBox: "0 0 24 24",
790
+ ...wrapperProps(props),
791
+ children: [
792
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "React" }),
793
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
794
+ fill: "#0E8ADC",
795
+ d: "M12 13.677a1.677 1.677 0 100-3.354 1.677 1.677 0 000 3.354z"
796
+ }),
797
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
798
+ stroke: "#0E8ADC",
799
+ d: "M12 15.436c4.97 0 9-1.538 9-3.436s-4.03-3.436-9-3.436S3 10.102 3 12s4.03 3.436 9 3.436z"
800
+ }),
801
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
802
+ stroke: "#0E8ADC",
803
+ d: "M9.024 13.718c2.485 4.305 5.832 7.025 7.476 6.076 1.644-.949.961-5.208-1.524-9.512C12.491 5.977 9.144 3.257 7.5 4.206c-1.644.949-.961 5.208 1.524 9.512z"
804
+ }),
805
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
806
+ stroke: "#0E8ADC",
807
+ d: "M9.024 10.282c-2.485 4.304-3.168 8.563-1.524 9.512 1.644.95 4.99-1.771 7.476-6.076 2.485-4.304 3.168-8.563 1.524-9.512-1.644-.95-4.99 1.771-7.476 6.076z"
808
+ })
809
+ ]
810
+ });
811
+ const Markdown = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
812
+ xmlns: "http://www.w3.org/2000/svg",
813
+ fill: "none",
814
+ viewBox: "0 0 24 24",
815
+ ...wrapperProps(props),
816
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "Markdown" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
817
+ fill: "#60A5FA",
818
+ d: "M3 15.714V8h2.323l2.322 2.836L9.968 8h2.322v7.714H9.968V11.29l-2.323 2.836-2.322-2.836v4.424H3zm14.516 0l-3.484-3.743h2.323V8h2.322v3.97H21l-3.484 3.744z"
819
+ })]
820
+ });
821
+ const Shell = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
822
+ xmlns: "http://www.w3.org/2000/svg",
823
+ fill: "none",
824
+ viewBox: "0 0 25 24",
825
+ ...wrapperProps(props),
826
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "Shell" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
827
+ stroke: "#14B8A6",
828
+ strokeLinecap: "round",
829
+ strokeLinejoin: "round",
830
+ strokeWidth: "2",
831
+ d: "M4.336 17l6-6-6-6M12.336 19h8"
832
+ })]
833
+ });
834
+ const Yaml = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
835
+ xmlns: "http://www.w3.org/2000/svg",
836
+ fill: "none",
837
+ viewBox: "0 0 24 24",
838
+ ...wrapperProps(props),
839
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "YAML" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
840
+ fill: "#A78BFA",
841
+ d: "M6.533 5.864h2.755l2.654 5.011h.113l2.654-5.011h2.756l-4.245 7.522V17.5h-2.443v-4.114L6.533 5.864z"
842
+ })]
843
+ });
844
+ const Rust = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
845
+ xmlns: "http://www.w3.org/2000/svg",
846
+ fill: "none",
847
+ viewBox: "0 0 25 24",
848
+ ...wrapperProps(props),
849
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "Rust" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
850
+ fill: "#EA580C",
851
+ fillRule: "evenodd",
852
+ d: "M12.58 2.136a.287.287 0 00-.488 0l-.526.85a8.974 8.974 0 00-.232.022l-.683-.73a.287.287 0 00-.478.096l-.35.935c-.075.021-.15.044-.224.067l-.812-.583a.287.287 0 00-.45.187l-.162.989a9.088 9.088 0 00-.204.11l-.913-.417a.287.287 0 00-.406.272l.036 1.005a9.099 9.099 0 00-.175.144l-.98-.231a.287.287 0 00-.345.345l.231.98a9.125 9.125 0 00-.144.175L4.27 6.316a.287.287 0 00-.271.406l.416.913a9.036 9.036 0 00-.11.203L3.317 8a.287.287 0 00-.187.45l.584.813a8.953 8.953 0 00-.068.223l-.935.35a.287.287 0 00-.095.479l.73.682a8.966 8.966 0 00-.023.233l-.85.526a.287.287 0 000 .488l.85.526c.007.078.014.156.023.233l-.73.682a.287.287 0 00.095.479l.935.35.068.223-.584.812a.287.287 0 00.187.451l.99.162c.035.068.072.135.109.203l-.416.913a.287.287 0 00.271.406l1.006-.036c.047.059.095.117.143.174l-.23.981a.287.287 0 00.344.345l.981-.23c.057.048.115.095.174.142l-.036 1.006a.287.287 0 00.406.272l.914-.417c.067.038.135.074.203.11l.161.99a.287.287 0 00.451.186l.813-.584c.074.024.148.046.223.068l.35.935a.287.287 0 00.478.095l.683-.73c.077.01.154.017.232.023l.526.85a.287.287 0 00.489 0l.526-.85c.078-.006.155-.014.232-.023l.682.73a.287.287 0 00.479-.095l.35-.935c.075-.022.15-.044.223-.068l.813.584a.287.287 0 00.45-.187l.162-.99a8.77 8.77 0 00.203-.109l.913.417a.287.287 0 00.406-.272l-.035-1.006c.058-.047.116-.094.174-.143l.98.231a.287.287 0 00.346-.345l-.231-.98.143-.175 1.006.036a.287.287 0 00.271-.406l-.416-.913a9.4 9.4 0 00.109-.203l.99-.162a.287.287 0 00.187-.45l-.584-.813a8.43 8.43 0 00.067-.223l.935-.35a.287.287 0 00.096-.479l-.73-.682c.009-.077.016-.155.023-.233l.85-.526a.287.287 0 000-.488l-.85-.526a8.844 8.844 0 00-.023-.233l.73-.682a.287.287 0 00-.096-.479l-.934-.35a9.246 9.246 0 00-.068-.223l.584-.812A.287.287 0 0021.357 8l-.99-.162a8.92 8.92 0 00-.11-.203l.417-.913a.287.287 0 00-.271-.406l-1.006.036a9.178 9.178 0 00-.143-.174l.23-.981a.287.287 0 00-.345-.345l-.98.23a9.43 9.43 0 00-.174-.142l.035-1.006a.287.287 0 00-.405-.272l-.914.417a9.11 9.11 0 00-.203-.11l-.162-.99a.287.287 0 00-.45-.186l-.813.584a9.088 9.088 0 00-.223-.068l-.35-.935a.287.287 0 00-.479-.095l-.682.73a9.062 9.062 0 00-.232-.023l-.526-.85zm-.257 1.62a.592.592 0 01.578.596.595.595 0 11-.578-.595zm1.363.98A7.324 7.324 0 0118.7 8.309l-.702 1.585a.547.547 0 00.275.717l1.352.6c.041.422.047.847.015 1.27h-.752c-.075 0-.106.05-.106.123v.344c0 .812-.457.99-.859 1.034-.383.044-.806-.161-.86-.394-.22-1.24-.583-1.526-1.152-1.975l-.041-.033c.736-.467 1.502-1.158 1.502-2.08 0-.998-.683-1.625-1.148-1.934-.655-.43-1.379-.516-1.574-.516H6.88a7.324 7.324 0 014.098-2.312l.916.96a.54.54 0 00.766.018l1.026-.978zm-8.46 4.407a.595.595 0 11-.034 1.19.595.595 0 01.034-1.19zm14.192.026a.595.595 0 11-.035 1.19.595.595 0 01.035-1.19zm-13.07.096h1.037v4.678H5.291a7.324 7.324 0 01-.237-2.797l1.282-.57a.542.542 0 00.276-.716l-.264-.595zm4.33.05h2.47c.128 0 .901.147.901.727 0 .48-.593.653-1.081.653h-2.293l.002-1.38zm0 3.36h1.892c.172 0 .924.05 1.164 1.011.026.104.064.291.107.503.078.389.174.861.247 1.06.113.345.57 1.034 1.058 1.034h3.089c-.207.277-.433.54-.677.785l-1.258-.27a.544.544 0 00-.645.417l-.298 1.394a7.323 7.323 0 01-6.108-.03l-.298-1.392a.542.542 0 00-.643-.418l-1.23.264a7.32 7.32 0 01-.636-.75h5.984c.067 0 .113-.011.113-.074v-2.117c0-.061-.046-.075-.113-.075h-1.75l.001-1.341zm-2.763 4.848a.595.595 0 11-.034 1.19.595.595 0 01.034-1.19zm8.814.027a.596.596 0 11-.035 1.19.596.596 0 01.035-1.19z",
853
+ clipRule: "evenodd"
854
+ })]
855
+ });
856
+ const BracketsRed = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
857
+ xmlns: "http://www.w3.org/2000/svg",
858
+ fill: "none",
859
+ viewBox: "0 0 24 24",
860
+ ...wrapperProps(props),
861
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "Rust" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
862
+ fill: "#F87171",
863
+ d: "M4.778 6.667A2.667 2.667 0 017.444 4a.889.889 0 010 1.778.889.889 0 00-.888.889v3.5c0 .701-.273 1.35-.73 1.833.457.483.73 1.132.73 1.832v3.501c0 .491.398.89.888.89a.889.889 0 010 1.777 2.667 2.667 0 01-2.666-2.667v-3.5a.889.889 0 00-.674-.863l-.43-.108a.889.889 0 010-1.724l.43-.108a.889.889 0 00.674-.862V6.667zm14.222 0A2.667 2.667 0 0016.333 4a.889.889 0 000 1.778c.491 0 .89.398.89.889v3.5c0 .701.272 1.35.729 1.833a2.664 2.664 0 00-.73 1.832v3.501a.889.889 0 01-.889.89.889.889 0 000 1.777A2.667 2.667 0 0019 17.333v-3.5c0-.408.278-.764.673-.863l.431-.108a.889.889 0 000-1.724l-.43-.108a.889.889 0 01-.674-.862V6.667z"
864
+ })]
865
+ });
866
+
867
+ //#endregion
868
+ Object.defineProperty(exports, 'AlertCircle', {
869
+ enumerable: true,
870
+ get: function () {
871
+ return AlertCircle;
872
+ }
873
+ });
874
+ Object.defineProperty(exports, 'AlertTriangle', {
875
+ enumerable: true,
876
+ get: function () {
877
+ return AlertTriangle;
878
+ }
879
+ });
880
+ Object.defineProperty(exports, 'ArrowLeft', {
881
+ enumerable: true,
882
+ get: function () {
883
+ return ArrowLeft;
884
+ }
885
+ });
886
+ Object.defineProperty(exports, 'Bluesky', {
887
+ enumerable: true,
888
+ get: function () {
889
+ return Bluesky;
890
+ }
891
+ });
892
+ Object.defineProperty(exports, 'BoltdocsProvider', {
893
+ enumerable: true,
894
+ get: function () {
895
+ return BoltdocsProvider;
896
+ }
897
+ });
898
+ Object.defineProperty(exports, 'BracketsOrange', {
899
+ enumerable: true,
900
+ get: function () {
901
+ return BracketsOrange;
902
+ }
903
+ });
904
+ Object.defineProperty(exports, 'BracketsRed', {
905
+ enumerable: true,
906
+ get: function () {
907
+ return BracketsRed;
908
+ }
909
+ });
910
+ Object.defineProperty(exports, 'Check', {
911
+ enumerable: true,
912
+ get: function () {
913
+ return Check;
914
+ }
915
+ });
916
+ Object.defineProperty(exports, 'ChevronDown', {
917
+ enumerable: true,
918
+ get: function () {
919
+ return ChevronDown;
920
+ }
921
+ });
922
+ Object.defineProperty(exports, 'ChevronLeft', {
923
+ enumerable: true,
924
+ get: function () {
925
+ return ChevronLeft;
926
+ }
927
+ });
928
+ Object.defineProperty(exports, 'ChevronRight', {
929
+ enumerable: true,
930
+ get: function () {
931
+ return ChevronRight;
932
+ }
933
+ });
934
+ Object.defineProperty(exports, 'CircleHelp', {
935
+ enumerable: true,
936
+ get: function () {
937
+ return CircleHelp;
938
+ }
939
+ });
940
+ Object.defineProperty(exports, 'ConfigContext', {
941
+ enumerable: true,
942
+ get: function () {
943
+ return ConfigContext;
944
+ }
945
+ });
946
+ Object.defineProperty(exports, 'Copy', {
947
+ enumerable: true,
948
+ get: function () {
949
+ return Copy;
950
+ }
951
+ });
952
+ Object.defineProperty(exports, 'CornerDownLeft', {
953
+ enumerable: true,
954
+ get: function () {
955
+ return CornerDownLeft;
956
+ }
957
+ });
958
+ Object.defineProperty(exports, 'Css', {
959
+ enumerable: true,
960
+ get: function () {
961
+ return Css;
962
+ }
963
+ });
964
+ Object.defineProperty(exports, 'Csv', {
965
+ enumerable: true,
966
+ get: function () {
967
+ return Csv;
968
+ }
969
+ });
970
+ Object.defineProperty(exports, 'Discord', {
971
+ enumerable: true,
972
+ get: function () {
973
+ return Discord;
974
+ }
975
+ });
976
+ Object.defineProperty(exports, 'ExternalLink', {
977
+ enumerable: true,
978
+ get: function () {
979
+ return ExternalLink;
980
+ }
981
+ });
982
+ Object.defineProperty(exports, 'File', {
983
+ enumerable: true,
984
+ get: function () {
985
+ return File;
986
+ }
987
+ });
988
+ Object.defineProperty(exports, 'FileText', {
989
+ enumerable: true,
990
+ get: function () {
991
+ return FileText;
992
+ }
993
+ });
994
+ Object.defineProperty(exports, 'Github', {
995
+ enumerable: true,
996
+ get: function () {
997
+ return Github;
998
+ }
999
+ });
1000
+ Object.defineProperty(exports, 'Hash', {
1001
+ enumerable: true,
1002
+ get: function () {
1003
+ return Hash;
1004
+ }
1005
+ });
1006
+ Object.defineProperty(exports, 'Home', {
1007
+ enumerable: true,
1008
+ get: function () {
1009
+ return Home;
1010
+ }
1011
+ });
1012
+ Object.defineProperty(exports, 'Info', {
1013
+ enumerable: true,
1014
+ get: function () {
1015
+ return Info;
1016
+ }
1017
+ });
1018
+ Object.defineProperty(exports, 'JavaScript', {
1019
+ enumerable: true,
1020
+ get: function () {
1021
+ return JavaScript;
1022
+ }
1023
+ });
1024
+ Object.defineProperty(exports, 'Json', {
1025
+ enumerable: true,
1026
+ get: function () {
1027
+ return Json;
1028
+ }
1029
+ });
1030
+ Object.defineProperty(exports, 'Languages', {
1031
+ enumerable: true,
1032
+ get: function () {
1033
+ return Languages;
1034
+ }
1035
+ });
1036
+ Object.defineProperty(exports, 'Lightbulb', {
1037
+ enumerable: true,
1038
+ get: function () {
1039
+ return Lightbulb;
1040
+ }
1041
+ });
1042
+ Object.defineProperty(exports, 'Link', {
1043
+ enumerable: true,
1044
+ get: function () {
1045
+ return Link;
1046
+ }
1047
+ });
1048
+ Object.defineProperty(exports, 'Link$1', {
1049
+ enumerable: true,
1050
+ get: function () {
1051
+ return Link$1;
1052
+ }
1053
+ });
1054
+ Object.defineProperty(exports, 'Markdown', {
1055
+ enumerable: true,
1056
+ get: function () {
1057
+ return Markdown;
1058
+ }
1059
+ });
1060
+ Object.defineProperty(exports, 'Menu', {
1061
+ enumerable: true,
1062
+ get: function () {
1063
+ return Menu;
1064
+ }
1065
+ });
1066
+ Object.defineProperty(exports, 'Monitor', {
1067
+ enumerable: true,
1068
+ get: function () {
1069
+ return Monitor;
1070
+ }
1071
+ });
1072
+ Object.defineProperty(exports, 'Moon', {
1073
+ enumerable: true,
1074
+ get: function () {
1075
+ return Moon;
1076
+ }
1077
+ });
1078
+ Object.defineProperty(exports, 'MoreVertical', {
1079
+ enumerable: true,
1080
+ get: function () {
1081
+ return MoreVertical;
1082
+ }
1083
+ });
1084
+ Object.defineProperty(exports, 'NavLink', {
1085
+ enumerable: true,
1086
+ get: function () {
1087
+ return NavLink;
1088
+ }
1089
+ });
1090
+ Object.defineProperty(exports, 'Pencil', {
1091
+ enumerable: true,
1092
+ get: function () {
1093
+ return Pencil;
1094
+ }
1095
+ });
1096
+ Object.defineProperty(exports, 'React', {
1097
+ enumerable: true,
1098
+ get: function () {
1099
+ return React;
1100
+ }
1101
+ });
1102
+ Object.defineProperty(exports, 'RoutesProvider', {
1103
+ enumerable: true,
1104
+ get: function () {
1105
+ return RoutesProvider;
1106
+ }
1107
+ });
1108
+ Object.defineProperty(exports, 'Rust', {
1109
+ enumerable: true,
1110
+ get: function () {
1111
+ return Rust;
1112
+ }
1113
+ });
1114
+ Object.defineProperty(exports, 'Search', {
1115
+ enumerable: true,
1116
+ get: function () {
1117
+ return Search;
1118
+ }
1119
+ });
1120
+ Object.defineProperty(exports, 'Shell', {
1121
+ enumerable: true,
1122
+ get: function () {
1123
+ return Shell;
1124
+ }
1125
+ });
1126
+ Object.defineProperty(exports, 'Sun', {
1127
+ enumerable: true,
1128
+ get: function () {
1129
+ return Sun;
1130
+ }
1131
+ });
1132
+ Object.defineProperty(exports, 'TextAlignStart', {
1133
+ enumerable: true,
1134
+ get: function () {
1135
+ return TextAlignStart;
1136
+ }
1137
+ });
1138
+ Object.defineProperty(exports, 'TypeScript', {
1139
+ enumerable: true,
1140
+ get: function () {
1141
+ return TypeScript;
1142
+ }
1143
+ });
1144
+ Object.defineProperty(exports, 'X', {
1145
+ enumerable: true,
1146
+ get: function () {
1147
+ return X;
1148
+ }
1149
+ });
1150
+ Object.defineProperty(exports, 'XSocial', {
1151
+ enumerable: true,
1152
+ get: function () {
1153
+ return XSocial;
1154
+ }
1155
+ });
1156
+ Object.defineProperty(exports, 'Yaml', {
1157
+ enumerable: true,
1158
+ get: function () {
1159
+ return Yaml;
1160
+ }
1161
+ });
1162
+ Object.defineProperty(exports, '__toESM', {
1163
+ enumerable: true,
1164
+ get: function () {
1165
+ return __toESM;
1166
+ }
1167
+ });
1168
+ Object.defineProperty(exports, 'cn', {
1169
+ enumerable: true,
1170
+ get: function () {
1171
+ return cn;
1172
+ }
1173
+ });
1174
+ Object.defineProperty(exports, 'icons_exports', {
1175
+ enumerable: true,
1176
+ get: function () {
1177
+ return icons_exports;
1178
+ }
1179
+ });
1180
+ Object.defineProperty(exports, 'normalizePath', {
1181
+ enumerable: true,
1182
+ get: function () {
1183
+ return normalizePath;
1184
+ }
1185
+ });
1186
+ Object.defineProperty(exports, 'useBoltdocsContext', {
1187
+ enumerable: true,
1188
+ get: function () {
1189
+ return useBoltdocsContext;
1190
+ }
1191
+ });
1192
+ Object.defineProperty(exports, 'useConfig', {
1193
+ enumerable: true,
1194
+ get: function () {
1195
+ return useConfig;
1196
+ }
1197
+ });
1198
+ Object.defineProperty(exports, 'useLocalizedTo', {
1199
+ enumerable: true,
1200
+ get: function () {
1201
+ return useLocalizedTo;
1202
+ }
1203
+ });
1204
+ Object.defineProperty(exports, 'useRoutes', {
1205
+ enumerable: true,
1206
+ get: function () {
1207
+ return useRoutes;
1208
+ }
1209
+ });