fumadocs-core 15.8.3 → 15.8.5

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 (47) hide show
  1. package/dist/{algolia-Z232AL35.js → algolia-IZEDLPHE.js} +1 -1
  2. package/dist/breadcrumb.js +4 -4
  3. package/dist/builder-5BHIAfCi.d.ts +383 -0
  4. package/dist/{chunk-DDDU7USP.js → chunk-FAEPKD7U.js} +1 -0
  5. package/dist/{chunk-Z5V4JSQY.js → chunk-LMRZFODA.js} +16 -1
  6. package/dist/{chunk-JSBRDJBE.js → chunk-U67V476Y.js} +5 -0
  7. package/dist/content/github.js +1 -1
  8. package/dist/content/index.js +1 -1
  9. package/dist/content/toc.js +1 -1
  10. package/dist/dynamic-link.js +1 -1
  11. package/dist/{fetch-C3XV44E6.js → fetch-2XFMBLBA.js} +1 -1
  12. package/dist/framework/index.js +1 -1
  13. package/dist/framework/next.js +1 -1
  14. package/dist/framework/react-router.js +1 -1
  15. package/dist/framework/tanstack.js +1 -1
  16. package/dist/framework/waku.js +1 -1
  17. package/dist/hide-if-empty.js +25 -6
  18. package/dist/highlight/client.js +1 -1
  19. package/dist/highlight/index.js +1 -1
  20. package/dist/i18n/index.js +1 -1
  21. package/dist/i18n/legacy.js +1 -1
  22. package/dist/i18n/middleware.js +1 -1
  23. package/dist/link.js +1 -1
  24. package/dist/mdx-plugins/index.js +1 -1
  25. package/dist/{mixedbread-AG5AAOKO.js → mixedbread-RAHDVXGJ.js} +1 -1
  26. package/dist/negotiation/index.js +1 -1
  27. package/dist/{orama-cloud-GMFFJOIB.js → orama-cloud-74FM25SB.js} +1 -1
  28. package/dist/page-tree/index.js +1 -1
  29. package/dist/search/algolia.js +1 -1
  30. package/dist/search/client.js +6 -6
  31. package/dist/search/index.js +1 -1
  32. package/dist/search/orama-cloud.js +1 -1
  33. package/dist/search/server.d.ts +1 -1
  34. package/dist/search/server.js +2 -2
  35. package/dist/server/index.d.ts +1 -1
  36. package/dist/server/index.js +1 -1
  37. package/dist/sidebar.js +1 -1
  38. package/dist/source/index.d.ts +6 -331
  39. package/dist/source/index.js +200 -150
  40. package/dist/source/plugins/lucide-icons.d.ts +1 -1
  41. package/dist/source/plugins/lucide-icons.js +2 -2
  42. package/dist/{static-UVSWNGTY.js → static-A2YJ5TXV.js} +1 -1
  43. package/dist/toc.js +1 -1
  44. package/dist/utils/use-effect-event.js +1 -1
  45. package/dist/utils/use-media-query.js +1 -1
  46. package/dist/utils/use-on-change.js +1 -1
  47. package/package.json +8 -8
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  iconPlugin
3
- } from "../chunk-DDDU7USP.js";
3
+ } from "../chunk-FAEPKD7U.js";
4
4
  import {
5
5
  basename,
6
6
  dirname,
7
7
  extname,
8
8
  joinPath,
9
9
  parseFilePath,
10
+ path_exports,
10
11
  slash,
11
12
  splitPath
12
- } from "../chunk-Z5V4JSQY.js";
13
+ } from "../chunk-LMRZFODA.js";
13
14
  import {
14
15
  normalizeUrl
15
16
  } from "../chunk-PFNP6PEB.js";
16
- import "../chunk-JSBRDJBE.js";
17
+ import "../chunk-U67V476Y.js";
17
18
 
18
19
  // src/source/page-tree/transformer-fallback.ts
