fromsrc 0.0.2 → 0.0.21

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 (408) hide show
  1. package/dist/access.d.ts +7 -7
  2. package/dist/access.js +12 -5
  3. package/dist/adapter.js +8 -16
  4. package/dist/adapterbrowser.js +6 -10
  5. package/dist/adapternext.js +7 -18
  6. package/dist/adapterreactrouter.js +5 -9
  7. package/dist/adapterremix.js +8 -17
  8. package/dist/adaptertanstack.js +6 -10
  9. package/dist/algolia.js +43 -21
  10. package/dist/analytics.d.ts +1 -1
  11. package/dist/analytics.js +16 -10
  12. package/dist/ansi.js +76 -37
  13. package/dist/api.d.ts +10 -10
  14. package/dist/api.js +14 -11
  15. package/dist/audit.d.ts +6 -6
  16. package/dist/audit.js +29 -10
  17. package/dist/autotype.js +20 -10
  18. package/dist/batch.d.ts +6 -6
  19. package/dist/batch.js +16 -9
  20. package/dist/changelog.js +28 -14
  21. package/dist/changelogutil.d.ts +4 -4
  22. package/dist/changelogutil.js +33 -13
  23. package/dist/cli.d.ts +6 -6
  24. package/dist/cli.js +7 -3
  25. package/dist/client.d.ts +1 -1
  26. package/dist/codesample.d.ts +4 -4
  27. package/dist/codesample.js +63 -24
  28. package/dist/collapse.js +31 -13
  29. package/dist/collections.js +36 -16
  30. package/dist/components/accordion.d.ts +1 -1
  31. package/dist/components/accordion.js +5 -1
  32. package/dist/components/alert.d.ts +1 -1
  33. package/dist/components/alert.js +24 -13
  34. package/dist/components/announce.js +40 -17
  35. package/dist/components/autofill.js +17 -7
  36. package/dist/components/avatar.js +4 -4
  37. package/dist/components/avatarstack.js +2 -2
  38. package/dist/components/backtotop.d.ts +1 -1
  39. package/dist/components/backtotop.js +17 -4
  40. package/dist/components/badge.js +9 -4
  41. package/dist/components/banner.js +22 -5
  42. package/dist/components/breadcrumb.js +11 -4
  43. package/dist/components/breadcrumbnav.js +37 -21
  44. package/dist/components/button.js +23 -8
  45. package/dist/components/callout.d.ts +1 -1
  46. package/dist/components/callout.js +33 -29
  47. package/dist/components/changelog.js +21 -8
  48. package/dist/components/checkbox.js +32 -19
  49. package/dist/components/code.d.ts +1 -1
  50. package/dist/components/code.js +6 -3
  51. package/dist/components/codeblock.js +157 -39
  52. package/dist/components/codecopy.d.ts +1 -1
  53. package/dist/components/codecopy.js +36 -13
  54. package/dist/components/codegroup.js +87 -25
  55. package/dist/components/collapsible.d.ts +1 -1
  56. package/dist/components/collapsible.js +5 -1
  57. package/dist/components/command.d.ts +1 -1
  58. package/dist/components/command.js +42 -15
  59. package/dist/components/compare.js +20 -8
  60. package/dist/components/content.js +121 -79
  61. package/dist/components/copybutton.d.ts +1 -1
  62. package/dist/components/copybutton.js +14 -7
  63. package/dist/components/countdown.js +9 -3
  64. package/dist/components/create.js +34 -24
  65. package/dist/components/definition.js +11 -4
  66. package/dist/components/diffview.js +63 -29
  67. package/dist/components/divider.js +5 -1
  68. package/dist/components/docheader.js +8 -1
  69. package/dist/components/doclinkcard.js +27 -3
  70. package/dist/components/dropdown.d.ts +1 -1
  71. package/dist/components/dropdown.js +32 -11
  72. package/dist/components/dynamiccode.js +5 -3
  73. package/dist/components/editlink.js +35 -23
  74. package/dist/components/embed.js +15 -7
  75. package/dist/components/endpoint.d.ts +3 -3
  76. package/dist/components/endpoint.js +24 -9
  77. package/dist/components/errormessage.d.ts +1 -1
  78. package/dist/components/errormessage.js +4 -1
  79. package/dist/components/expandcode.d.ts +1 -1
  80. package/dist/components/expandcode.js +6 -2
  81. package/dist/components/feature.js +8 -1
  82. package/dist/components/featuregrid.d.ts +4 -4
  83. package/dist/components/featuregrid.js +7 -1
  84. package/dist/components/feedback.js +6 -2
  85. package/dist/components/feedbackwidget.js +10 -4
  86. package/dist/components/files.d.ts +1 -1
  87. package/dist/components/files.js +52 -18
  88. package/dist/components/folder.d.ts +1 -1
  89. package/dist/components/folder.js +21 -4
  90. package/dist/components/footer.js +5 -1
  91. package/dist/components/formlabel.d.ts +1 -1
  92. package/dist/components/formlabel.js +31 -18
  93. package/dist/components/github.js +43 -14
  94. package/dist/components/graph.js +38 -14
  95. package/dist/components/heading.js +36 -29
  96. package/dist/components/headingcopy.js +13 -5
  97. package/dist/components/hero.js +20 -14
  98. package/dist/components/highlight.d.ts +2 -2
  99. package/dist/components/highlight.js +14 -8
  100. package/dist/components/hover.d.ts +2 -2
  101. package/dist/components/hover.js +11 -4
  102. package/dist/components/icons.js +4 -1
  103. package/dist/components/inlinetoc.js +3 -1
  104. package/dist/components/input.js +13 -3
  105. package/dist/components/install.js +34 -24
  106. package/dist/components/kbd.js +19 -11
  107. package/dist/components/langicon.d.ts +1 -1
  108. package/dist/components/langicon.js +22 -17
  109. package/dist/components/language.d.ts +1 -1
  110. package/dist/components/language.js +12 -4
  111. package/dist/components/lastupdated.d.ts +2 -2
  112. package/dist/components/lastupdated.js +36 -12
  113. package/dist/components/link.d.ts +1 -1
  114. package/dist/components/linkcard.js +3 -1
  115. package/dist/components/list.d.ts +1 -1
  116. package/dist/components/list.js +4 -1
  117. package/dist/components/math.js +33 -8
  118. package/dist/components/mermaid.js +3 -3
  119. package/dist/components/mobilenav.d.ts +2 -1
  120. package/dist/components/mobilenav.js +116 -47
  121. package/dist/components/modal.d.ts +1 -1
  122. package/dist/components/modal.js +9 -2
  123. package/dist/components/navlink.js +17 -3
  124. package/dist/components/openapi.d.ts +1 -1
  125. package/dist/components/openapi.js +102 -32
  126. package/dist/components/openapischema.d.ts +1 -1
  127. package/dist/components/openapischema.js +29 -9
  128. package/dist/components/openapitags.js +6 -2
  129. package/dist/components/pagetransition.js +5 -3
  130. package/dist/components/pagination.js +3 -2
  131. package/dist/components/panel.js +91 -15
  132. package/dist/components/playground.d.ts +1 -1
  133. package/dist/components/playground.js +153 -50
  134. package/dist/components/popover.js +9 -7
  135. package/dist/components/prelink.js +40 -9
  136. package/dist/components/prevnext.d.ts +1 -1
  137. package/dist/components/prevnext.js +36 -16
  138. package/dist/components/progress.js +2 -2
  139. package/dist/components/property.js +3 -1
  140. package/dist/components/quote.d.ts +2 -2
  141. package/dist/components/quote.js +32 -4
  142. package/dist/components/radio.js +36 -18
  143. package/dist/components/rating.js +14 -3
  144. package/dist/components/recent.d.ts +1 -1
  145. package/dist/components/recent.js +26 -10
  146. package/dist/components/responsive.js +21 -13
  147. package/dist/components/results.js +8 -4
  148. package/dist/components/screenshot.js +61 -21
  149. package/dist/components/scrollprogress.js +9 -5
  150. package/dist/components/scrollspy.d.ts +2 -2
  151. package/dist/components/scrollspy.js +9 -3
  152. package/dist/components/search.js +47 -18
  153. package/dist/components/searchbutton.js +3 -1
  154. package/dist/components/searchdialog.js +35 -22
  155. package/dist/components/searcher.d.ts +1 -1
  156. package/dist/components/searcher.js +51 -26
  157. package/dist/components/select.js +27 -13
  158. package/dist/components/shortcuts.d.ts +1 -1
  159. package/dist/components/shortcuts.js +57 -38
  160. package/dist/components/sidebar.d.ts +2 -1
  161. package/dist/components/sidebar.js +221 -56
  162. package/dist/components/sidebarfilter.d.ts +1 -1
  163. package/dist/components/sidebarfilter.js +30 -6
  164. package/dist/components/sidebarscript.d.ts +5 -0
  165. package/dist/components/sidebarscript.js +18 -0
  166. package/dist/components/skeleton.js +15 -3
  167. package/dist/components/spinner.js +13 -3
  168. package/dist/components/status.js +20 -8
  169. package/dist/components/steps.js +3 -1
  170. package/dist/components/switch.js +4 -4
  171. package/dist/components/table.js +37 -12
  172. package/dist/components/tabnav.d.ts +1 -1
  173. package/dist/components/tabnav.js +48 -36
  174. package/dist/components/tabs.d.ts +1 -1
  175. package/dist/components/tabs.js +56 -40
  176. package/dist/components/tag.js +8 -3
  177. package/dist/components/terminal.js +14 -4
  178. package/dist/components/textarea.js +96 -82
  179. package/dist/components/theme.d.ts +1 -1
  180. package/dist/components/theme.js +25 -3
  181. package/dist/components/themeprovider.d.ts +4 -4
  182. package/dist/components/themeprovider.js +16 -5
  183. package/dist/components/toast.d.ts +1 -1
  184. package/dist/components/toast.js +23 -14
  185. package/dist/components/toc/default.d.ts +1 -1
  186. package/dist/components/toc/default.js +28 -13
  187. package/dist/components/toc/hook.js +28 -14
  188. package/dist/components/toc/index.js +8 -4
  189. package/dist/components/toc/inline.js +12 -2
  190. package/dist/components/toc/minimal.js +11 -5
  191. package/dist/components/toc/zigzag.d.ts +1 -1
  192. package/dist/components/toc/zigzag.js +37 -17
  193. package/dist/components/tocprogress.d.ts +1 -1
  194. package/dist/components/tocprogress.js +66 -34
  195. package/dist/components/tooltip.d.ts +1 -1
  196. package/dist/components/tooltip.js +20 -8
  197. package/dist/components/trigger.js +13 -5
  198. package/dist/components/twoslash.js +49 -26
  199. package/dist/components/typetable.js +23 -4
  200. package/dist/components/typewriter.js +6 -2
  201. package/dist/components/version.js +40 -14
  202. package/dist/components/video.js +25 -15
  203. package/dist/components/zoom.js +6 -2
  204. package/dist/config.d.ts +2 -2
  205. package/dist/config.js +56 -30
  206. package/dist/content.d.ts +5 -5
  207. package/dist/content.js +121 -57
  208. package/dist/contentcache.d.ts +10 -10
  209. package/dist/contentcache.js +9 -5
  210. package/dist/contentdiff.d.ts +4 -4
  211. package/dist/contentdiff.js +16 -8
  212. package/dist/contributors.d.ts +4 -4
  213. package/dist/contributors.js +49 -19
  214. package/dist/diff.d.ts +6 -6
  215. package/dist/diff.js +37 -16
  216. package/dist/draft.d.ts +11 -11
  217. package/dist/draft.js +9 -5
  218. package/dist/env.js +21 -7
  219. package/dist/export.js +4 -4
  220. package/dist/frontmatter.js +11 -9
  221. package/dist/github.js +60 -30
  222. package/dist/gitsource.d.ts +1 -1
  223. package/dist/gitsource.js +16 -9
  224. package/dist/hash.d.ts +6 -6
  225. package/dist/hash.js +19 -7
  226. package/dist/highlight.d.ts +4 -4
  227. package/dist/highlight.js +34 -14
  228. package/dist/hooks/anchor.js +26 -14
  229. package/dist/hooks/arrownav.js +25 -7
  230. package/dist/hooks/async.js +3 -3
  231. package/dist/hooks/battery.js +11 -3
  232. package/dist/hooks/breakpoint.js +10 -2
  233. package/dist/hooks/clickoutside.js +10 -3
  234. package/dist/hooks/clipboard-paste.js +7 -3
  235. package/dist/hooks/clipboard.d.ts +2 -2
  236. package/dist/hooks/clipboard.js +21 -15
  237. package/dist/hooks/copy.js +11 -6
  238. package/dist/hooks/countdown.js +1 -1
  239. package/dist/hooks/counter.js +1 -1
  240. package/dist/hooks/escapekey.js +6 -1
  241. package/dist/hooks/eventlistener.js +3 -1
  242. package/dist/hooks/eventsource.js +4 -2
  243. package/dist/hooks/eyedropper.js +7 -3
  244. package/dist/hooks/favicon.js +1 -1
  245. package/dist/hooks/fetch.js +12 -4
  246. package/dist/hooks/focustrap.js +20 -8
  247. package/dist/hooks/focuswithin.js +6 -2
  248. package/dist/hooks/form.d.ts +2 -2
  249. package/dist/hooks/form.js +15 -2
  250. package/dist/hooks/fullscreen.js +1 -1
  251. package/dist/hooks/geolocation.js +8 -8
  252. package/dist/hooks/hotkeys.js +19 -7
  253. package/dist/hooks/hover.d.ts +4 -1
  254. package/dist/hooks/hover.js +3 -1
  255. package/dist/hooks/idle.js +13 -3
  256. package/dist/hooks/infinitescroll.js +4 -2
  257. package/dist/hooks/interval.js +3 -1
  258. package/dist/hooks/inview.js +7 -3
  259. package/dist/hooks/keyboard.js +36 -12
  260. package/dist/hooks/keypress.js +6 -2
  261. package/dist/hooks/list.js +11 -1
  262. package/dist/hooks/longpress.js +3 -3
  263. package/dist/hooks/map.js +1 -1
  264. package/dist/hooks/measure.js +16 -7
  265. package/dist/hooks/mediarecorder.js +7 -3
  266. package/dist/hooks/networkstate.js +4 -2
  267. package/dist/hooks/os.js +12 -4
  268. package/dist/hooks/pagination.js +6 -4
  269. package/dist/hooks/permission.js +6 -2
  270. package/dist/hooks/queue.js +4 -2
  271. package/dist/hooks/readprogress.js +6 -2
  272. package/dist/hooks/resizeobserver.js +6 -4
  273. package/dist/hooks/script.js +1 -1
  274. package/dist/hooks/scrolllock.js +6 -2
  275. package/dist/hooks/scrollspy.js +4 -2
  276. package/dist/hooks/selection.js +6 -3
  277. package/dist/hooks/share.js +18 -9
  278. package/dist/hooks/speechrecognition.js +7 -3
  279. package/dist/hooks/stepper.js +4 -4
  280. package/dist/hooks/storage.js +9 -3
  281. package/dist/hooks/stylesheet.js +4 -2
  282. package/dist/hooks/textselection.js +6 -3
  283. package/dist/hooks/throttle.js +6 -2
  284. package/dist/hooks/undoredo.js +19 -11
  285. package/dist/hooks/vibrate.js +3 -1
  286. package/dist/hooks/viewtransition.js +8 -4
  287. package/dist/hooks/wakelock.js +12 -7
  288. package/dist/hooks/websocket.js +4 -2
  289. package/dist/hooks/windowsize.js +2 -2
  290. package/dist/i18n.d.ts +2 -2
  291. package/dist/i18n.js +27 -14
  292. package/dist/index.d.ts +1 -0
  293. package/dist/index.js +1 -0
  294. package/dist/lastmodified.js +11 -5
  295. package/dist/linkcheck.d.ts +6 -6
  296. package/dist/linkcheck.js +55 -14
  297. package/dist/llms.js +20 -4
  298. package/dist/manifest.js +7 -7
  299. package/dist/mcp.js +28 -22
  300. package/dist/mdtoc.d.ts +4 -4
  301. package/dist/mdtoc.js +11 -5
  302. package/dist/mdxscope.d.ts +2 -2
  303. package/dist/mdxscope.js +3 -1
  304. package/dist/meta.js +19 -7
  305. package/dist/migrate.js +35 -25
  306. package/dist/navgen.d.ts +8 -8
  307. package/dist/navgen.js +73 -30
  308. package/dist/navtree.d.ts +1 -1
  309. package/dist/navtree.js +39 -19
  310. package/dist/oembed.d.ts +4 -4
  311. package/dist/oembed.js +24 -18
  312. package/dist/ogimage.d.ts +11 -11
  313. package/dist/ogimage.js +24 -24
  314. package/dist/openapi.js +60 -33
  315. package/dist/openapiguard.js +21 -11
  316. package/dist/openapiutil.js +66 -20
  317. package/dist/orama.js +52 -34
  318. package/dist/pipeline.d.ts +4 -4
  319. package/dist/pipeline.js +4 -4
  320. package/dist/preload.d.ts +2 -2
  321. package/dist/preload.js +4 -4
  322. package/dist/ranking.d.ts +6 -6
  323. package/dist/ranking.js +39 -13
  324. package/dist/readtime.js +3 -1
  325. package/dist/redirects.d.ts +2 -2
  326. package/dist/redirects.js +20 -12
  327. package/dist/rehype.js +16 -9
  328. package/dist/rehypeautolink.d.ts +2 -2
  329. package/dist/rehypeautolink.js +25 -23
  330. package/dist/rehypecode.js +38 -28
  331. package/dist/rehypecopy.js +17 -13
  332. package/dist/rehypeinline.js +33 -27
  333. package/dist/rehypelinks.js +28 -20
  334. package/dist/rehyperaw.js +9 -3
  335. package/dist/rehypeslug.d.ts +1 -1
  336. package/dist/rehypeslug.js +23 -19
  337. package/dist/rehypetablewrap.d.ts +2 -2
  338. package/dist/rehypetablewrap.js +9 -5
  339. package/dist/rehypetoc.d.ts +1 -1
  340. package/dist/rehypetoc.js +15 -7
  341. package/dist/remark.js +28 -13
  342. package/dist/remarkadmonition.js +40 -14
  343. package/dist/remarkannotation.d.ts +2 -2
  344. package/dist/remarkannotation.js +26 -10
  345. package/dist/remarkbadge.js +43 -31
  346. package/dist/remarkblockmath.js +29 -15
  347. package/dist/remarkcallout.js +32 -14
  348. package/dist/remarkcaption.js +28 -16
  349. package/dist/remarkcodetitle.js +29 -13
  350. package/dist/remarkcolumns.js +22 -10
  351. package/dist/remarkdetails.js +34 -14
  352. package/dist/remarkdirective.js +47 -20
  353. package/dist/remarkembed.js +38 -22
  354. package/dist/remarkfiletree.js +29 -19
  355. package/dist/remarkfootnote.js +46 -18
  356. package/dist/remarkgfm.js +13 -8
  357. package/dist/remarkheadingid.js +16 -6
  358. package/dist/remarkimage.js +54 -34
  359. package/dist/remarkinclude.js +20 -8
  360. package/dist/remarkinstall.js +20 -12
  361. package/dist/remarklinkcard.js +33 -14
  362. package/dist/remarkmath.js +34 -15
  363. package/dist/remarkmermaid.js +10 -6
  364. package/dist/remarkmeta.d.ts +2 -2
  365. package/dist/remarkmeta.js +15 -5
  366. package/dist/remarkreadingtime.d.ts +2 -2
  367. package/dist/remarkreadingtime.js +3 -1
  368. package/dist/remarksteps.js +26 -14
  369. package/dist/remarkstructure.js +16 -10
  370. package/dist/remarktabs.js +31 -14
  371. package/dist/remarktoc.js +40 -24
  372. package/dist/remarkts2js.js +51 -40
  373. package/dist/remarktwoslash.d.ts +4 -4
  374. package/dist/remarktwoslash.js +24 -14
  375. package/dist/remarkvideo.d.ts +4 -4
  376. package/dist/remarkvideo.js +42 -16
  377. package/dist/schema.d.ts +14 -14
  378. package/dist/schema.js +2 -2
  379. package/dist/search.js +106 -48
  380. package/dist/searchindex.js +86 -34
  381. package/dist/searchpolicy.js +1 -1
  382. package/dist/searchscore.js +5 -5
  383. package/dist/searchtypo.js +30 -10
  384. package/dist/seo.d.ts +2 -2
  385. package/dist/seo.js +14 -14
  386. package/dist/shortcodes.d.ts +4 -4
  387. package/dist/shortcodes.js +25 -20
  388. package/dist/sitemap.js +18 -8
  389. package/dist/snippets.js +26 -18
  390. package/dist/source.js +75 -41
  391. package/dist/stats.d.ts +4 -4
  392. package/dist/stats.js +18 -12
  393. package/dist/testing.d.ts +7 -7
  394. package/dist/testing.js +74 -29
  395. package/dist/themeutil.d.ts +6 -6
  396. package/dist/themeutil.js +145 -27
  397. package/dist/typegen.js +31 -12
  398. package/dist/validate.js +19 -7
  399. package/dist/validator.d.ts +11 -11
  400. package/dist/validator.js +68 -19
  401. package/dist/versioning.d.ts +7 -7
  402. package/dist/versioning.js +27 -11
  403. package/dist/watcher.js +39 -15
  404. package/dist/webhook.d.ts +6 -6
  405. package/dist/webhook.js +34 -12
  406. package/dist/workspace.js +26 -12
  407. package/package.json +137 -137
  408. package/styles/reset.css +1 -1
@@ -30,9 +30,13 @@ function Graph({
30
30
  }, [nodes, width, height]);
31
31
  const draw = useCallback(() => {
32
32
  const canvas = canvasRef.current;
33
- if (!canvas) return;
33
+ if (!canvas) {
34
+ return;
35
+ }
34
36
  const ctx = canvas.getContext("2d");
35
- if (!ctx) return;
37
+ if (!ctx) {
38
+ return;
39
+ }
36
40
  const dpr = window.devicePixelRatio || 1;
37
41
  canvas.width = width * dpr;
38
42
  canvas.height = height * dpr;
@@ -43,7 +47,9 @@ function Graph({
43
47
  for (const link of links) {
44
48
  const source = positions.get(link.source);
45
49
  const target = positions.get(link.target);
46
- if (!source || !target) continue;
50
+ if (!source || !target) {
51
+ continue;
52
+ }
47
53
  ctx.beginPath();
48
54
  ctx.moveTo(source.x, source.y);
49
55
  ctx.lineTo(target.x, target.y);
@@ -51,9 +57,13 @@ function Graph({
51
57
  }
52
58
  for (let i = 0; i < nodes.length; i++) {
53
59
  const node = nodes[i];
54
- if (!node) continue;
60
+ if (!node) {
61
+ continue;
62
+ }
55
63
  const pos = positions.get(node.id);
56
- if (!pos) continue;
64
+ if (!pos) {
65
+ continue;
66
+ }
57
67
  const isHovered = hovered === node.id;
58
68
  const isFocused = focused === i;
59
69
  ctx.beginPath();
@@ -83,7 +93,9 @@ function Graph({
83
93
  (x, y) => {
84
94
  for (const node of nodes) {
85
95
  const pos = positions.get(node.id);
86
- if (!pos) continue;
96
+ if (!pos) {
97
+ continue;
98
+ }
87
99
  const dx = x - pos.x;
88
100
  const dy = y - pos.y;
89
101
  if (dx * dx + dy * dy < HIT_RADIUS * HIT_RADIUS) {
@@ -96,20 +108,28 @@ function Graph({
96
108
  );
97
109
  const handleClick = useCallback(
98
110
  (e) => {
99
- if (!onNodeClick) return;
111
+ if (!onNodeClick) {
112
+ return;
113
+ }
100
114
  const rect = canvasRef.current?.getBoundingClientRect();
101
- if (!rect) return;
115
+ if (!rect) {
116
+ return;
117
+ }
102
118
  const x = e.clientX - rect.left;
103
119
  const y = e.clientY - rect.top;
104
120
  const node = findNode(x, y);
105
- if (node) onNodeClick(node);
121
+ if (node) {
122
+ onNodeClick(node);
123
+ }
106
124
  },
107
125
  [onNodeClick, findNode]
108
126
  );
109
127
  const handleMove = useCallback(
110
128
  (e) => {
111
129
  const rect = canvasRef.current?.getBoundingClientRect();
112
- if (!rect) return;
130
+ if (!rect) {
131
+ return;
132
+ }
113
133
  const x = e.clientX - rect.left;
114
134
  const y = e.clientY - rect.top;
115
135
  const node = findNode(x, y);
@@ -122,7 +142,9 @@ function Graph({
122
142
  }, []);
123
143
  const handleKeyDown = useCallback(
124
144
  (e) => {
125
- if (nodes.length === 0) return;
145
+ if (nodes.length === 0) {
146
+ return;
147
+ }
126
148
  switch (e.key) {
127
149
  case "ArrowRight":
128
150
  case "ArrowDown":
@@ -160,7 +182,9 @@ function Graph({
160
182
  if (focused >= 0 && onNodeClick) {
161
183
  e.preventDefault();
162
184
  const node = nodes[focused];
163
- if (node) onNodeClick(node);
185
+ if (node) {
186
+ onNodeClick(node);
187
+ }
164
188
  }
165
189
  break;
166
190
  }
@@ -200,8 +224,8 @@ function Graph({
200
224
  className: "rounded-lg border border-line bg-bg outline-none focus-visible:ring-2 focus-visible:ring-green-400",
201
225
  style: {
202
226
  cursor: hovered && onNodeClick ? "pointer" : "default",
203
- width,
204
- height
227
+ height,
228
+ width
205
229
  }
206
230
  }
207
231
  );
@@ -28,37 +28,44 @@ const Anchor = memo(function Anchor2({
28
28
  },
29
29
  [id, copy]
30
30
  );
31
- return /* @__PURE__ */ jsxs(Tag, { id, className: `group relative scroll-mt-20 ${sizes[level]} ${className || ""}`, children: [
32
- /* @__PURE__ */ jsx(
33
- "a",
34
- {
35
- href: `#${id}`,
36
- onClick: handleClick,
37
- className: "absolute -left-6 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity",
38
- "aria-label": "copy link",
39
- children: copied ? /* @__PURE__ */ jsx(
40
- "svg",
31
+ return /* @__PURE__ */ jsxs(
32
+ Tag,
33
+ {
34
+ id,
35
+ className: `group relative scroll-mt-20 ${sizes[level]} ${className || ""}`,
36
+ children: [
37
+ /* @__PURE__ */ jsx(
38
+ "a",
41
39
  {
42
- "aria-hidden": "true",
43
- viewBox: "0 0 16 16",
44
- fill: "currentColor",
45
- className: "size-4 text-green-500",
46
- children: /* @__PURE__ */ jsx("path", { d: "M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z" })
40
+ href: `#${id}`,
41
+ onClick: handleClick,
42
+ className: "absolute -left-6 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 transition-opacity",
43
+ "aria-label": "copy link",
44
+ children: copied ? /* @__PURE__ */ jsx(
45
+ "svg",
46
+ {
47
+ "aria-hidden": "true",
48
+ viewBox: "0 0 16 16",
49
+ fill: "currentColor",
50
+ className: "size-4 text-green-500",
51
+ children: /* @__PURE__ */ jsx("path", { d: "M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z" })
52
+ }
53
+ ) : /* @__PURE__ */ jsx(
54
+ "svg",
55
+ {
56
+ "aria-hidden": "true",
57
+ viewBox: "0 0 16 16",
58
+ fill: "currentColor",
59
+ className: "size-4 text-fg/40 hover:text-fg/60",
60
+ children: /* @__PURE__ */ jsx("path", { d: "M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z" })
61
+ }
62
+ )
47
63
  }
48
- ) : /* @__PURE__ */ jsx(
49
- "svg",
50
- {
51
- "aria-hidden": "true",
52
- viewBox: "0 0 16 16",
53
- fill: "currentColor",
54
- className: "size-4 text-fg/40 hover:text-fg/60",
55
- children: /* @__PURE__ */ jsx("path", { d: "M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z" })
56
- }
57
- )
58
- }
59
- ),
60
- children
61
- ] });
64
+ ),
65
+ children
66
+ ]
67
+ }
68
+ );
62
69
  });
63
70
  function H1(props) {
64
71
  return /* @__PURE__ */ jsx(Anchor, { level: 1, ...props });
@@ -4,14 +4,22 @@ import { useEffect } from 'react';
4
4
  function HeadingCopy() {
5
5
  useEffect(() => {
6
6
  function handler(e) {
7
- const target = e.target;
8
- if (!(target instanceof HTMLElement)) return;
9
- if (!target.classList.contains("heading-anchor-icon")) return;
7
+ const { target } = e;
8
+ if (!(target instanceof HTMLElement)) {
9
+ return;
10
+ }
11
+ if (!target.classList.contains("heading-anchor-icon")) {
12
+ return;
13
+ }
10
14
  e.preventDefault();
11
15
  const anchor = target.closest("a");
12
- if (!anchor) return;
16
+ if (!anchor) {
17
+ return;
18
+ }
13
19
  const id = anchor.getAttribute("href")?.replace("#", "");
14
- if (!id) return;
20
+ if (!id) {
21
+ return;
22
+ }
15
23
  const url = window.location.origin + window.location.pathname + "#" + id;
16
24
  navigator.clipboard.writeText(url).then(() => {
17
25
  const original = target.textContent;
@@ -9,20 +9,26 @@ const Hero = memo(function Hero2({
9
9
  badge,
10
10
  className
11
11
  }) {
12
- return /* @__PURE__ */ jsxs("div", { className: `flex flex-col items-center px-6 py-20 text-center ${className ?? ""}`, children: [
13
- badge && /* @__PURE__ */ jsx("span", { className: "mb-4 rounded-full border border-line px-3 py-1 text-xs text-muted", children: badge }),
14
- /* @__PURE__ */ jsx("h1", { className: "max-w-3xl text-4xl font-bold tracking-tight text-fg sm:text-5xl lg:text-6xl", children: title }),
15
- description && /* @__PURE__ */ jsx("p", { className: "mt-6 max-w-2xl text-lg text-muted", children: description }),
16
- actions && actions.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-8 flex flex-wrap items-center justify-center gap-3", children: actions.map((action) => /* @__PURE__ */ jsx(
17
- "a",
18
- {
19
- href: action.href,
20
- className: action.variant === "secondary" ? "rounded-lg border border-line bg-surface px-5 py-2.5 text-sm font-medium text-fg transition-colors hover:bg-surface/80" : "rounded-lg bg-accent px-5 py-2.5 text-sm font-medium text-white transition-colors hover:bg-accent/90",
21
- children: action.label
22
- },
23
- action.href
24
- )) })
25
- ] });
12
+ return /* @__PURE__ */ jsxs(
13
+ "div",
14
+ {
15
+ className: `flex flex-col items-center px-6 py-20 text-center ${className ?? ""}`,
16
+ children: [
17
+ badge && /* @__PURE__ */ jsx("span", { className: "mb-4 rounded-full border border-line px-3 py-1 text-xs text-muted", children: badge }),
18
+ /* @__PURE__ */ jsx("h1", { className: "max-w-3xl text-4xl font-bold tracking-tight text-fg sm:text-5xl lg:text-6xl", children: title }),
19
+ description && /* @__PURE__ */ jsx("p", { className: "mt-6 max-w-2xl text-lg text-muted", children: description }),
20
+ actions && actions.length > 0 && /* @__PURE__ */ jsx("div", { className: "mt-8 flex flex-wrap items-center justify-center gap-3", children: actions.map((action) => /* @__PURE__ */ jsx(
21
+ "a",
22
+ {
23
+ href: action.href,
24
+ className: action.variant === "secondary" ? "rounded-lg border border-line bg-surface px-5 py-2.5 text-sm font-medium text-fg transition-colors hover:bg-surface/80" : "rounded-lg bg-accent px-5 py-2.5 text-sm font-medium text-white transition-colors hover:bg-accent/90",
25
+ children: action.label
26
+ },
27
+ action.href
28
+ )) })
29
+ ]
30
+ }
31
+ );
26
32
  });
27
33
 
28
34
  export { Hero };
@@ -14,7 +14,7 @@ interface HighlightProps {
14
14
  /** Highlight color variant */
15
15
  color?: HighlightColor;
16
16
  }
17
- declare function HighlightBase({ children, color }: HighlightProps): JSX.Element;
17
+ declare function HighlightBase({ children, color, }: HighlightProps): JSX.Element;
18
18
  /**
19
19
  * Renders highlighted text with customizable color
20
20
  */
@@ -32,7 +32,7 @@ interface UnderlineProps {
32
32
  /** Underline style variant */
33
33
  style?: UnderlineStyle;
34
34
  }
35
- declare function UnderlineBase({ children, style }: UnderlineProps): JSX.Element;
35
+ declare function UnderlineBase({ children, style, }: UnderlineProps): JSX.Element;
36
36
  /**
37
37
  * Renders underlined text with customizable style
38
38
  */
@@ -2,13 +2,16 @@ import { jsx } from 'react/jsx-runtime';
2
2
  import { memo } from 'react';
3
3
 
4
4
  const colors = {
5
- yellow: "bg-yellow-500/20 text-yellow-200",
6
- green: "bg-green-500/20 text-green-200",
7
5
  blue: "bg-blue-500/20 text-blue-200",
6
+ green: "bg-green-500/20 text-green-200",
7
+ purple: "bg-purple-500/20 text-purple-200",
8
8
  red: "bg-red-500/20 text-red-200",
9
- purple: "bg-purple-500/20 text-purple-200"
9
+ yellow: "bg-yellow-500/20 text-yellow-200"
10
10
  };
11
- function HighlightBase({ children, color = "yellow" }) {
11
+ function HighlightBase({
12
+ children,
13
+ color = "yellow"
14
+ }) {
12
15
  return /* @__PURE__ */ jsx(
13
16
  "mark",
14
17
  {
@@ -21,12 +24,15 @@ function HighlightBase({ children, color = "yellow" }) {
21
24
  }
22
25
  const Highlight = memo(HighlightBase);
23
26
  const underlineStyles = {
24
- solid: "decoration-solid",
25
- wavy: "decoration-wavy",
27
+ dashed: "decoration-dashed",
26
28
  dotted: "decoration-dotted",
27
- dashed: "decoration-dashed"
29
+ solid: "decoration-solid",
30
+ wavy: "decoration-wavy"
28
31
  };
29
- function UnderlineBase({ children, style = "solid" }) {
32
+ function UnderlineBase({
33
+ children,
34
+ style = "solid"
35
+ }) {
30
36
  return /* @__PURE__ */ jsx(
31
37
  "span",
32
38
  {
@@ -15,8 +15,8 @@ interface TypePopupProps {
15
15
  trigger: React.ReactNode;
16
16
  content: React.ReactNode;
17
17
  }
18
- declare function HoverInfoBase({ children, info, type }: HoverInfoProps): React.ReactElement;
19
- declare function TypePopupBase({ trigger, content }: TypePopupProps): React.ReactElement;
18
+ declare function HoverInfoBase({ children, info, type, }: HoverInfoProps): React.ReactElement;
19
+ declare function TypePopupBase({ trigger, content, }: TypePopupProps): React.ReactElement;
20
20
  declare const HoverInfo: react.MemoExoticComponent<typeof HoverInfoBase>;
21
21
  declare const TypePopup: react.MemoExoticComponent<typeof TypePopupBase>;
22
22
 
@@ -3,11 +3,15 @@ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { memo, useState, useId, useCallback } from 'react';
4
4
 
5
5
  const colors = {
6
+ error: "text-red-400",
6
7
  type: "text-cyan-400",
7
- value: "text-green-400",
8
- error: "text-red-400"
8
+ value: "text-green-400"
9
9
  };
10
- function HoverInfoBase({ children, info, type = "type" }) {
10
+ function HoverInfoBase({
11
+ children,
12
+ info,
13
+ type = "type"
14
+ }) {
11
15
  const [show, setShow] = useState(false);
12
16
  const id = useId();
13
17
  const handleShow = useCallback(() => setShow(true), []);
@@ -37,7 +41,10 @@ function HoverInfoBase({ children, info, type = "type" }) {
37
41
  }
38
42
  );
39
43
  }
40
- function TypePopupBase({ trigger, content }) {
44
+ function TypePopupBase({
45
+ trigger,
46
+ content
47
+ }) {
41
48
  const [show, setShow] = useState(false);
42
49
  const id = useId();
43
50
  const handleShow = useCallback(() => setShow(true), []);
@@ -22,7 +22,10 @@ const IconCheck = memo(function IconCheck2({
22
22
  }
23
23
  );
24
24
  });
25
- const IconX = memo(function IconX2({ className, size = 24 }) {
25
+ const IconX = memo(function IconX2({
26
+ className,
27
+ size = 24
28
+ }) {
26
29
  return /* @__PURE__ */ jsxs(
27
30
  "svg",
28
31
  {
@@ -13,7 +13,9 @@ function InlineTocBase({
13
13
  collapsible = false
14
14
  }) {
15
15
  const filtered = items.filter((item) => item.level <= maxDepth);
16
- if (filtered.length === 0) return null;
16
+ if (filtered.length === 0) {
17
+ return null;
18
+ }
17
19
  const content = collapsible ? /* @__PURE__ */ jsxs("details", { children: [
18
20
  /* @__PURE__ */ jsx("summary", { children: title }),
19
21
  /* @__PURE__ */ jsx(List, { items: filtered })
@@ -9,11 +9,21 @@ const variants = {
9
9
  error: "border-red-500/50 bg-red-500/5 text-fg placeholder:text-muted focus:border-red-500"
10
10
  };
11
11
  const sizes = {
12
- sm: "h-8 px-2.5 text-xs",
12
+ lg: "h-12 px-4 text-base",
13
13
  md: "h-10 px-3 text-sm",
14
- lg: "h-12 px-4 text-base"
14
+ sm: "h-8 px-2.5 text-xs"
15
15
  };
16
- function InputBase({ variant = "default", size = "md", label, error, hint, tooltip, className = "", id, ...props }, ref) {
16
+ function InputBase({
17
+ variant = "default",
18
+ size = "md",
19
+ label,
20
+ error,
21
+ hint,
22
+ tooltip,
23
+ className = "",
24
+ id,
25
+ ...props
26
+ }, ref) {
17
27
  const generatedId = useId();
18
28
  const inputId = id || generatedId;
19
29
  const errorId = error ? `${inputId}-error` : void 0;
@@ -5,10 +5,10 @@ import { CopyButton } from './copybutton';
5
5
 
6
6
  const managers = ["npm", "pnpm", "yarn", "bun"];
7
7
  const commands = {
8
+ bun: "bun add",
8
9
  npm: "npm i",
9
10
  pnpm: "pnpm add",
10
- yarn: "yarn add",
11
- bun: "bun add"
11
+ yarn: "yarn add"
12
12
  };
13
13
  function InstallBase({ package: pkg }) {
14
14
  const [active, setActive] = useState("npm");
@@ -21,30 +21,40 @@ function InstallBase({ package: pkg }) {
21
21
  mapRef.current.set(manager, mapRef.current.size);
22
22
  }
23
23
  }
24
- const getTabId = useCallback((value) => `${id}-tab-${mapRef.current.get(value) ?? 0}`, [id]);
24
+ const getTabId = useCallback(
25
+ (value) => `${id}-tab-${mapRef.current.get(value) ?? 0}`,
26
+ [id]
27
+ );
25
28
  const handleKeyDown = useCallback(
26
29
  (e) => {
27
30
  const currentIndex = managers.indexOf(active);
28
31
  let nextIndex = currentIndex;
29
32
  switch (e.key) {
30
- case "ArrowLeft":
33
+ case "ArrowLeft": {
31
34
  nextIndex = currentIndex > 0 ? currentIndex - 1 : managers.length - 1;
32
35
  break;
33
- case "ArrowRight":
36
+ }
37
+ case "ArrowRight": {
34
38
  nextIndex = currentIndex < managers.length - 1 ? currentIndex + 1 : 0;
35
39
  break;
36
- case "Home":
40
+ }
41
+ case "Home": {
37
42
  nextIndex = 0;
38
43
  break;
39
- case "End":
44
+ }
45
+ case "End": {
40
46
  nextIndex = managers.length - 1;
41
47
  break;
42
- default:
48
+ }
49
+ default: {
43
50
  return;
51
+ }
44
52
  }
45
53
  e.preventDefault();
46
54
  const next = managers[nextIndex];
47
- if (next) setActive(next);
55
+ if (next) {
56
+ setActive(next);
57
+ }
48
58
  const tabs = tablistRef.current?.querySelectorAll('[role="tab"]');
49
59
  tabs?.[nextIndex]?.focus();
50
60
  },
@@ -59,24 +69,24 @@ function InstallBase({ package: pkg }) {
59
69
  role: "group",
60
70
  "aria-label": `Install ${pkg} package`,
61
71
  style: {
62
- position: "relative",
63
- margin: "24px 0",
64
- borderRadius: "8px",
65
72
  backgroundColor: "#0d0d0d",
66
73
  border: "1px solid #1c1c1c",
67
- overflow: "hidden"
74
+ borderRadius: "8px",
75
+ margin: "24px 0",
76
+ overflow: "hidden",
77
+ position: "relative"
68
78
  },
69
79
  children: [
70
80
  /* @__PURE__ */ jsxs(
71
81
  "div",
72
82
  {
73
83
  style: {
74
- display: "flex",
75
84
  alignItems: "center",
76
- justifyContent: "space-between",
77
- padding: "0 12px",
85
+ borderBottom: "1px solid #1c1c1c",
86
+ display: "flex",
78
87
  height: "40px",
79
- borderBottom: "1px solid #1c1c1c"
88
+ justifyContent: "space-between",
89
+ padding: "0 12px"
80
90
  },
81
91
  children: [
82
92
  /* @__PURE__ */ jsx(
@@ -86,7 +96,7 @@ function InstallBase({ package: pkg }) {
86
96
  role: "tablist",
87
97
  "aria-label": "Package managers",
88
98
  onKeyDown: handleKeyDown,
89
- style: { display: "flex", alignItems: "center", gap: "4px" },
99
+ style: { alignItems: "center", display: "flex", gap: "4px" },
90
100
  children: managers.map((m, index) => /* @__PURE__ */ jsx(
91
101
  "button",
92
102
  {
@@ -98,14 +108,14 @@ function InstallBase({ package: pkg }) {
98
108
  tabIndex: active === m ? 0 : -1,
99
109
  onClick: () => handleTabClick(m),
100
110
  style: {
101
- padding: "4px 10px",
102
- fontSize: "13px",
103
- color: active === m ? "#fafafa" : "#737373",
104
111
  background: "transparent",
105
112
  border: "none",
106
- cursor: "pointer",
107
113
  borderBottom: active === m ? "2px solid #fafafa" : "2px solid transparent",
114
+ color: active === m ? "#fafafa" : "#737373",
115
+ cursor: "pointer",
116
+ fontSize: "13px",
108
117
  marginBottom: "-1px",
118
+ padding: "4px 10px",
109
119
  transition: "color 0.15s"
110
120
  },
111
121
  children: m
@@ -126,10 +136,10 @@ function InstallBase({ package: pkg }) {
126
136
  "aria-labelledby": getTabId(active),
127
137
  tabIndex: 0,
128
138
  style: {
129
- padding: "14px 16px",
139
+ fontFamily: "var(--font-mono), ui-monospace, monospace",
130
140
  fontSize: "13px",
131
141
  lineHeight: "1.6",
132
- fontFamily: "var(--font-mono), ui-monospace, monospace"
142
+ padding: "14px 16px"
133
143
  },
134
144
  children: /* @__PURE__ */ jsxs("code", { "aria-label": `Command: ${command}`, children: [
135
145
  /* @__PURE__ */ jsx("span", { style: { color: "#7ee787" }, children: commands[active] }),
@@ -13,17 +13,25 @@ function KbdBase({ children, className = "" }) {
13
13
  const Kbd = memo(KbdBase);
14
14
  function ShortcutBase({ keys }) {
15
15
  const label = keys.join(" + ");
16
- return /* @__PURE__ */ jsx("kbd", { className: "inline-flex items-center gap-0.5", "aria-label": label, role: "group", children: keys.map((key, i) => /* @__PURE__ */ jsxs("span", { className: "contents", children: [
17
- i > 0 && /* @__PURE__ */ jsx("span", { className: "text-muted/50 mx-0.5", "aria-hidden": "true", children: "+" }),
18
- /* @__PURE__ */ jsx(
19
- "kbd",
20
- {
21
- className: "inline-flex items-center justify-center min-w-[1.5rem] h-6 px-1.5 text-xs font-mono bg-surface border border-line rounded shadow-sm text-muted",
22
- "aria-hidden": "true",
23
- children: key
24
- }
25
- )
26
- ] }, `${i}-${key}`)) });
16
+ return /* @__PURE__ */ jsx(
17
+ "kbd",
18
+ {
19
+ className: "inline-flex items-center gap-0.5",
20
+ "aria-label": label,
21
+ role: "group",
22
+ children: keys.map((key, i) => /* @__PURE__ */ jsxs("span", { className: "contents", children: [
23
+ i > 0 && /* @__PURE__ */ jsx("span", { className: "text-muted/50 mx-0.5", "aria-hidden": "true", children: "+" }),
24
+ /* @__PURE__ */ jsx(
25
+ "kbd",
26
+ {
27
+ className: "inline-flex items-center justify-center min-w-[1.5rem] h-6 px-1.5 text-xs font-mono bg-surface border border-line rounded shadow-sm text-muted",
28
+ "aria-hidden": "true",
29
+ children: key
30
+ }
31
+ )
32
+ ] }, `${i}-${key}`))
33
+ }
34
+ );
27
35
  }
28
36
  const Shortcut = memo(ShortcutBase);
29
37
 
@@ -1,6 +1,6 @@
1
1
  import { ReactNode } from 'react';
2
2
 
3
- declare function LangIcon({ lang, size }: {
3
+ declare function LangIcon({ lang, size, }: {
4
4
  lang: string;
5
5
  size?: number;
6
6
  }): ReactNode;