19
20
  function transformerFallback() {
20
21
  const addedFiles = /* @__PURE__ */ new Set();
21
22
  return {
22
- name: "fumadocs:fallback",
23
23
  root(root) {
24
24
  const isolatedStorage = new FileSystem();
25
25
  for (const file of this.storage.getFiles()) {
@@ -28,10 +28,9 @@ function transformerFallback() {
28
28
  if (content) isolatedStorage.write(file, content);
29
29
  }
30
30
  if (isolatedStorage.getFiles().length === 0) return root;
31
- root.fallback = this.builder.build({
31
+ root.fallback = this.builder.build(isolatedStorage, {
32
32
  ...this.options,
33
33
  id: `fallback-${root.$id ?? ""}`,
34
- storage: isolatedStorage,
35
34
  generateFallback: false
36
35
  });
37
36
  addedFiles.clear();
@@ -145,13 +144,7 @@ function buildFolderNode(folderPath, isGlobalRoot, ctx) {
145
144
  ctx.visitedPaths.add(indexPath);
146
145
  index = buildFileNode(indexPath, ctx);
147
146
  }
148
- if (!meta?.data.pages) {
149
- setIndexIfUnused();
150
- children = buildAll(
151
- files.filter((file) => !ctx.visitedPaths.has(file)),
152
- ctx
153
- );
154
- } else {
147
+ if (meta && meta.data.pages) {
155
148
  const resolved = meta.data.pages.flatMap((item, i) => resolveFolderItem(folderPath, item, ctx, i));
156
149
  setIndexIfUnused();
157
150
  for (let i = 0; i < resolved.length; i++) {
@@ -166,6 +159,12 @@ function buildFolderNode(folderPath, isGlobalRoot, ctx) {
166
159
  break;
167
160
  }
168
161
  children = resolved;
162
+ } else {
163
+ setIndexIfUnused();
164
+ children = buildAll(
165
+ files.filter((file) => !ctx.visitedPaths.has(file)),
166
+ ctx
167
+ );
169
168
  }
170
169
  let name = meta?.data.title ?? index?.name;
171
170
  if (!name) {
@@ -227,10 +226,10 @@ function build(id, ctx) {
227
226
  }
228
227
  return root;
229
228
  }
230
- function createPageTreeBuilder(getUrl) {
231
- function getTransformers(options, generateFallback) {
229
+ function createPageTreeBuilder(getUrl, plugins) {
230
+ function getTransformers(generateFallback) {
232
231
  const transformers = [];
233
- for (const plugin of options.plugins ?? []) {
232
+ for (const plugin of plugins ?? []) {
234
233
  if (plugin.transformPageTree) transformers.push(plugin.transformPageTree);
235
234
  }
236
235
  if (generateFallback) {
@@ -239,28 +238,25 @@ function createPageTreeBuilder(getUrl) {
239
238
  return transformers;
240
239
  }
241
240
  function createFlattenPathResolver(storage) {
242
- const map = /* @__PURE__ */ new Map();
241
+ const map2 = /* @__PURE__ */ new Map();
243
242
  const files = storage.getFiles();
244
243
  for (const file of files) {
245
244
  const content = storage.read(file);
246
245
  const flattenPath = file.substring(0, file.length - extname(file).length);
247
- map.set(flattenPath + "." + content.format, file);
246
+ map2.set(flattenPath + "." + content.format, file);
248
247
  }
249
248
  return (name, format) => {
250
- return map.get(name + "." + format);
249
+ return map2.get(name + "." + format);
251
250
  };
252
251
  }
253
252
  return {
254
- build({ storage, id, ...options }) {
253
+ build(storage, options) {
255
254
  const key = "";
256
- return this.buildI18n({
257
- id,
258
- storages: { [key]: storage },
259
- ...options
260
- })[key];
255
+ return this.buildI18n({ [key]: storage }, options)[key];
261
256
  },
262
- buildI18n({ id, storages, generateFallback = true, ...options }) {
263
- const transformers = getTransformers(options, generateFallback);
257
+ buildI18n(storages, options = {}) {
258
+ const { id, generateFallback = true } = options;
259
+ const transformers = getTransformers(generateFallback);
264
260
  const out = {};
265
261
  for (const [locale, storage] of Object.entries(storages)) {
266
262
  const resolve = createFlattenPathResolver(storage);
@@ -293,7 +289,7 @@ function pathToName(name) {
293
289
  return result.join("");
294
290
  }
295
291
 
296
- // src/source/file-system.ts
292
+ // src/source/storage/file-system.ts
297
293
  var FileSystem = class {
298
294
  constructor(inherit) {
299
295
  this.files = /* @__PURE__ */ new Map();
@@ -319,20 +315,31 @@ var FileSystem = class {
319
315
  return this.folders.get(path);
320
316
  }
321
317
  write(path, file) {
322
- if (this.files.has(path)) {
323
- this.files.set(path, file);
324
- return;
318
+ if (!this.files.has(path)) {
319
+ const dir = dirname(path);
320
+ this.makeDir(dir);
321
+ this.readDir(dir)?.push(path);
325
322
  }
326
- const dir = dirname(path);
327
- this.makeDir(dir);
328
- this.readDir(dir)?.push(path);
329
323
  this.files.set(path, file);
330
324
  }
331
- delete(path) {
332
- return this.files.delete(path);
333
- }
334
- deleteDir(path) {
335
- return this.folders.delete(path);
325
+ /**
326
+ * Delete files at specified path.
327
+ *
328
+ * @param path - the target path.
329
+ * @param [recursive=false] - if set to `true`, it will also delete directories.
330
+ */
331
+ delete(path, recursive = false) {
332
+ if (this.files.delete(path)) return true;
333
+ if (recursive) {
334
+ const folder = this.folders.get(path);
335
+ if (!folder) return false;
336
+ this.folders.delete(path);
337
+ for (const child of folder) {
338
+ this.delete(child);
339
+ }
340
+ return true;
341
+ }
342
+ return false;
336
343
  }
337
344
  getFiles() {
338
345
  return Array.from(this.files.keys());
@@ -348,7 +355,7 @@ var FileSystem = class {
348
355
  }
349
356
  };
350
357
 
351
- // src/source/load-files.ts
358
+ // src/source/storage/content.ts
352
359
  function isLocaleValid(locale) {
353
360
  return locale.length > 0 && !/\d+/.test(locale);
354
361
  }
@@ -372,8 +379,7 @@ var parsers = {
372
379
  return [path];
373
380
  }
374
381
  };
375
- function loadFiles(files, options, i18n) {
376
- const { buildFile, plugins = [] } = options;
382
+ function buildContentStorage(files, buildFile, plugins, i18n) {
377
383
  const parser = parsers[i18n.parser ?? "dot"];
378
384
  const storages = {};
379
385
  const normalized = files.map(
@@ -415,8 +421,20 @@ function normalizePath(path) {
415
421
  }
416
422
 
417
423
  // src/source/plugins/index.ts
424
+ var priorityMap = {
425
+ pre: 1,
426
+ default: 0,
427
+ post: -1
428
+ };
418
429
  function buildPlugins(plugins) {
419
- return plugins;
430
+ const flatten = [];
431
+ for (const plugin of plugins) {
432
+ if (Array.isArray(plugin)) flatten.push(...plugin);
433
+ else if (plugin) flatten.push(plugin);
434
+ }
435
+ return flatten.sort(
436
+ (a, b) => priorityMap[b.enforce ?? "default"] - priorityMap[a.enforce ?? "default"]
437
+ );
420
438
  }
421
439
 
422
440
  // src/source/plugins/slugs.ts
@@ -425,6 +443,7 @@ function slugsPlugin(slugsFn) {
425
443
  return basename(file, extname(file)) === "index";
426
444
  }
427
445
  return {
446
+ name: "fumadocs:slugs",
428
447
  transformStorage({ storage }) {
429
448
  const indexFiles = /* @__PURE__ */ new Set();
430
449
  const taken = /* @__PURE__ */ new Set();
@@ -450,50 +469,69 @@ function slugsPlugin(slugsFn) {
450
469
  }
451
470
  };
452
471
  }
472
+ var GroupRegex = /^\(.+\)$/;
473
+ function getSlugs(file) {
474
+ if (typeof file !== "string") return getSlugs(file.path);
475
+ const dir = dirname(file);
476
+ const name = basename(file, extname(file));
477
+ const slugs = [];
478
+ for (const seg of dir.split("/")) {
479
+ if (seg.length > 0 && !GroupRegex.test(seg)) slugs.push(encodeURI(seg));
480
+ }
481
+ if (GroupRegex.test(name))
482
+ throw new Error(`Cannot use folder group in file names: ${file}`);
483
+ if (name !== "index") {
484
+ slugs.push(encodeURI(name));
485
+ }
486
+ return slugs;
487
+ }
453
488
 
454
489
  // src/source/plugins/compat.ts
455
- function compatPlugin(loader2, {
456
- attachFile,
457
- attachSeparator,
458
- attachFolder,
490
+ function compatPlugin({
491
+ pageTree,
459
492
  transformers
460
493
  }) {
461
- const chunk = [];
462
- chunk.push({
463
- transformPageTree: {
464
- file(node, file) {
465
- if (!attachFile) return node;
466
- const content = file ? this.storage.read(file) : void 0;
467
- return attachFile(
468
- node,
469
- content?.format === "page" ? content : void 0
470
- );
471
- },
472
- folder(node, folderPath, metaPath) {
473
- if (!attachFolder) return node;
474
- const files = this.storage.readDir(folderPath) ?? [];
475
- const meta = metaPath ? this.storage.read(metaPath) : void 0;
476
- return attachFolder(
477
- node,
478
- {
479
- children: files.flatMap((file) => this.storage.read(file) ?? [])
480
- },
481
- meta?.format === "meta" ? meta : void 0
482
- );
483
- },
484
- separator(node) {
485
- if (!attachSeparator) return node;
486
- return attachSeparator(node);
487
- }
494
+ const plugins = [];
495
+ if (pageTree) {
496
+ const { attachFile, attachSeparator, attachFolder, transformers: transformers2 } = pageTree;
497
+ for (const transformer of transformers2 ?? []) {
498
+ plugins.push(fromPageTreeTransformer(transformer));
488
499
  }
489
- });
490
- for (const transformer of loader2.transformers ?? []) {
491
- chunk.push(fromStorageTransformer(transformer));
500
+ plugins.push(
501
+ fromPageTreeTransformer({
502
+ file(node, file) {
503
+ if (!attachFile) return node;
504
+ const content = file ? this.storage.read(file) : void 0;
505
+ return attachFile(
506
+ node,
507
+ content?.format === "page" ? content : void 0
508
+ );
509
+ },
510
+ folder(node, folderPath, metaPath) {
511
+ if (!attachFolder) return node;
512
+ const files = this.storage.readDir(folderPath) ?? [];
513
+ const meta = metaPath ? this.storage.read(metaPath) : void 0;
514
+ return attachFolder(
515
+ node,
516
+ {
517
+ children: files.flatMap((file) => this.storage.read(file) ?? [])
518
+ },
519
+ meta?.format === "meta" ? meta : void 0
520
+ );
521
+ },
522
+ separator(node) {
523
+ if (!attachSeparator) return node;
524
+ return attachSeparator(node);
525
+ }
526
+ })
527
+ );
492
528
  }
493
- for (const transformer of transformers ?? []) {
494
- chunk.push(fromPageTreeTransformer(transformer));
529
+ if (transformers) {
530
+ for (const transformer of transformers) {
531
+ plugins.push(fromStorageTransformer(transformer));
532
+ }
495
533
  }
496
- return chunk;
534
+ return plugins;
497
535
  }
498
536
  function fromPageTreeTransformer(transformer) {
499
537
  return {
@@ -546,60 +584,57 @@ function createGetUrl(baseUrl, i18n) {
546
584
  return `/${paths.filter((v) => v.length > 0).join("/")}`;
547
585
  };
548
586
  }
549
- function loader(options) {
550
- return createOutput(options);
587
+ function loader(...args) {
588
+ const resolved = args.length === 2 ? resolveConfig(args[0], args[1]) : resolveConfig(args[0].source, args[0]);
589
+ return createOutput(resolved);
551
590
  }
552
- function loadSource(source) {
553
- const out = [];
554
- for (const item of Array.isArray(source) ? source : [source]) {
555
- if (typeof item.files === "function") {
556
- out.push(...item.files());
557
- } else {
558
- out.push(...item.files);
559
- }
591
+ function resolveConfig(source, { slugs, icon, plugins = [], baseUrl, url, ...base }) {
592
+ const getUrl = url ? (...args) => normalizeUrl(url(...args)) : createGetUrl(baseUrl, base.i18n);
593
+ let config = {
594
+ ...base,
595
+ url: getUrl,
596
+ source,
597
+ plugins: buildPlugins([
598
+ slugsPlugin(slugs),
599
+ icon && iconPlugin(icon),
600
+ compatPlugin(base),
601
+ ...plugins
602
+ ])
603
+ };
604
+ for (const plugin of config.plugins ?? []) {
605
+ const result = plugin.config?.(config);
606
+ if (result) config = result;
560
607
  }
561
- return out;
608
+ return config;
562
609
  }
563
- function createOutput(options) {
564
- if (!options.url && !options.baseUrl) {
565
- console.warn("`loader()` now requires a `baseUrl` option to be defined.");
566
- }
567
- const { source, baseUrl = "/", i18n, slugs: slugsFn, url: urlFn } = options;
568
- const getUrl = urlFn ? (...args) => normalizeUrl(urlFn(...args)) : createGetUrl(baseUrl, i18n);
610
+ function createOutput({
611
+ source: { files },
612
+ url: getUrl,
613
+ i18n,
614
+ plugins = [],
615
+ pageTree: pageTreeConfig
616
+ }) {
569
617
  const defaultLanguage = i18n?.defaultLanguage ?? "";
570
- const files = loadSource(source);
571
- const plugins = [slugsPlugin(slugsFn)];
572
- if (options.icon) {
573
- plugins.push(iconPlugin(options.icon));
574
- }
575
- if (options.plugins) {
576
- plugins.push(...buildPlugins(options.plugins));
577
- }
578
- if (options.pageTree) {
579
- plugins.push(...compatPlugin(options, options.pageTree));
580
- }
581
- const storages = loadFiles(
618
+ const storages = buildContentStorage(
582
619
  files,
583
- {
584
- buildFile(file) {
585
- if (file.type === "page") {
586
- return {
587
- format: "page",
588
- path: file.path,
589
- slugs: file.slugs,
590
- data: file.data,
591
- absolutePath: file.absolutePath ?? ""
592
- };
593
- }
620
+ (file) => {
621
+ if (file.type === "page") {
594
622
  return {
595
- format: "meta",
623
+ format: "page",
596
624
  path: file.path,
597
- absolutePath: file.absolutePath ?? "",
598
- data: file.data
625
+ slugs: file.slugs,
626
+ data: file.data,
627
+ absolutePath: file.absolutePath ?? ""
599
628
  };
600
- },
601
- plugins
629
+ }
630
+ return {
631
+ format: "meta",
632
+ path: file.path,
633
+ absolutePath: file.absolutePath ?? "",
634
+ data: file.data
635
+ };
602
636
  },
637
+ plugins,
603
638
  i18n ?? {
604
639
  defaultLanguage,
605
640
  parser: "none",
@@ -607,16 +642,12 @@ function createOutput(options) {
607
642
  }
608
643
  );
609
644
  const walker = indexPages(storages, getUrl);
610
- const builder = createPageTreeBuilder(getUrl);
645
+ const builder = createPageTreeBuilder(getUrl, plugins);
611
646
  let pageTree;
612
647
  return {
613
648
  _i18n: i18n,
614
649
  get pageTree() {
615
- pageTree ??= builder.buildI18n({
616
- storages,
617
- plugins,
618
- ...options.pageTree
619
- });
650
+ pageTree ??= builder.buildI18n(storages, pageTreeConfig);
620
651
  return i18n ? pageTree : pageTree[defaultLanguage];
621
652
  },
622
653
  set pageTree(v) {
@@ -654,8 +685,8 @@ function createOutput(options) {
654
685
  },
655
686
  getLanguages() {
656
687
  const list = [];
657
- if (!options.i18n) return list;
658
- for (const language of options.i18n.languages) {
688
+ if (!i18n) return list;
689
+ for (const language of i18n.languages) {
659
690
  list.push({
660
691
  language,
661
692
  pages: this.getPages(language)
@@ -677,14 +708,14 @@ function createOutput(options) {
677
708
  return walker.pathToPage.get(`${language}.${ref}`);
678
709
  },
679
710
  getPageTree(locale) {
680
- if (options.i18n) {
711
+ if (i18n) {
681
712
  return this.pageTree[locale ?? defaultLanguage];
682
713
  }
683
714
  return this.pageTree;
684
715
  },
685
716
  // @ts-expect-error -- ignore this
686
717
  generateParams(slug, lang) {
687
- if (options.i18n) {
718
+ if (i18n) {
688
719
  return this.getLanguages().flatMap(
689
720
  (entry) => entry.pages.map((page) => ({
690
721
  [slug ?? "slug"]: page.slugs,
@@ -721,28 +752,47 @@ function fileToPage(file, getUrl, locale) {
721
752
  locale
722
753
  };
723
754
  }
724
- var GroupRegex = /^\(.+\)$/;
725
- function getSlugs(file) {
726
- if (typeof file !== "string") return getSlugs(file.path);
727
- const dir = dirname(file);
728
- const name = basename(file, extname(file));
729
- const slugs = [];
730
- for (const seg of dir.split("/")) {
731
- if (seg.length > 0 && !GroupRegex.test(seg)) slugs.push(encodeURI(seg));
732
- }
733
- if (GroupRegex.test(name))
734
- throw new Error(`Cannot use folder group in file names: ${file}`);
735
- if (name !== "index") {
736
- slugs.push(encodeURI(name));
755
+ function multiple(sources) {
756
+ const out = { files: [] };
757
+ for (const [type, source] of Object.entries(sources)) {
758
+ for (const file of source.files) {
759
+ out.files.push({
760
+ ...file,
761
+ data: {
762
+ ...file.data,
763
+ type
764
+ }
765
+ });
766
+ }
737
767
  }
738
- return slugs;
768
+ return out;
769
+ }
770
+ function map(source) {
771
+ return {
772
+ page(fn) {
773
+ return {
774
+ files: source.files.map(
775
+ (file) => file.type === "page" ? fn(file) : file
776
+ )
777
+ };
778
+ },
779
+ meta(fn) {
780
+ return {
781
+ files: source.files.map(
782
+ (file) => file.type === "meta" ? fn(file) : file
783
+ )
784
+ };
785
+ }
786
+ };
739
787
  }
740
788
  export {
741
789
  FileSystem,
790
+ path_exports as PathUtils,
742
791
  createGetUrl,
743
792
  createPageTreeBuilder,
744
793
  getSlugs,
745
- loadFiles,
746
794
  loader,
795
+ map,
796
+ multiple,
747
797
  parseFilePath
748
798
  };
@@ -1,4 +1,4 @@
1
- import { LoaderPlugin } from '../index.js';
1
+ import { w as LoaderPlugin } from '../../builder-5BHIAfCi.js';
2
2
  import { icons } from 'lucide-react';
3
3
  import '../../definitions-Q95-psoo.js';
4
4
  import 'react';
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  iconPlugin
3
- } from "../../chunk-DDDU7USP.js";
4
- import "../../chunk-JSBRDJBE.js";
3
+ } from "../../chunk-FAEPKD7U.js";
4
+ import "../../chunk-U67V476Y.js";
5
5
 
6
6
  // src/source/plugins/lucide-icons.ts
7
7
  import { icons } from "lucide-react";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-XOFXGHS4.js";
5
5
  import "./chunk-ZMWYLUDP.js";
6
6
  import "./chunk-OTD7MV33.js";
7
- import "./chunk-JSBRDJBE.js";
7
+ import "./chunk-U67V476Y.js";
8
8
 
9
9
  // src/search/client/static.ts
10
10
  import { create, load } from "@orama/orama";
package/dist/toc.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  useOnChange
4
4
  } from "./chunk-EMWGTXSW.js";
5
- import "./chunk-JSBRDJBE.js";
5
+ import "./chunk-U67V476Y.js";
6
6
 
7
7
  // src/toc.tsx
8
8
  import { createContext, forwardRef, useContext, useMemo, useRef } from "react";
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import "../chunk-JSBRDJBE.js";
2
+ import "../chunk-U67V476Y.js";
3
3
 
4
4
  // src/utils/use-effect-event.ts
5
5
  import * as React from "react";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useMediaQuery
3
3
  } from "../chunk-EP5LHGDZ.js";
4
- import "../chunk-JSBRDJBE.js";
4
+ import "../chunk-U67V476Y.js";
5
5
  export {
6
6
  useMediaQuery
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useOnChange
3
3
  } from "../chunk-EMWGTXSW.js";
4
- import "../chunk-JSBRDJBE.js";
4
+ import "../chunk-U67V476Y.js";
5
5
  export {
6
6
  useOnChange
7
7
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fumadocs-core",
3
- "version": "15.8.3",
3
+ "version": "15.8.5",
4
4
  "description": "The library for building a documentation website in any React.js framework",
5
5
  "keywords": [
6
6
  "Fumadocs",
@@ -110,7 +110,7 @@
110
110
  "dist/*"
111
111
  ],
112
112
  "dependencies": {
113
- "@formatjs/intl-localematcher": "^0.6.1",
113
+ "@formatjs/intl-localematcher": "^0.6.2",
114
114
  "@orama/orama": "^3.1.14",
115
115
  "@shikijs/rehype": "^3.13.0",
116
116
  "@shikijs/transformers": "^3.13.0",
@@ -122,7 +122,7 @@
122
122
  "npm-to-yarn": "^3.0.1",
123
123
  "path-to-regexp": "^8.3.0",
124
124
  "react-remove-scroll": "^2.7.1",
125
- "remark": "^15.0.0",
125
+ "remark": "^15.0.1",
126
126
  "remark-gfm": "^4.0.1",
127
127
  "remark-rehype": "^11.1.2",
128
128
  "scroll-into-view-if-needed": "^3.1.0",
@@ -131,12 +131,12 @@
131
131
  },
132
132
  "devDependencies": {
133
133
  "@mdx-js/mdx": "^3.1.1",
134
- "@mixedbread/sdk": "^0.31.1",
134
+ "@mixedbread/sdk": "^0.32.0",
135
135
  "@oramacloud/client": "^2.1.4",
136
- "@tanstack/react-router": "^1.132.31",
136
+ "@tanstack/react-router": "^1.132.33",
137
137
  "@types/estree-jsx": "^1.0.5",
138
138
  "@types/hast": "^3.0.4",
139
- "@types/mdast": "^4.0.3",
139
+ "@types/mdast": "^4.0.4",
140
140
  "@types/negotiator": "^0.6.4",
141
141
  "@types/node": "24.6.2",
142
142
  "@types/react": "^19.2.0",
@@ -153,8 +153,8 @@
153
153
  "unified": "^11.0.5",
154
154
  "vfile": "^6.0.3",
155
155
  "waku": "^0.26.1",
156
- "eslint-config-custom": "0.0.0",
157
- "tsconfig": "0.0.0"
156
+ "tsconfig": "0.0.0",
157
+ "eslint-config-custom": "0.0.0"
158
158
  },
159
159
  "peerDependencies": {
160
160
  "@mixedbread/sdk": "^0.19.0",