@fumadocs/base-ui 16.5.1 → 16.5.2

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 (182) hide show
  1. package/dist/_virtual/{rolldown_runtime.js → _rolldown/runtime.js} +3 -3
  2. package/dist/components/accordion.d.ts +3 -3
  3. package/dist/components/accordion.d.ts.map +1 -1
  4. package/dist/components/accordion.js +2 -2
  5. package/dist/components/accordion.js.map +1 -1
  6. package/dist/components/banner.d.ts +2 -2
  7. package/dist/components/banner.d.ts.map +1 -1
  8. package/dist/components/callout.d.ts +5 -5
  9. package/dist/components/callout.d.ts.map +1 -1
  10. package/dist/components/card.d.ts +3 -3
  11. package/dist/components/card.d.ts.map +1 -1
  12. package/dist/components/codeblock.d.ts +7 -7
  13. package/dist/components/codeblock.d.ts.map +1 -1
  14. package/dist/components/codeblock.js +3 -3
  15. package/dist/components/codeblock.js.map +1 -1
  16. package/dist/components/dialog/search-algolia.d.ts +2 -2
  17. package/dist/components/dialog/search-algolia.d.ts.map +1 -1
  18. package/dist/components/dialog/search-algolia.js +4 -4
  19. package/dist/components/dialog/search-algolia.js.map +1 -1
  20. package/dist/components/dialog/search-default.d.ts +2 -2
  21. package/dist/components/dialog/search-default.d.ts.map +1 -1
  22. package/dist/components/dialog/search-default.js +4 -4
  23. package/dist/components/dialog/search-default.js.map +1 -1
  24. package/dist/components/dialog/search-orama.d.ts +2 -2
  25. package/dist/components/dialog/search-orama.d.ts.map +1 -1
  26. package/dist/components/dialog/search-orama.js +4 -4
  27. package/dist/components/dialog/search-orama.js.map +1 -1
  28. package/dist/components/dialog/search.d.ts +13 -13
  29. package/dist/components/dialog/search.d.ts.map +1 -1
  30. package/dist/components/dialog/search.js +4 -4
  31. package/dist/components/dialog/search.js.map +1 -1
  32. package/dist/components/dynamic-codeblock.core.d.ts +2 -2
  33. package/dist/components/dynamic-codeblock.core.d.ts.map +1 -1
  34. package/dist/components/dynamic-codeblock.core.js +2 -2
  35. package/dist/components/dynamic-codeblock.core.js.map +1 -1
  36. package/dist/components/dynamic-codeblock.d.ts +2 -2
  37. package/dist/components/dynamic-codeblock.d.ts.map +1 -1
  38. package/dist/components/files.d.ts.map +1 -1
  39. package/dist/components/github-info.d.ts +2 -2
  40. package/dist/components/github-info.d.ts.map +1 -1
  41. package/dist/components/heading.d.ts.map +1 -1
  42. package/dist/components/image-zoom.d.ts +2 -2
  43. package/dist/components/image-zoom.d.ts.map +1 -1
  44. package/dist/components/inline-toc.d.ts +2 -2
  45. package/dist/components/inline-toc.d.ts.map +1 -1
  46. package/dist/components/sidebar/base.d.ts +15 -15
  47. package/dist/components/sidebar/base.d.ts.map +1 -1
  48. package/dist/components/sidebar/base.js +1 -1
  49. package/dist/components/sidebar/link-item.d.ts +2 -2
  50. package/dist/components/sidebar/link-item.d.ts.map +1 -1
  51. package/dist/components/sidebar/page-tree.d.ts +2 -2
  52. package/dist/components/sidebar/page-tree.d.ts.map +1 -1
  53. package/dist/components/sidebar/tabs/dropdown.d.ts +2 -2
  54. package/dist/components/sidebar/tabs/dropdown.d.ts.map +1 -1
  55. package/dist/components/sidebar/tabs/dropdown.js +12 -12
  56. package/dist/components/sidebar/tabs/dropdown.js.map +1 -1
  57. package/dist/components/sidebar/tabs/index.d.ts.map +1 -1
  58. package/dist/components/steps.d.ts +3 -3
  59. package/dist/components/steps.d.ts.map +1 -1
  60. package/dist/components/tabs.d.ts +7 -7
  61. package/dist/components/tabs.d.ts.map +1 -1
  62. package/dist/components/toc/clerk.d.ts +2 -2
  63. package/dist/components/toc/clerk.d.ts.map +1 -1
  64. package/dist/components/toc/default.d.ts +2 -2
  65. package/dist/components/toc/default.d.ts.map +1 -1
  66. package/dist/components/toc/index.d.ts +4 -4
  67. package/dist/components/toc/index.d.ts.map +1 -1
  68. package/dist/components/type-table.d.ts +2 -2
  69. package/dist/components/type-table.d.ts.map +1 -1
  70. package/dist/components/ui/accordion.d.ts +6 -6
  71. package/dist/components/ui/accordion.d.ts.map +1 -1
  72. package/dist/components/ui/button.d.ts +1 -1
  73. package/dist/components/ui/button.d.ts.map +1 -1
  74. package/dist/components/ui/collapsible.d.ts +6 -6
  75. package/dist/components/ui/collapsible.d.ts.map +1 -1
  76. package/dist/components/ui/navigation-menu.d.ts +7 -7
  77. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  78. package/dist/components/ui/popover.d.ts +3 -3
  79. package/dist/components/ui/popover.d.ts.map +1 -1
  80. package/dist/components/ui/scroll-area.d.ts +4 -4
  81. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  82. package/dist/components/ui/tabs.d.ts +6 -6
  83. package/dist/components/ui/tabs.d.ts.map +1 -1
  84. package/dist/components/ui/tabs.js +2 -2
  85. package/dist/components/ui/tabs.js.map +1 -1
  86. package/dist/contexts/i18n.d.ts +2 -2
  87. package/dist/contexts/i18n.d.ts.map +1 -1
  88. package/dist/contexts/search.d.ts +2 -2
  89. package/dist/contexts/search.d.ts.map +1 -1
  90. package/dist/contexts/tree.d.ts +2 -2
  91. package/dist/contexts/tree.d.ts.map +1 -1
  92. package/dist/i18n.d.ts.map +1 -1
  93. package/dist/i18n.js +3 -3
  94. package/dist/i18n.js.map +1 -1
  95. package/dist/layouts/docs/client.d.ts +7 -7
  96. package/dist/layouts/docs/client.d.ts.map +1 -1
  97. package/dist/layouts/docs/index.d.ts +2 -2
  98. package/dist/layouts/docs/index.d.ts.map +1 -1
  99. package/dist/layouts/docs/index.js +3 -3
  100. package/dist/layouts/docs/page/client.d.ts +7 -7
  101. package/dist/layouts/docs/page/client.d.ts.map +1 -1
  102. package/dist/layouts/docs/page/index.d.ts +5 -5
  103. package/dist/layouts/docs/page/index.d.ts.map +1 -1
  104. package/dist/layouts/docs/page/index.js +4 -4
  105. package/dist/layouts/docs/page/index.js.map +1 -1
  106. package/dist/layouts/docs/sidebar.d.ts +17 -17
  107. package/dist/layouts/docs/sidebar.d.ts.map +1 -1
  108. package/dist/layouts/flux/index.d.ts +4 -4
  109. package/dist/layouts/flux/index.d.ts.map +1 -1
  110. package/dist/layouts/flux/index.js +6 -6
  111. package/dist/layouts/flux/index.js.map +1 -1
  112. package/dist/layouts/flux/page/client.d.ts +8 -8
  113. package/dist/layouts/flux/page/client.d.ts.map +1 -1
  114. package/dist/layouts/flux/page/index.d.ts +5 -5
  115. package/dist/layouts/flux/page/index.d.ts.map +1 -1
  116. package/dist/layouts/flux/page/index.js +3 -3
  117. package/dist/layouts/flux/page/index.js.map +1 -1
  118. package/dist/layouts/flux/sidebar.d.ts +16 -16
  119. package/dist/layouts/flux/sidebar.d.ts.map +1 -1
  120. package/dist/layouts/flux/tab-dropdown.d.ts +2 -2
  121. package/dist/layouts/flux/tab-dropdown.d.ts.map +1 -1
  122. package/dist/layouts/flux/tab-dropdown.js +12 -12
  123. package/dist/layouts/flux/tab-dropdown.js.map +1 -1
  124. package/dist/layouts/home/client.d.ts +3 -3
  125. package/dist/layouts/home/client.d.ts.map +1 -1
  126. package/dist/layouts/home/client.js +1 -1
  127. package/dist/layouts/home/index.d.ts +2 -2
  128. package/dist/layouts/home/index.d.ts.map +1 -1
  129. package/dist/layouts/home/navbar.d.ts +7 -7
  130. package/dist/layouts/home/navbar.d.ts.map +1 -1
  131. package/dist/layouts/notebook/client.d.ts +8 -8
  132. package/dist/layouts/notebook/client.d.ts.map +1 -1
  133. package/dist/layouts/notebook/client.js +2 -2
  134. package/dist/layouts/notebook/client.js.map +1 -1
  135. package/dist/layouts/notebook/index.d.ts +2 -2
  136. package/dist/layouts/notebook/index.d.ts.map +1 -1
  137. package/dist/layouts/notebook/index.js +8 -8
  138. package/dist/layouts/notebook/index.js.map +1 -1
  139. package/dist/layouts/notebook/page/client.d.ts +7 -7
  140. package/dist/layouts/notebook/page/client.d.ts.map +1 -1
  141. package/dist/layouts/notebook/page/index.d.ts +5 -5
  142. package/dist/layouts/notebook/page/index.d.ts.map +1 -1
  143. package/dist/layouts/notebook/page/index.js +4 -4
  144. package/dist/layouts/notebook/page/index.js.map +1 -1
  145. package/dist/layouts/notebook/sidebar.d.ts +12 -12
  146. package/dist/layouts/notebook/sidebar.d.ts.map +1 -1
  147. package/dist/layouts/shared/index.d.ts +3 -3
  148. package/dist/layouts/shared/index.d.ts.map +1 -1
  149. package/dist/layouts/shared/language-toggle.d.ts +2 -2
  150. package/dist/layouts/shared/language-toggle.d.ts.map +1 -1
  151. package/dist/layouts/shared/search-toggle.d.ts +3 -3
  152. package/dist/layouts/shared/search-toggle.d.ts.map +1 -1
  153. package/dist/layouts/shared/theme-toggle.d.ts +2 -2
  154. package/dist/layouts/shared/theme-toggle.d.ts.map +1 -1
  155. package/dist/layouts/shared/theme-toggle.js +3 -3
  156. package/dist/layouts/shared/theme-toggle.js.map +1 -1
  157. package/dist/mdx.d.ts.map +1 -1
  158. package/dist/mdx.server.d.ts +0 -1
  159. package/dist/mdx.server.d.ts.map +1 -1
  160. package/dist/og.d.ts +2 -2
  161. package/dist/og.d.ts.map +1 -1
  162. package/dist/page.d.ts +3 -3
  163. package/dist/page.d.ts.map +1 -1
  164. package/dist/page.js +3 -3
  165. package/dist/page.js.map +1 -1
  166. package/dist/provider/base.d.ts +2 -2
  167. package/dist/provider/base.d.ts.map +1 -1
  168. package/dist/provider/next.d.ts +2 -2
  169. package/dist/provider/next.d.ts.map +1 -1
  170. package/dist/provider/react-router.d.ts +2 -2
  171. package/dist/provider/react-router.d.ts.map +1 -1
  172. package/dist/provider/tanstack.d.ts +2 -2
  173. package/dist/provider/tanstack.d.ts.map +1 -1
  174. package/dist/provider/waku.d.ts +2 -2
  175. package/dist/provider/waku.d.ts.map +1 -1
  176. package/dist/utils/link-item.d.ts +2 -2
  177. package/dist/utils/link-item.d.ts.map +1 -1
  178. package/dist/utils/use-copy-button.d.ts.map +1 -1
  179. package/dist/utils/use-footer-items.d.ts +0 -1
  180. package/dist/utils/use-footer-items.d.ts.map +1 -1
  181. package/dist/utils/use-is-scroll-top.d.ts.map +1 -1
  182. package/package.json +9 -9
@@ -1,6 +1,6 @@
1
- //#region rolldown:runtime
1
+ //#region \0rolldown/runtime.js
2
2
  var __defProp = Object.defineProperty;
3
- var __exportAll = (all, symbols) => {
3
+ var __exportAll = (all, no_symbols) => {
4
4
  let target = {};
5
5
  for (var name in all) {
6
6
  __defProp(target, name, {
@@ -8,7 +8,7 @@ var __exportAll = (all, symbols) => {
8
8
  enumerable: true
9
9
  });
10
10
  }
11
- if (symbols) {
11
+ if (!no_symbols) {
12
12
  __defProp(target, Symbol.toStringTag, { value: "Module" });
13
13
  }
14
14
  return target;
@@ -1,6 +1,6 @@
1
1
  import { Accordion as Accordion$1, AccordionItem } from "./ui/accordion.js";
2
2
  import { ComponentProps, ReactNode } from "react";
3
- import * as react_jsx_runtime14 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/accordion.d.ts
6
6
  declare function Accordions({
@@ -8,7 +8,7 @@ declare function Accordions({
8
8
  className,
9
9
  defaultValue,
10
10
  ...props
11
- }: ComponentProps<typeof Accordion$1>): react_jsx_runtime14.JSX.Element;
11
+ }: ComponentProps<typeof Accordion$1>): react_jsx_runtime0.JSX.Element;
12
12
  declare function Accordion({
13
13
  title,
14
14
  id,
@@ -18,7 +18,7 @@ declare function Accordion({
18
18
  }: Omit<ComponentProps<typeof AccordionItem>, 'value' | 'title'> & {
19
19
  title: string | ReactNode;
20
20
  value?: string;
21
- }): react_jsx_runtime14.JSX.Element;
21
+ }): react_jsx_runtime0.JSX.Element;
22
22
  //#endregion
23
23
  export { Accordion, Accordions };
24
24
  //# sourceMappingURL=accordion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"sourcesContent":[],"mappings":";;;;;iBAgBgB,UAAA;;;;;GAKb,sBAAsB,eAAK,mBAAA,CAAA,GAAA,CAAA;iBAiCd,SAAA;;;;;;GAMb,KAAK,sBAAsB;kBACZ;EA7CF,KAAA,CAAA,EAAA,MAAU;CACxB,CAAA,EA8CD,mBAAA,CAAA,GAAA,CAAA,OA9CC"}
1
+ {"version":3,"file":"accordion.d.ts","names":[],"sources":["../../src/components/accordion.tsx"],"mappings":";;;;;iBAgBgB,UAAA,CAAA;EACd,GAAA;EACA,SAAA;EACA,YAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,WAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiCd,SAAA,CAAA;EACd,KAAA;EACA,EAAA;EACA,KAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,IAAA,CAAK,cAAA,QAAsB,aAAA;EAC5B,KAAA,WAAgB,SAAA;EAChB,KAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -20,8 +20,8 @@ function Accordions({ ref, className, defaultValue, ...props }) {
20
20
  if (!element || id.length === 0) return;
21
21
  const selected = document.getElementById(id);
22
22
  if (!selected || !element.contains(selected)) return;
23
- const value$1 = selected.getAttribute("data-accordion-value");
24
- if (value$1) setValue((prev) => [value$1, ...prev]);
23
+ const value = selected.getAttribute("data-accordion-value");
24
+ if (value) setValue((prev) => [value, ...prev]);
25
25
  }, []);
26
26
  return /* @__PURE__ */ jsx(Accordion$1, {
27
27
  ref: composedRef,
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","names":["value","Root","LinkIcon"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["'use client';\n\nimport { Check, Link as LinkIcon } from 'lucide-react';\nimport { ComponentProps, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { cn } from '@/utils/cn';\nimport { useCopyButton } from '@/utils/use-copy-button';\nimport { buttonVariants } from '@/components/ui/button';\nimport { mergeRefs } from '@/utils/merge-refs';\nimport {\n Accordion as Root,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n} from '@/components/ui/accordion';\n\nexport function Accordions({\n ref,\n className,\n defaultValue,\n ...props\n}: ComponentProps<typeof Root>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const composedRef = mergeRefs(ref, rootRef);\n const [value, setValue] = useState<string[]>(defaultValue ?? []);\n\n useEffect(() => {\n const id = window.location.hash.substring(1);\n const element = rootRef.current;\n if (!element || id.length === 0) return;\n\n const selected = document.getElementById(id);\n if (!selected || !element.contains(selected)) return;\n const value = selected.getAttribute('data-accordion-value');\n\n if (value) setValue((prev) => [value, ...prev]);\n }, []);\n\n return (\n <Root\n ref={composedRef}\n value={value}\n onValueChange={setValue}\n className={(s) =>\n cn(\n 'divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card',\n typeof className === 'function' ? className(s) : className,\n )\n }\n {...props}\n />\n );\n}\n\nexport function Accordion({\n title,\n id,\n value = String(title),\n children,\n ...props\n}: Omit<ComponentProps<typeof AccordionItem>, 'value' | 'title'> & {\n title: string | ReactNode;\n value?: string;\n}) {\n return (\n <AccordionItem value={value} {...props}>\n <AccordionHeader id={id} data-accordion-value={value}>\n <AccordionTrigger>{title}</AccordionTrigger>\n {id ? <CopyButton id={id} /> : null}\n </AccordionHeader>\n <AccordionContent hiddenUntilFound>\n <div className=\"px-4 pb-2 text-[0.9375rem] prose-no-margin [&[hidden]:not([hidden='until-found'])]:hidden\">\n {children}\n </div>\n </AccordionContent>\n </AccordionItem>\n );\n}\n\nfunction CopyButton({ id }: { id: string }) {\n const [checked, onClick] = useCopyButton(() => {\n const url = new URL(window.location.href);\n url.hash = id;\n\n return navigator.clipboard.writeText(url.toString());\n });\n\n return (\n <button\n type=\"button\"\n aria-label=\"Copy Link\"\n className={cn(\n buttonVariants({\n color: 'ghost',\n className: 'text-fd-muted-foreground me-2',\n }),\n )}\n onClick={onClick}\n >\n {checked ? <Check className=\"size-3.5\" /> : <LinkIcon className=\"size-3.5\" />}\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAgB,WAAW,EACzB,KACA,WACA,cACA,GAAG,SAC2B;CAC9B,MAAM,UAAU,OAAuB,KAAK;CAC5C,MAAM,cAAc,UAAU,KAAK,QAAQ;CAC3C,MAAM,CAAC,OAAO,YAAY,SAAmB,gBAAgB,EAAE,CAAC;AAEhE,iBAAgB;EACd,MAAM,KAAK,OAAO,SAAS,KAAK,UAAU,EAAE;EAC5C,MAAM,UAAU,QAAQ;AACxB,MAAI,CAAC,WAAW,GAAG,WAAW,EAAG;EAEjC,MAAM,WAAW,SAAS,eAAe,GAAG;AAC5C,MAAI,CAAC,YAAY,CAAC,QAAQ,SAAS,SAAS,CAAE;EAC9C,MAAMA,UAAQ,SAAS,aAAa,uBAAuB;AAE3D,MAAIA,QAAO,WAAU,SAAS,CAACA,SAAO,GAAG,KAAK,CAAC;IAC9C,EAAE,CAAC;AAEN,QACE,oBAACC;EACC,KAAK;EACE;EACP,eAAe;EACf,YAAY,MACV,GACE,0EACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;EAEH,GAAI;GACJ;;AAIN,SAAgB,UAAU,EACxB,OACA,IACA,QAAQ,OAAO,MAAM,EACrB,UACA,GAAG,SAIF;AACD,QACE,qBAAC;EAAqB;EAAO,GAAI;aAC/B,qBAAC;GAAoB;GAAI,wBAAsB;cAC7C,oBAAC,8BAAkB,QAAyB,EAC3C,KAAK,oBAAC,cAAe,KAAM,GAAG;IACf,EAClB,oBAAC;GAAiB;aAChB,oBAAC;IAAI,WAAU;IACZ;KACG;IACW;GACL;;AAIpB,SAAS,WAAW,EAAE,MAAsB;CAC1C,MAAM,CAAC,SAAS,WAAW,oBAAoB;EAC7C,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,MAAI,OAAO;AAEX,SAAO,UAAU,UAAU,UAAU,IAAI,UAAU,CAAC;GACpD;AAEF,QACE,oBAAC;EACC,MAAK;EACL,cAAW;EACX,WAAW,GACT,eAAe;GACb,OAAO;GACP,WAAW;GACZ,CAAC,CACH;EACQ;YAER,UAAU,oBAAC,SAAM,WAAU,aAAa,GAAG,oBAACC,QAAS,WAAU,aAAa;GACtE"}
1
+ {"version":3,"file":"accordion.js","names":["Root","LinkIcon"],"sources":["../../src/components/accordion.tsx"],"sourcesContent":["'use client';\n\nimport { Check, Link as LinkIcon } from 'lucide-react';\nimport { ComponentProps, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { cn } from '@/utils/cn';\nimport { useCopyButton } from '@/utils/use-copy-button';\nimport { buttonVariants } from '@/components/ui/button';\nimport { mergeRefs } from '@/utils/merge-refs';\nimport {\n Accordion as Root,\n AccordionContent,\n AccordionHeader,\n AccordionItem,\n AccordionTrigger,\n} from '@/components/ui/accordion';\n\nexport function Accordions({\n ref,\n className,\n defaultValue,\n ...props\n}: ComponentProps<typeof Root>) {\n const rootRef = useRef<HTMLDivElement>(null);\n const composedRef = mergeRefs(ref, rootRef);\n const [value, setValue] = useState<string[]>(defaultValue ?? []);\n\n useEffect(() => {\n const id = window.location.hash.substring(1);\n const element = rootRef.current;\n if (!element || id.length === 0) return;\n\n const selected = document.getElementById(id);\n if (!selected || !element.contains(selected)) return;\n const value = selected.getAttribute('data-accordion-value');\n\n if (value) setValue((prev) => [value, ...prev]);\n }, []);\n\n return (\n <Root\n ref={composedRef}\n value={value}\n onValueChange={setValue}\n className={(s) =>\n cn(\n 'divide-y divide-fd-border overflow-hidden rounded-lg border bg-fd-card',\n typeof className === 'function' ? className(s) : className,\n )\n }\n {...props}\n />\n );\n}\n\nexport function Accordion({\n title,\n id,\n value = String(title),\n children,\n ...props\n}: Omit<ComponentProps<typeof AccordionItem>, 'value' | 'title'> & {\n title: string | ReactNode;\n value?: string;\n}) {\n return (\n <AccordionItem value={value} {...props}>\n <AccordionHeader id={id} data-accordion-value={value}>\n <AccordionTrigger>{title}</AccordionTrigger>\n {id ? <CopyButton id={id} /> : null}\n </AccordionHeader>\n <AccordionContent hiddenUntilFound>\n <div className=\"px-4 pb-2 text-[0.9375rem] prose-no-margin [&[hidden]:not([hidden='until-found'])]:hidden\">\n {children}\n </div>\n </AccordionContent>\n </AccordionItem>\n );\n}\n\nfunction CopyButton({ id }: { id: string }) {\n const [checked, onClick] = useCopyButton(() => {\n const url = new URL(window.location.href);\n url.hash = id;\n\n return navigator.clipboard.writeText(url.toString());\n });\n\n return (\n <button\n type=\"button\"\n aria-label=\"Copy Link\"\n className={cn(\n buttonVariants({\n color: 'ghost',\n className: 'text-fd-muted-foreground me-2',\n }),\n )}\n onClick={onClick}\n >\n {checked ? <Check className=\"size-3.5\" /> : <LinkIcon className=\"size-3.5\" />}\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAgBA,SAAgB,WAAW,EACzB,KACA,WACA,cACA,GAAG,SAC2B;CAC9B,MAAM,UAAU,OAAuB,KAAK;CAC5C,MAAM,cAAc,UAAU,KAAK,QAAQ;CAC3C,MAAM,CAAC,OAAO,YAAY,SAAmB,gBAAgB,EAAE,CAAC;AAEhE,iBAAgB;EACd,MAAM,KAAK,OAAO,SAAS,KAAK,UAAU,EAAE;EAC5C,MAAM,UAAU,QAAQ;AACxB,MAAI,CAAC,WAAW,GAAG,WAAW,EAAG;EAEjC,MAAM,WAAW,SAAS,eAAe,GAAG;AAC5C,MAAI,CAAC,YAAY,CAAC,QAAQ,SAAS,SAAS,CAAE;EAC9C,MAAM,QAAQ,SAAS,aAAa,uBAAuB;AAE3D,MAAI,MAAO,WAAU,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9C,EAAE,CAAC;AAEN,QACE,oBAACA;EACC,KAAK;EACE;EACP,eAAe;EACf,YAAY,MACV,GACE,0EACA,OAAO,cAAc,aAAa,UAAU,EAAE,GAAG,UAClD;EAEH,GAAI;GACJ;;AAIN,SAAgB,UAAU,EACxB,OACA,IACA,QAAQ,OAAO,MAAM,EACrB,UACA,GAAG,SAIF;AACD,QACE,qBAAC;EAAqB;EAAO,GAAI;aAC/B,qBAAC;GAAoB;GAAI,wBAAsB;cAC7C,oBAAC,8BAAkB,QAAyB,EAC3C,KAAK,oBAAC,cAAe,KAAM,GAAG;IACf,EAClB,oBAAC;GAAiB;aAChB,oBAAC;IAAI,WAAU;IACZ;KACG;IACW;GACL;;AAIpB,SAAS,WAAW,EAAE,MAAsB;CAC1C,MAAM,CAAC,SAAS,WAAW,oBAAoB;EAC7C,MAAM,MAAM,IAAI,IAAI,OAAO,SAAS,KAAK;AACzC,MAAI,OAAO;AAEX,SAAO,UAAU,UAAU,UAAU,IAAI,UAAU,CAAC;GACpD;AAEF,QACE,oBAAC;EACC,MAAK;EACL,cAAW;EACX,WAAW,GACT,eAAe;GACb,OAAO;GACP,WAAW;GACZ,CAAC,CACH;EACQ;YAER,UAAU,oBAAC,SAAM,WAAU,aAAa,GAAG,oBAACC,QAAS,WAAU,aAAa;GACtE"}
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from "react";
2
- import * as react_jsx_runtime8 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/banner.d.ts
5
5
  type BannerVariant = 'rainbow' | 'normal';
@@ -29,7 +29,7 @@ declare function Banner({
29
29
  * @defaultValue true
30
30
  */
31
31
  changeLayout?: boolean;
32
- }): react_jsx_runtime8.JSX.Element | null;
32
+ }): react_jsx_runtime0.JSX.Element | null;
33
33
  //#endregion
34
34
  export { Banner };
35
35
  //# sourceMappingURL=banner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"banner.d.ts","names":[],"sources":["../../src/components/banner.tsx"],"sourcesContent":[],"mappings":";;;;KAOK,aAAA;iBAEW,MAAA;;;;;;;GAYb,eAAe;;AAnB+C;AAOjE;EACE,MAAA,CAAA,EAAA,MAAA;EACA;;;EAGA,OAAA,CAAA,EAgBU,aAhBV;EAOgB;;;EAsBjB,aAAA,CAAA,EAAA,MAAA,EAAA;EAAA;;;;;;IAAA,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"banner.d.ts","names":[],"sources":["../../src/components/banner.tsx"],"mappings":";;;;KAOK,aAAA;AAAA,iBAEW,MAAA,CAAA;EACd,EAAA;EACA,OAAA;EACA,YAAA;EACA,MAAA;EACA,aAAA;EAAA,GAMG;AAAA,GACF,cAAA,CAAe,cAAA;;AAnB+C;;EAuB/D,MAAA;EAlBgB;;AAElB;EAqBE,OAAA,GAAU,aAAA;;;;EAKV,aAAA;EAtBA;;;;;EA6BA,YAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ComponentProps, ReactNode } from "react";
2
- import * as react_jsx_runtime83 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/callout.d.ts
5
5
  type CalloutType = 'info' | 'warn' | 'error' | 'success' | 'warning' | 'idea';
@@ -9,7 +9,7 @@ declare function Callout({
9
9
  ...props
10
10
  }: {
11
11
  title?: ReactNode;
12
- } & Omit<CalloutContainerProps, 'title'>): react_jsx_runtime83.JSX.Element;
12
+ } & Omit<CalloutContainerProps, 'title'>): react_jsx_runtime0.JSX.Element;
13
13
  interface CalloutContainerProps extends ComponentProps<'div'> {
14
14
  /**
15
15
  * @defaultValue info
@@ -27,17 +27,17 @@ declare function CalloutContainer({
27
27
  className,
28
28
  style,
29
29
  ...props
30
- }: CalloutContainerProps): react_jsx_runtime83.JSX.Element;
30
+ }: CalloutContainerProps): react_jsx_runtime0.JSX.Element;
31
31
  declare function CalloutTitle({
32
32
  children,
33
33
  className,
34
34
  ...props
35
- }: ComponentProps<'p'>): react_jsx_runtime83.JSX.Element;
35
+ }: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element;
36
36
  declare function CalloutDescription({
37
37
  children,
38
38
  className,
39
39
  ...props
40
- }: ComponentProps<'p'>): react_jsx_runtime83.JSX.Element;
40
+ }: ComponentProps<'p'>): react_jsx_runtime0.JSX.Element;
41
41
  //#endregion
42
42
  export { Callout, CalloutContainer, CalloutContainerProps, CalloutDescription, CalloutTitle, CalloutType };
43
43
  //# sourceMappingURL=callout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"callout.d.ts","names":[],"sources":["../../src/components/callout.tsx"],"sourcesContent":[],"mappings":";;;;KAIY,WAAA;iBAII,OAAA;;;;AAJO;UAQV;AARb,CAAA,GAQ2B,IARf,CAQoB,qBART,EAAA,OAAA,CAAA,CAAA,EAQwC,mBAAA,CAAA,GAAA,CAAA,OARxC;AAIP,UAaC,qBAAA,SAA8B,cAbxB,CAAA,KAAA,CAAA,CAAA;EACrB;;;EAG8B,IAAA,CAAA,EAavB,WAbuB;EAAL;;;EASV,IAAA,CAAA,EASR,SATQ;;AASR,iBASO,gBAAA,CATP;EAAA,IAAA,EAUD,SAVC;EAAA,IAAA;EAAA,QAAA;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAgBN,qBAhBM,CAAA,EAgBe,mBAAA,CAAA,GAAA,CAAA,OAhBf;AATsC,iBA0D/B,YAAA,CA1D+B;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0DiB,cA1DjB,CAAA,GAAA,CAAA,CAAA,EA0DoC,mBAAA,CAAA,GAAA,CAAA,OA1DpC;AAAc,iBAkE7C,kBAAA,CAlE6C;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkES,cAlET,CAAA,GAAA,CAAA,CAAA,EAkE4B,mBAAA,CAAA,GAAA,CAAA,OAlE5B"}
1
+ {"version":3,"file":"callout.d.ts","names":[],"sources":["../../src/components/callout.tsx"],"mappings":";;;;KAIY,WAAA;AAAA,iBAII,OAAA,CAAA;EACd,QAAA;EACA,KAAA;EAAA,GACG;AAAA;EACA,KAAA,GAAQ,SAAA;AAAA,IAAc,IAAA,CAAK,qBAAA,aAA+B,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,UAS9C,qBAAA,SAA8B,cAAA;;;;EAI7C,IAAA,GAAO,WAAA;EAjBc;;;EAsBrB,IAAA,GAAO,SAAA;AAAA;AAAA,iBASO,gBAAA,CAAA;EACd,IAAA,EAAM,SAAA;EACN,IAAA;EACA,QAAA;EACA,SAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,qBAAA,GAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAiCR,YAAA,CAAA;EAAe,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQnE,kBAAA,CAAA;EAAqB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,8 +1,8 @@
1
1
  import { HTMLAttributes, ReactNode } from "react";
2
- import * as react_jsx_runtime9 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/components/card.d.ts
5
- declare function Cards(props: HTMLAttributes<HTMLDivElement>): react_jsx_runtime9.JSX.Element;
5
+ declare function Cards(props: HTMLAttributes<HTMLDivElement>): react_jsx_runtime0.JSX.Element;
6
6
  type CardProps = Omit<HTMLAttributes<HTMLElement>, 'title'> & {
7
7
  icon?: ReactNode;
8
8
  title: ReactNode;
@@ -15,7 +15,7 @@ declare function Card({
15
15
  title,
16
16
  description,
17
17
  ...props
18
- }: CardProps): react_jsx_runtime9.JSX.Element;
18
+ }: CardProps): react_jsx_runtime0.JSX.Element;
19
19
  //#endregion
20
20
  export { Card, CardProps, Cards };
21
21
  //# sourceMappingURL=card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","names":[],"sources":["../../src/components/card.tsx"],"sourcesContent":[],"mappings":";;;;iBAIgB,KAAA,QAAa,eAAe,kBAAe,kBAAA,CAAA,GAAA,CAAA;KAQ/C,SAAA,GAAY,KAAK,eAAe;SACnC;EATO,KAAA,EAUP,SAVY;EAAuB,WAAA,CAAA,EAW5B,SAX4B;EAAf,IAAA,CAAA,EAAA,MAAA;EAA8B,QAAA,CAAA,EAAA,OAAA;CAAA;AAQ/C,iBASI,IAAA,CATK;EAAA,IAAA;EAAA,KAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EASwC,SATxC,CAAA,EASiD,kBAAA,CAAA,GAAA,CAAA,OATjD"}
1
+ {"version":3,"file":"card.d.ts","names":[],"sources":["../../src/components/card.tsx"],"mappings":";;;;iBAIgB,KAAA,CAAM,KAAA,EAAO,cAAA,CAAe,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,KAQ/C,SAAA,GAAY,IAAA,CAAK,cAAA,CAAe,WAAA;EAC1C,IAAA,GAAO,SAAA;EACP,KAAA,EAAO,SAAA;EACP,WAAA,GAAc,SAAA;EAEd,IAAA;EACA,QAAA;AAAA;AAAA,iBAGc,IAAA,CAAA;EAAO,IAAA;EAAM,KAAA;EAAO,WAAA;EAAA,GAAgB;AAAA,GAAS,SAAA,GAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Tabs, TabsContent, TabsList, TabsTrigger } from "./ui/tabs.js";
2
2
  import { ComponentProps, HTMLAttributes, ReactNode } from "react";
3
- import * as react_jsx_runtime93 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/components/codeblock.d.ts
6
6
  interface CodeBlockProps extends ComponentProps<'figure'> {
@@ -36,7 +36,7 @@ interface CodeBlockProps extends ComponentProps<'figure'> {
36
36
  children?: ReactNode;
37
37
  }) => ReactNode;
38
38
  }
39
- declare function Pre(props: ComponentProps<'pre'>): react_jsx_runtime93.JSX.Element;
39
+ declare function Pre(props: ComponentProps<'pre'>): react_jsx_runtime0.JSX.Element;
40
40
  declare function CodeBlock({
41
41
  ref,
42
42
  title,
@@ -47,22 +47,22 @@ declare function CodeBlock({
47
47
  children,
48
48
  Actions,
49
49
  ...props
50
- }: CodeBlockProps): react_jsx_runtime93.JSX.Element;
50
+ }: CodeBlockProps): react_jsx_runtime0.JSX.Element;
51
51
  declare function CodeBlockTabs({
52
52
  ref,
53
53
  className,
54
54
  ...props
55
- }: ComponentProps<typeof Tabs>): react_jsx_runtime93.JSX.Element;
55
+ }: ComponentProps<typeof Tabs>): react_jsx_runtime0.JSX.Element;
56
56
  declare function CodeBlockTabsList({
57
57
  className,
58
58
  ...props
59
- }: ComponentProps<typeof TabsList>): react_jsx_runtime93.JSX.Element;
59
+ }: ComponentProps<typeof TabsList>): react_jsx_runtime0.JSX.Element;
60
60
  declare function CodeBlockTabsTrigger({
61
61
  children,
62
62
  className,
63
63
  ...props
64
- }: ComponentProps<typeof TabsTrigger>): react_jsx_runtime93.JSX.Element;
65
- declare function CodeBlockTab(props: ComponentProps<typeof TabsContent>): react_jsx_runtime93.JSX.Element;
64
+ }: ComponentProps<typeof TabsTrigger>): react_jsx_runtime0.JSX.Element;
65
+ declare function CodeBlockTab(props: ComponentProps<typeof TabsContent>): react_jsx_runtime0.JSX.Element;
66
66
  //#endregion
67
67
  export { CodeBlock, CodeBlockProps, CodeBlockTab, CodeBlockTabs, CodeBlockTabsList, CodeBlockTabsTrigger, Pre };
68
68
  //# sourceMappingURL=codeblock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeblock.d.ts","names":[],"sources":["../../src/components/codeblock.tsx"],"sourcesContent":[],"mappings":";;;;;UAkBiB,cAAA,SAAuB;;;AAAxC;;;EAsBkB,IAAA,CAAA,EAhBT,SAgBS;EAYmC;;;;AAQrD;EAQgB,SAAA,CAAA,EAAS,OAAA;EACvB;;;;;EAKA,cAAA,CAAA,EAAA,OAAA;EACA,aAAA,CAAA,EAnCgB,cAmChB,CAnC+B,WAmC/B,CAAA;EACA;;;EAEe,mBAAA,CAAA,EAAA,OAAA;EA4GD;;;EAAkE,yBAAA,CAAA,EAAA,MAAA;EAAtB,OAAA,CAAA,EAAA,CAAA,KAAA,EAAA;IAA2B,SAAA,CAAA,EAAA,MAAA;IAAA,QAAA,CAAA,EAtIlC,SAsIkC;EA+BvE,CAAA,EAAA,GArKqD,SAqKrD;;AAAiE,iBA7JjE,GAAA,CA6JiE,KAAA,EA7JtD,cA6JsD,CAAA,KAAA,CAAA,CAAA,EA7JjC,mBAAA,CAAA,GAAA,CAAA,OA6JiC;AAAtB,iBArJ3C,SAAA,CAqJ2C;EAAA,GAAA;EAAA,KAAA;EAAA,SAAA;EAAA,cAAA;EAAA,IAAA;EAAA,aAAA;EAAA,QAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EA3IxD,cA2IwD,CAAA,EA3I1C,mBAAA,CAAA,GAAA,CAAA,OA2I0C;AAA+B,iBA/B1E,aAAA,CA+B0E;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA/B9B,cA+B8B,CAAA,OA/BR,IA+BQ,CAAA,CAAA,EA/BH,mBAAA,CAAA,GAAA,CAAA,OA+BG;AAAA,iBAA1E,iBAAA,CAA0E;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAA/B,cAA+B,CAAA,OAAT,QAAS,CAAA,CAAA,EAAA,mBAAA,CAAA,GAAA,CAAA,OAAA;AAgB1E,iBAAA,oBAAA,CAAoB;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAIjC,cAJiC,CAAA,OAIX,WAJW,CAAA,CAAA,EAIC,mBAAA,CAAA,GAAA,CAAA,OAJD;AAClC,iBAqBc,YAAA,CArBd,KAAA,EAqBkC,cArBlC,CAAA,OAqBwD,WArBxD,CAAA,CAAA,EAqBoE,mBAAA,CAAA,GAAA,CAAA,OArBpE"}
1
+ {"version":3,"file":"codeblock.d.ts","names":[],"sources":["../../src/components/codeblock.tsx"],"mappings":";;;;;UAkBiB,cAAA,SAAuB,cAAA;;;AAAxC;;;EAME,IAAA,GAAO,SAAA;EAgBwB;;;;;EAT/B,SAAA;EAboD;;;;;EAoBpD,cAAA;EAEA,aAAA,GAAgB,cAAA,CAAe,WAAA;EAAf;;;EAKhB,mBAAA;EAOA;;;EAFA,yBAAA;EAEA,OAAA,IAAW,KAAA;IAAS,SAAA;IAAoB,QAAA,GAAW,SAAA;EAAA,MAAgB,SAAA;AAAA;AAAA,iBAQrD,GAAA,CAAI,KAAA,EAAO,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAQhC,SAAA,CAAA;EACd,GAAA;EACA,KAAA;EACA,SAAA;EACA,cAAA;EACA,IAAA;EACA,aAAA;EACA,QAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA4GD,aAAA,CAAA;EAAgB,GAAA;EAAK,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAsB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBA+BvE,iBAAA,CAAA;EAAoB,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,QAAsB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgB1E,oBAAA,CAAA;EACd,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,cAAA,QAAsB,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAkBrB,YAAA,CAAa,KAAA,EAAO,cAAA,QAAsB,WAAA,IAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -18,9 +18,9 @@ function Pre(props) {
18
18
  children: props.children
19
19
  });
20
20
  }
21
- function CodeBlock({ ref, title, allowCopy = true, keepBackground = false, icon, viewportProps = {}, children, Actions = (props$1) => /* @__PURE__ */ jsx("div", {
22
- ...props$1,
23
- className: cn("empty:hidden", props$1.className)
21
+ function CodeBlock({ ref, title, allowCopy = true, keepBackground = false, icon, viewportProps = {}, children, Actions = (props) => /* @__PURE__ */ jsx("div", {
22
+ ...props,
23
+ className: cn("empty:hidden", props.className)
24
24
  }), ...props }) {
25
25
  const inTab = use(TabsContext) !== null;
26
26
  const areaRef = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"codeblock.js","names":["props"],"sources":["../../src/components/codeblock.tsx"],"sourcesContent":["'use client';\nimport { Check, Clipboard } from 'lucide-react';\nimport {\n type ComponentProps,\n createContext,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n use,\n useMemo,\n useRef,\n} from 'react';\nimport { cn } from '@/utils/cn';\nimport { useCopyButton } from '@/utils/use-copy-button';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';\nimport { mergeRefs } from '@/utils/merge-refs';\n\nexport interface CodeBlockProps extends ComponentProps<'figure'> {\n /**\n * Icon of code block\n *\n * When passed as a string, it assumes the value is the HTML of icon\n */\n icon?: ReactNode;\n\n /**\n * Allow to copy code with copy button\n *\n * @defaultValue true\n */\n allowCopy?: boolean;\n\n /**\n * Keep original background color generated by Shiki or Rehype Code\n *\n * @defaultValue false\n */\n keepBackground?: boolean;\n\n viewportProps?: HTMLAttributes<HTMLElement>;\n\n /**\n * show line numbers\n */\n 'data-line-numbers'?: boolean;\n\n /**\n * @defaultValue 1\n */\n 'data-line-numbers-start'?: number;\n\n Actions?: (props: { className?: string; children?: ReactNode }) => ReactNode;\n}\n\nconst TabsContext = createContext<{\n containerRef: RefObject<HTMLDivElement | null>;\n nested: boolean;\n} | null>(null);\n\nexport function Pre(props: ComponentProps<'pre'>) {\n return (\n <pre {...props} className={cn('min-w-full w-max *:flex *:flex-col', props.className)}>\n {props.children}\n </pre>\n );\n}\n\nexport function CodeBlock({\n ref,\n title,\n allowCopy = true,\n keepBackground = false,\n icon,\n viewportProps = {},\n children,\n Actions = (props) => <div {...props} className={cn('empty:hidden', props.className)} />,\n ...props\n}: CodeBlockProps) {\n const inTab = use(TabsContext) !== null;\n const areaRef = useRef<HTMLDivElement>(null);\n\n return (\n <figure\n ref={ref}\n dir=\"ltr\"\n {...props}\n tabIndex={-1}\n className={cn(\n inTab ? 'bg-fd-secondary -mx-px -mb-px last:rounded-b-xl' : 'my-4 bg-fd-card rounded-xl',\n keepBackground && 'bg-(--shiki-light-bg) dark:bg-(--shiki-dark-bg)',\n\n 'shiki relative border shadow-sm not-prose overflow-hidden text-sm',\n props.className,\n )}\n >\n {title ? (\n <div className=\"flex text-fd-muted-foreground items-center gap-2 h-9.5 border-b px-4\">\n {typeof icon === 'string' ? (\n <div\n className=\"[&_svg]:size-3.5\"\n dangerouslySetInnerHTML={{\n __html: icon,\n }}\n />\n ) : (\n icon\n )}\n <figcaption className=\"flex-1 truncate\">{title}</figcaption>\n {Actions({\n className: '-me-2',\n children: allowCopy && <CopyButton containerRef={areaRef} />,\n })}\n </div>\n ) : (\n Actions({\n className:\n 'absolute top-2 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground',\n children: allowCopy && <CopyButton containerRef={areaRef} />,\n })\n )}\n <div\n ref={areaRef}\n {...viewportProps}\n role=\"region\"\n tabIndex={0}\n className={cn(\n 'text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring',\n viewportProps.className,\n )}\n style={\n {\n // space for toolbar\n '--padding-right': !title ? 'calc(var(--spacing) * 8)' : undefined,\n counterSet: props['data-line-numbers']\n ? `line ${Number(props['data-line-numbers-start'] ?? 1) - 1}`\n : undefined,\n ...viewportProps.style,\n } as object\n }\n >\n {children}\n </div>\n </figure>\n );\n}\n\nfunction CopyButton({\n className,\n containerRef,\n ...props\n}: ComponentProps<'button'> & {\n containerRef: RefObject<HTMLElement | null>;\n}) {\n const [checked, onClick] = useCopyButton(() => {\n const pre = containerRef.current?.getElementsByTagName('pre').item(0);\n if (!pre) return;\n\n const clone = pre.cloneNode(true) as HTMLElement;\n clone.querySelectorAll('.nd-copy-ignore').forEach((node) => {\n node.replaceWith('\\n');\n });\n\n void navigator.clipboard.writeText(clone.textContent ?? '');\n });\n\n return (\n <button\n type=\"button\"\n data-checked={checked || undefined}\n className={cn(\n buttonVariants({\n className: 'hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground',\n size: 'icon-xs',\n }),\n className,\n )}\n aria-label={checked ? 'Copied Text' : 'Copy Text'}\n onClick={onClick}\n {...props}\n >\n {checked ? <Check /> : <Clipboard />}\n </button>\n );\n}\n\nexport function CodeBlockTabs({ ref, className, ...props }: ComponentProps<typeof Tabs>) {\n const containerRef = useRef<HTMLDivElement>(null);\n const nested = use(TabsContext) !== null;\n\n return (\n <Tabs\n ref={mergeRefs(containerRef, ref)}\n {...props}\n className={(s) =>\n cn(\n 'bg-fd-card rounded-xl border',\n !nested && 'my-4',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n <TabsContext\n value={useMemo(\n () => ({\n containerRef,\n nested,\n }),\n [nested],\n )}\n >\n {props.children}\n </TabsContext>\n </Tabs>\n );\n}\n\nexport function CodeBlockTabsList({ className, ...props }: ComponentProps<typeof TabsList>) {\n return (\n <TabsList\n {...props}\n className={(s) =>\n cn(\n 'flex flex-row px-2 overflow-x-auto text-fd-muted-foreground',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n {props.children}\n </TabsList>\n );\n}\n\nexport function CodeBlockTabsTrigger({\n children,\n className,\n ...props\n}: ComponentProps<typeof TabsTrigger>) {\n return (\n <TabsTrigger\n {...props}\n className={(s) =>\n cn(\n 'relative group inline-flex text-sm font-medium text-nowrap items-center transition-colors gap-2 px-2 py-1.5 [&_svg]:size-3.5',\n s.active ? 'text-fd-primary' : 'hover:text-fd-accent-foreground',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n <div className=\"absolute inset-x-2 bottom-0 h-px group-data-[active]:bg-fd-primary\" />\n {children}\n </TabsTrigger>\n );\n}\n\nexport function CodeBlockTab(props: ComponentProps<typeof TabsContent>) {\n return <TabsContent {...props} />;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"codeblock.js","names":[],"sources":["../../src/components/codeblock.tsx"],"sourcesContent":["'use client';\nimport { Check, Clipboard } from 'lucide-react';\nimport {\n type ComponentProps,\n createContext,\n type HTMLAttributes,\n type ReactNode,\n type RefObject,\n use,\n useMemo,\n useRef,\n} from 'react';\nimport { cn } from '@/utils/cn';\nimport { useCopyButton } from '@/utils/use-copy-button';\nimport { buttonVariants } from '@/components/ui/button';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';\nimport { mergeRefs } from '@/utils/merge-refs';\n\nexport interface CodeBlockProps extends ComponentProps<'figure'> {\n /**\n * Icon of code block\n *\n * When passed as a string, it assumes the value is the HTML of icon\n */\n icon?: ReactNode;\n\n /**\n * Allow to copy code with copy button\n *\n * @defaultValue true\n */\n allowCopy?: boolean;\n\n /**\n * Keep original background color generated by Shiki or Rehype Code\n *\n * @defaultValue false\n */\n keepBackground?: boolean;\n\n viewportProps?: HTMLAttributes<HTMLElement>;\n\n /**\n * show line numbers\n */\n 'data-line-numbers'?: boolean;\n\n /**\n * @defaultValue 1\n */\n 'data-line-numbers-start'?: number;\n\n Actions?: (props: { className?: string; children?: ReactNode }) => ReactNode;\n}\n\nconst TabsContext = createContext<{\n containerRef: RefObject<HTMLDivElement | null>;\n nested: boolean;\n} | null>(null);\n\nexport function Pre(props: ComponentProps<'pre'>) {\n return (\n <pre {...props} className={cn('min-w-full w-max *:flex *:flex-col', props.className)}>\n {props.children}\n </pre>\n );\n}\n\nexport function CodeBlock({\n ref,\n title,\n allowCopy = true,\n keepBackground = false,\n icon,\n viewportProps = {},\n children,\n Actions = (props) => <div {...props} className={cn('empty:hidden', props.className)} />,\n ...props\n}: CodeBlockProps) {\n const inTab = use(TabsContext) !== null;\n const areaRef = useRef<HTMLDivElement>(null);\n\n return (\n <figure\n ref={ref}\n dir=\"ltr\"\n {...props}\n tabIndex={-1}\n className={cn(\n inTab ? 'bg-fd-secondary -mx-px -mb-px last:rounded-b-xl' : 'my-4 bg-fd-card rounded-xl',\n keepBackground && 'bg-(--shiki-light-bg) dark:bg-(--shiki-dark-bg)',\n\n 'shiki relative border shadow-sm not-prose overflow-hidden text-sm',\n props.className,\n )}\n >\n {title ? (\n <div className=\"flex text-fd-muted-foreground items-center gap-2 h-9.5 border-b px-4\">\n {typeof icon === 'string' ? (\n <div\n className=\"[&_svg]:size-3.5\"\n dangerouslySetInnerHTML={{\n __html: icon,\n }}\n />\n ) : (\n icon\n )}\n <figcaption className=\"flex-1 truncate\">{title}</figcaption>\n {Actions({\n className: '-me-2',\n children: allowCopy && <CopyButton containerRef={areaRef} />,\n })}\n </div>\n ) : (\n Actions({\n className:\n 'absolute top-2 right-2 z-2 backdrop-blur-lg rounded-lg text-fd-muted-foreground',\n children: allowCopy && <CopyButton containerRef={areaRef} />,\n })\n )}\n <div\n ref={areaRef}\n {...viewportProps}\n role=\"region\"\n tabIndex={0}\n className={cn(\n 'text-[0.8125rem] py-3.5 overflow-auto max-h-[600px] fd-scroll-container focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-fd-ring',\n viewportProps.className,\n )}\n style={\n {\n // space for toolbar\n '--padding-right': !title ? 'calc(var(--spacing) * 8)' : undefined,\n counterSet: props['data-line-numbers']\n ? `line ${Number(props['data-line-numbers-start'] ?? 1) - 1}`\n : undefined,\n ...viewportProps.style,\n } as object\n }\n >\n {children}\n </div>\n </figure>\n );\n}\n\nfunction CopyButton({\n className,\n containerRef,\n ...props\n}: ComponentProps<'button'> & {\n containerRef: RefObject<HTMLElement | null>;\n}) {\n const [checked, onClick] = useCopyButton(() => {\n const pre = containerRef.current?.getElementsByTagName('pre').item(0);\n if (!pre) return;\n\n const clone = pre.cloneNode(true) as HTMLElement;\n clone.querySelectorAll('.nd-copy-ignore').forEach((node) => {\n node.replaceWith('\\n');\n });\n\n void navigator.clipboard.writeText(clone.textContent ?? '');\n });\n\n return (\n <button\n type=\"button\"\n data-checked={checked || undefined}\n className={cn(\n buttonVariants({\n className: 'hover:text-fd-accent-foreground data-checked:text-fd-accent-foreground',\n size: 'icon-xs',\n }),\n className,\n )}\n aria-label={checked ? 'Copied Text' : 'Copy Text'}\n onClick={onClick}\n {...props}\n >\n {checked ? <Check /> : <Clipboard />}\n </button>\n );\n}\n\nexport function CodeBlockTabs({ ref, className, ...props }: ComponentProps<typeof Tabs>) {\n const containerRef = useRef<HTMLDivElement>(null);\n const nested = use(TabsContext) !== null;\n\n return (\n <Tabs\n ref={mergeRefs(containerRef, ref)}\n {...props}\n className={(s) =>\n cn(\n 'bg-fd-card rounded-xl border',\n !nested && 'my-4',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n <TabsContext\n value={useMemo(\n () => ({\n containerRef,\n nested,\n }),\n [nested],\n )}\n >\n {props.children}\n </TabsContext>\n </Tabs>\n );\n}\n\nexport function CodeBlockTabsList({ className, ...props }: ComponentProps<typeof TabsList>) {\n return (\n <TabsList\n {...props}\n className={(s) =>\n cn(\n 'flex flex-row px-2 overflow-x-auto text-fd-muted-foreground',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n {props.children}\n </TabsList>\n );\n}\n\nexport function CodeBlockTabsTrigger({\n children,\n className,\n ...props\n}: ComponentProps<typeof TabsTrigger>) {\n return (\n <TabsTrigger\n {...props}\n className={(s) =>\n cn(\n 'relative group inline-flex text-sm font-medium text-nowrap items-center transition-colors gap-2 px-2 py-1.5 [&_svg]:size-3.5',\n s.active ? 'text-fd-primary' : 'hover:text-fd-accent-foreground',\n typeof className === 'function' ? className(s) : className,\n )\n }\n >\n <div className=\"absolute inset-x-2 bottom-0 h-px group-data-[active]:bg-fd-primary\" />\n {children}\n </TabsTrigger>\n );\n}\n\nexport function CodeBlockTab(props: ComponentProps<typeof TabsContent>) {\n return <TabsContent {...props} />;\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { SearchLink, SharedProps, TagItem } from "../../contexts/search.js";
2
2
  import "./search.js";
3
3
  import { ReactNode } from "react";
4
- import * as react_jsx_runtime110 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
5
5
  import { AlgoliaOptions } from "fumadocs-core/search/client";
6
6
 
7
7
  //#region src/components/dialog/search-algolia.d.ts
@@ -33,7 +33,7 @@ declare function AlgoliaSearchDialog({
33
33
  links,
34
34
  footer,
35
35
  ...props
36
- }: AlgoliaSearchDialogProps): react_jsx_runtime110.JSX.Element;
36
+ }: AlgoliaSearchDialogProps): react_jsx_runtime0.JSX.Element;
37
37
  //#endregion
38
38
  export { AlgoliaSearchDialogProps, AlgoliaSearchDialog as default };
39
39
  //# sourceMappingURL=search-algolia.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-algolia.d.ts","names":[],"sources":["../../../src/components/dialog/search-algolia.tsx"],"sourcesContent":[],"mappings":";;;;;;;UAuBiB,wBAAA,SAAiC;iBACjC;UACP;EAFO,MAAA,CAAA,EAIN,SAJM;EACA,UAAA,CAAA,EAAA,MAAA;EACP,IAAA,CAAA,EAKD,OALC,EAAA;EAEC;;;;AAkBV;EAGC,WAAA,CAAA,EAAA,OAAA;EACA;;;;;EAKA,UAAA,CAAA,EAAA,OAAA;;AAEyB,iBATH,mBAAA,CASG;EAAA,aAAA;EAAA,IAAA;EAAA,UAAA;EAAA,WAAA;EAAA,UAAA;EAAA,KAAA;EAAA,MAAA;EAAA,GAAA;AAAA,CAAA,EAAxB,wBAAwB,CAAA,EAAA,oBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"search-algolia.d.ts","names":[],"sources":["../../../src/components/dialog/search-algolia.tsx"],"mappings":";;;;;;;UAuBiB,wBAAA,SAAiC,WAAA;EAChD,aAAA,EAAe,cAAA;EACf,KAAA,GAAQ,UAAA;EAER,MAAA,GAAS,SAAA;EAET,UAAA;EACA,IAAA,GAAO,OAAA;EANQ;;;;;EAaf,WAAA;EAd2D;;;;;EAqB3D,UAAA;AAAA;AAAA,iBAGsB,mBAAA,CAAA;EACtB,aAAA;EACA,IAAA;EACA,UAAA;EACA,WAAA;EACA,UAAA;EACA,KAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,wBAAA,GAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -46,10 +46,10 @@ function AlgoliaSearchDialog({ searchOptions, tags = [], defaultTag, showAlgolia
46
46
  tag,
47
47
  onTagChange: setTag,
48
48
  allowClear,
49
- children: [tags.map((tag$1) => /* @__PURE__ */ jsx(TagsListItem, {
50
- value: tag$1.value,
51
- children: tag$1.name
52
- }, tag$1.value)), label]
49
+ children: [tags.map((tag) => /* @__PURE__ */ jsx(TagsListItem, {
50
+ value: tag.value,
51
+ children: tag.name
52
+ }, tag.value)), label]
53
53
  }) : label, footer] })
54
54
  ]
55
55
  });
@@ -1 +1 @@
1
- {"version":3,"file":"search-algolia.js","names":["tag"],"sources":["../../../src/components/dialog/search-algolia.tsx"],"sourcesContent":["'use client';\n\nimport { type AlgoliaOptions, useDocsSearch } from 'fumadocs-core/search/client';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { useOnChange } from 'fumadocs-core/utils/use-on-change';\nimport {\n SearchDialog,\n SearchDialogClose,\n SearchDialogContent,\n SearchDialogFooter,\n SearchDialogHeader,\n SearchDialogIcon,\n SearchDialogInput,\n SearchDialogList,\n SearchDialogOverlay,\n type SharedProps,\n TagsList,\n TagsListItem,\n} from './search';\nimport type { SortedResult } from 'fumadocs-core/search';\nimport type { SearchLink, TagItem } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\n\nexport interface AlgoliaSearchDialogProps extends SharedProps {\n searchOptions: AlgoliaOptions;\n links?: SearchLink[];\n\n footer?: ReactNode;\n\n defaultTag?: string;\n tags?: TagItem[];\n\n /**\n * Add the \"Powered by Algolia\" label, this is useful for free tier users\n *\n * @defaultValue false\n */\n showAlgolia?: boolean;\n\n /**\n * Allow to clear tag filters\n *\n * @defaultValue false\n */\n allowClear?: boolean;\n}\n\nexport default function AlgoliaSearchDialog({\n searchOptions,\n tags = [],\n defaultTag,\n showAlgolia = false,\n allowClear = false,\n links = [],\n footer,\n ...props\n}: AlgoliaSearchDialogProps) {\n const [tag, setTag] = useState(defaultTag);\n const { locale } = useI18n();\n const { search, setSearch, query } = useDocsSearch({\n type: 'algolia',\n tag,\n locale,\n ...searchOptions,\n });\n const defaultItems = useMemo<SortedResult[] | null>(() => {\n if (links.length === 0) return null;\n return links.map(([name, link]) => ({\n type: 'page',\n id: name,\n content: name,\n url: link,\n }));\n }, [links]);\n\n useOnChange(defaultTag, (v) => {\n setTag(v);\n });\n\n const label = showAlgolia && <AlgoliaTitle />;\n\n return (\n <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>\n <SearchDialogOverlay />\n <SearchDialogContent>\n <SearchDialogHeader>\n <SearchDialogIcon />\n <SearchDialogInput />\n <SearchDialogClose />\n </SearchDialogHeader>\n <SearchDialogList items={query.data !== 'empty' ? query.data : defaultItems} />\n </SearchDialogContent>\n <SearchDialogFooter>\n {tags.length > 0 ? (\n <TagsList tag={tag} onTagChange={setTag} allowClear={allowClear}>\n {tags.map((tag) => (\n <TagsListItem key={tag.value} value={tag.value}>\n {tag.name}\n </TagsListItem>\n ))}\n {label}\n </TagsList>\n ) : (\n label\n )}\n {footer}\n </SearchDialogFooter>\n </SearchDialog>\n );\n}\n\nfunction AlgoliaTitle() {\n return (\n <a\n href=\"https://algolia.com\"\n rel=\"noreferrer noopener\"\n className=\"ms-auto text-xs text-fd-muted-foreground\"\n >\n Search powered by Algolia\n </a>\n );\n}\n"],"mappings":";;;;;;;;;;AA+CA,SAAwB,oBAAoB,EAC1C,eACA,OAAO,EAAE,EACT,YACA,cAAc,OACd,aAAa,OACb,QAAQ,EAAE,EACV,QACA,GAAG,SACwB;CAC3B,MAAM,CAAC,KAAK,UAAU,SAAS,WAAW;CAC1C,MAAM,EAAE,WAAW,SAAS;CAC5B,MAAM,EAAE,QAAQ,WAAW,UAAU,cAAc;EACjD,MAAM;EACN;EACA;EACA,GAAG;EACJ,CAAC;CACF,MAAM,eAAe,cAAqC;AACxD,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SAAO,MAAM,KAAK,CAAC,MAAM,WAAW;GAClC,MAAM;GACN,IAAI;GACJ,SAAS;GACT,KAAK;GACN,EAAE;IACF,CAAC,MAAM,CAAC;AAEX,aAAY,aAAa,MAAM;AAC7B,SAAO,EAAE;GACT;CAEF,MAAM,QAAQ,eAAe,oBAAC,iBAAe;AAE7C,QACE,qBAAC;EAAqB;EAAQ,gBAAgB;EAAW,WAAW,MAAM;EAAW,GAAI;;GACvF,oBAAC,wBAAsB;GACvB,qBAAC,kCACC,qBAAC;IACC,oBAAC,qBAAmB;IACpB,oBAAC,sBAAoB;IACrB,oBAAC,sBAAoB;OACF,EACrB,oBAAC,oBAAiB,OAAO,MAAM,SAAS,UAAU,MAAM,OAAO,eAAgB,IAC3D;GACtB,qBAAC,iCACE,KAAK,SAAS,IACb,qBAAC;IAAc;IAAK,aAAa;IAAoB;eAClD,KAAK,KAAK,UACT,oBAAC;KAA6B,OAAOA,MAAI;eACtCA,MAAI;OADYA,MAAI,MAER,CACf,EACD;KACQ,GAEX,OAED,UACkB;;GACR;;AAInB,SAAS,eAAe;AACtB,QACE,oBAAC;EACC,MAAK;EACL,KAAI;EACJ,WAAU;YACX;GAEG"}
1
+ {"version":3,"file":"search-algolia.js","names":[],"sources":["../../../src/components/dialog/search-algolia.tsx"],"sourcesContent":["'use client';\n\nimport { type AlgoliaOptions, useDocsSearch } from 'fumadocs-core/search/client';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { useOnChange } from 'fumadocs-core/utils/use-on-change';\nimport {\n SearchDialog,\n SearchDialogClose,\n SearchDialogContent,\n SearchDialogFooter,\n SearchDialogHeader,\n SearchDialogIcon,\n SearchDialogInput,\n SearchDialogList,\n SearchDialogOverlay,\n type SharedProps,\n TagsList,\n TagsListItem,\n} from './search';\nimport type { SortedResult } from 'fumadocs-core/search';\nimport type { SearchLink, TagItem } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\n\nexport interface AlgoliaSearchDialogProps extends SharedProps {\n searchOptions: AlgoliaOptions;\n links?: SearchLink[];\n\n footer?: ReactNode;\n\n defaultTag?: string;\n tags?: TagItem[];\n\n /**\n * Add the \"Powered by Algolia\" label, this is useful for free tier users\n *\n * @defaultValue false\n */\n showAlgolia?: boolean;\n\n /**\n * Allow to clear tag filters\n *\n * @defaultValue false\n */\n allowClear?: boolean;\n}\n\nexport default function AlgoliaSearchDialog({\n searchOptions,\n tags = [],\n defaultTag,\n showAlgolia = false,\n allowClear = false,\n links = [],\n footer,\n ...props\n}: AlgoliaSearchDialogProps) {\n const [tag, setTag] = useState(defaultTag);\n const { locale } = useI18n();\n const { search, setSearch, query } = useDocsSearch({\n type: 'algolia',\n tag,\n locale,\n ...searchOptions,\n });\n const defaultItems = useMemo<SortedResult[] | null>(() => {\n if (links.length === 0) return null;\n return links.map(([name, link]) => ({\n type: 'page',\n id: name,\n content: name,\n url: link,\n }));\n }, [links]);\n\n useOnChange(defaultTag, (v) => {\n setTag(v);\n });\n\n const label = showAlgolia && <AlgoliaTitle />;\n\n return (\n <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>\n <SearchDialogOverlay />\n <SearchDialogContent>\n <SearchDialogHeader>\n <SearchDialogIcon />\n <SearchDialogInput />\n <SearchDialogClose />\n </SearchDialogHeader>\n <SearchDialogList items={query.data !== 'empty' ? query.data : defaultItems} />\n </SearchDialogContent>\n <SearchDialogFooter>\n {tags.length > 0 ? (\n <TagsList tag={tag} onTagChange={setTag} allowClear={allowClear}>\n {tags.map((tag) => (\n <TagsListItem key={tag.value} value={tag.value}>\n {tag.name}\n </TagsListItem>\n ))}\n {label}\n </TagsList>\n ) : (\n label\n )}\n {footer}\n </SearchDialogFooter>\n </SearchDialog>\n );\n}\n\nfunction AlgoliaTitle() {\n return (\n <a\n href=\"https://algolia.com\"\n rel=\"noreferrer noopener\"\n className=\"ms-auto text-xs text-fd-muted-foreground\"\n >\n Search powered by Algolia\n </a>\n );\n}\n"],"mappings":";;;;;;;;;;AA+CA,SAAwB,oBAAoB,EAC1C,eACA,OAAO,EAAE,EACT,YACA,cAAc,OACd,aAAa,OACb,QAAQ,EAAE,EACV,QACA,GAAG,SACwB;CAC3B,MAAM,CAAC,KAAK,UAAU,SAAS,WAAW;CAC1C,MAAM,EAAE,WAAW,SAAS;CAC5B,MAAM,EAAE,QAAQ,WAAW,UAAU,cAAc;EACjD,MAAM;EACN;EACA;EACA,GAAG;EACJ,CAAC;CACF,MAAM,eAAe,cAAqC;AACxD,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SAAO,MAAM,KAAK,CAAC,MAAM,WAAW;GAClC,MAAM;GACN,IAAI;GACJ,SAAS;GACT,KAAK;GACN,EAAE;IACF,CAAC,MAAM,CAAC;AAEX,aAAY,aAAa,MAAM;AAC7B,SAAO,EAAE;GACT;CAEF,MAAM,QAAQ,eAAe,oBAAC,iBAAe;AAE7C,QACE,qBAAC;EAAqB;EAAQ,gBAAgB;EAAW,WAAW,MAAM;EAAW,GAAI;;GACvF,oBAAC,wBAAsB;GACvB,qBAAC,kCACC,qBAAC;IACC,oBAAC,qBAAmB;IACpB,oBAAC,sBAAoB;IACrB,oBAAC,sBAAoB;OACF,EACrB,oBAAC,oBAAiB,OAAO,MAAM,SAAS,UAAU,MAAM,OAAO,eAAgB,IAC3D;GACtB,qBAAC,iCACE,KAAK,SAAS,IACb,qBAAC;IAAc;IAAK,aAAa;IAAoB;eAClD,KAAK,KAAK,QACT,oBAAC;KAA6B,OAAO,IAAI;eACtC,IAAI;OADY,IAAI,MAER,CACf,EACD;KACQ,GAEX,OAED,UACkB;;GACR;;AAInB,SAAS,eAAe;AACtB,QACE,oBAAC;EACC,MAAK;EACL,KAAI;EACJ,WAAU;YACX;GAEG"}
@@ -1,7 +1,7 @@
1
1
  import { SearchLink, SharedProps, TagItem } from "../../contexts/search.js";
2
2
  import "./search.js";
3
3
  import { ReactNode } from "react";
4
- import * as react_jsx_runtime127 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/dialog/search-default.d.ts
7
7
  interface DefaultSearchDialogProps extends SharedProps {
@@ -38,7 +38,7 @@ declare function DefaultSearchDialog({
38
38
  links,
39
39
  footer,
40
40
  ...props
41
- }: DefaultSearchDialogProps): react_jsx_runtime127.JSX.Element;
41
+ }: DefaultSearchDialogProps): react_jsx_runtime0.JSX.Element;
42
42
  //#endregion
43
43
  export { DefaultSearchDialogProps, DefaultSearchDialog as default };
44
44
  //# sourceMappingURL=search-default.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-default.d.ts","names":[],"sources":["../../../src/components/dialog/search-default.tsx"],"sourcesContent":[],"mappings":";;;;;;UAuBiB,wBAAA,SAAiC;UACxC;;AADV;;EASS,IAAA,CAAA,EAAA,OAAA,GAAA,QAAA;EAYE,UAAA,CAAA,EAAA,MAAA;EArBuC,IAAA,CAAA,EASzC,OATyC,EAAA;EAAW;AA6B5D;;EAIC,GAAA,CAAA,EAAA,MAAA;EACA;;;EAGA,OAAA,CAAA,EAAA,MAAA;EACA,MAAA,CAAA,EAjBS,SAiBT;EACA;;;;;;;iBARsB,mBAAA;;;;;;;;;;GAUrB,2BAAwB,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"search-default.d.ts","names":[],"sources":["../../../src/components/dialog/search-default.tsx"],"mappings":";;;;;;UAuBiB,wBAAA,SAAiC,WAAA;EAChD,KAAA,GAAQ,UAAA;;AADV;;EAME,IAAA;EAEA,UAAA;EACA,IAAA,GAAO,OAAA;EAYE;;;EAPT,GAAA;EAdgD;;;EAmBhD,OAAA;EAEA,MAAA,GAAS,SAAA;EAZT;;;;;EAmBA,UAAA;AAAA;AAAA,iBAGsB,mBAAA,CAAA;EACtB,UAAA;EACA,IAAA;EACA,GAAA;EACA,OAAA;EACA,IAAA;EACA,UAAA;EACA,KAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,wBAAA,GAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -52,10 +52,10 @@ function DefaultSearchDialog({ defaultTag, tags = [], api, delayMs, type = "fetc
52
52
  tag,
53
53
  onTagChange: setTag,
54
54
  allowClear,
55
- children: tags.map((tag$1) => /* @__PURE__ */ jsx(TagsListItem, {
56
- value: tag$1.value,
57
- children: tag$1.name
58
- }, tag$1.value))
55
+ children: tags.map((tag) => /* @__PURE__ */ jsx(TagsListItem, {
56
+ value: tag.value,
57
+ children: tag.name
58
+ }, tag.value))
59
59
  }), footer] })
60
60
  ]
61
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"search-default.js","names":["tag"],"sources":["../../../src/components/dialog/search-default.tsx"],"sourcesContent":["'use client';\n\nimport { useDocsSearch } from 'fumadocs-core/search/client';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { useOnChange } from 'fumadocs-core/utils/use-on-change';\nimport { useI18n } from '@/contexts/i18n';\nimport {\n SearchDialog,\n SearchDialogClose,\n SearchDialogContent,\n SearchDialogFooter,\n SearchDialogHeader,\n SearchDialogIcon,\n SearchDialogInput,\n SearchDialogList,\n SearchDialogOverlay,\n type SharedProps,\n TagsList,\n TagsListItem,\n} from './search';\nimport type { SortedResult } from 'fumadocs-core/search';\nimport type { SearchLink, TagItem } from '@/contexts/search';\n\nexport interface DefaultSearchDialogProps extends SharedProps {\n links?: SearchLink[];\n\n /**\n * @defaultValue 'fetch'\n */\n type?: 'fetch' | 'static';\n\n defaultTag?: string;\n tags?: TagItem[];\n\n /**\n * Search API URL\n */\n api?: string;\n\n /**\n * The debounced delay for performing a search.\n */\n delayMs?: number;\n\n footer?: ReactNode;\n\n /**\n * Allow to clear tag filters\n *\n * @defaultValue false\n */\n allowClear?: boolean;\n}\n\nexport default function DefaultSearchDialog({\n defaultTag,\n tags = [],\n api,\n delayMs,\n type = 'fetch',\n allowClear = false,\n links = [],\n footer,\n ...props\n}: DefaultSearchDialogProps) {\n const { locale } = useI18n();\n const [tag, setTag] = useState(defaultTag);\n const { search, setSearch, query } = useDocsSearch(\n type === 'fetch'\n ? {\n type: 'fetch',\n api,\n locale,\n tag,\n delayMs,\n }\n : {\n type: 'static',\n from: api,\n locale,\n tag,\n delayMs,\n },\n );\n const defaultItems = useMemo<SortedResult[] | null>(() => {\n if (links.length === 0) return null;\n return links.map(([name, link]) => ({\n type: 'page',\n id: name,\n content: name,\n url: link,\n }));\n }, [links]);\n\n useOnChange(defaultTag, (v) => {\n setTag(v);\n });\n\n return (\n <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>\n <SearchDialogOverlay />\n <SearchDialogContent>\n <SearchDialogHeader>\n <SearchDialogIcon />\n <SearchDialogInput />\n <SearchDialogClose />\n </SearchDialogHeader>\n <SearchDialogList items={query.data !== 'empty' ? query.data : defaultItems} />\n </SearchDialogContent>\n <SearchDialogFooter>\n {tags.length > 0 && (\n <TagsList tag={tag} onTagChange={setTag} allowClear={allowClear}>\n {tags.map((tag) => (\n <TagsListItem key={tag.value} value={tag.value}>\n {tag.name}\n </TagsListItem>\n ))}\n </TagsList>\n )}\n {footer}\n </SearchDialogFooter>\n </SearchDialog>\n );\n}\n"],"mappings":";;;;;;;;;;AAsDA,SAAwB,oBAAoB,EAC1C,YACA,OAAO,EAAE,EACT,KACA,SACA,OAAO,SACP,aAAa,OACb,QAAQ,EAAE,EACV,QACA,GAAG,SACwB;CAC3B,MAAM,EAAE,WAAW,SAAS;CAC5B,MAAM,CAAC,KAAK,UAAU,SAAS,WAAW;CAC1C,MAAM,EAAE,QAAQ,WAAW,UAAU,cACnC,SAAS,UACL;EACE,MAAM;EACN;EACA;EACA;EACA;EACD,GACD;EACE,MAAM;EACN,MAAM;EACN;EACA;EACA;EACD,CACN;CACD,MAAM,eAAe,cAAqC;AACxD,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SAAO,MAAM,KAAK,CAAC,MAAM,WAAW;GAClC,MAAM;GACN,IAAI;GACJ,SAAS;GACT,KAAK;GACN,EAAE;IACF,CAAC,MAAM,CAAC;AAEX,aAAY,aAAa,MAAM;AAC7B,SAAO,EAAE;GACT;AAEF,QACE,qBAAC;EAAqB;EAAQ,gBAAgB;EAAW,WAAW,MAAM;EAAW,GAAI;;GACvF,oBAAC,wBAAsB;GACvB,qBAAC,kCACC,qBAAC;IACC,oBAAC,qBAAmB;IACpB,oBAAC,sBAAoB;IACrB,oBAAC,sBAAoB;OACF,EACrB,oBAAC,oBAAiB,OAAO,MAAM,SAAS,UAAU,MAAM,OAAO,eAAgB,IAC3D;GACtB,qBAAC,iCACE,KAAK,SAAS,KACb,oBAAC;IAAc;IAAK,aAAa;IAAoB;cAClD,KAAK,KAAK,UACT,oBAAC;KAA6B,OAAOA,MAAI;eACtCA,MAAI;OADYA,MAAI,MAER,CACf;KACO,EAEZ,UACkB;;GACR"}
1
+ {"version":3,"file":"search-default.js","names":[],"sources":["../../../src/components/dialog/search-default.tsx"],"sourcesContent":["'use client';\n\nimport { useDocsSearch } from 'fumadocs-core/search/client';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { useOnChange } from 'fumadocs-core/utils/use-on-change';\nimport { useI18n } from '@/contexts/i18n';\nimport {\n SearchDialog,\n SearchDialogClose,\n SearchDialogContent,\n SearchDialogFooter,\n SearchDialogHeader,\n SearchDialogIcon,\n SearchDialogInput,\n SearchDialogList,\n SearchDialogOverlay,\n type SharedProps,\n TagsList,\n TagsListItem,\n} from './search';\nimport type { SortedResult } from 'fumadocs-core/search';\nimport type { SearchLink, TagItem } from '@/contexts/search';\n\nexport interface DefaultSearchDialogProps extends SharedProps {\n links?: SearchLink[];\n\n /**\n * @defaultValue 'fetch'\n */\n type?: 'fetch' | 'static';\n\n defaultTag?: string;\n tags?: TagItem[];\n\n /**\n * Search API URL\n */\n api?: string;\n\n /**\n * The debounced delay for performing a search.\n */\n delayMs?: number;\n\n footer?: ReactNode;\n\n /**\n * Allow to clear tag filters\n *\n * @defaultValue false\n */\n allowClear?: boolean;\n}\n\nexport default function DefaultSearchDialog({\n defaultTag,\n tags = [],\n api,\n delayMs,\n type = 'fetch',\n allowClear = false,\n links = [],\n footer,\n ...props\n}: DefaultSearchDialogProps) {\n const { locale } = useI18n();\n const [tag, setTag] = useState(defaultTag);\n const { search, setSearch, query } = useDocsSearch(\n type === 'fetch'\n ? {\n type: 'fetch',\n api,\n locale,\n tag,\n delayMs,\n }\n : {\n type: 'static',\n from: api,\n locale,\n tag,\n delayMs,\n },\n );\n const defaultItems = useMemo<SortedResult[] | null>(() => {\n if (links.length === 0) return null;\n return links.map(([name, link]) => ({\n type: 'page',\n id: name,\n content: name,\n url: link,\n }));\n }, [links]);\n\n useOnChange(defaultTag, (v) => {\n setTag(v);\n });\n\n return (\n <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>\n <SearchDialogOverlay />\n <SearchDialogContent>\n <SearchDialogHeader>\n <SearchDialogIcon />\n <SearchDialogInput />\n <SearchDialogClose />\n </SearchDialogHeader>\n <SearchDialogList items={query.data !== 'empty' ? query.data : defaultItems} />\n </SearchDialogContent>\n <SearchDialogFooter>\n {tags.length > 0 && (\n <TagsList tag={tag} onTagChange={setTag} allowClear={allowClear}>\n {tags.map((tag) => (\n <TagsListItem key={tag.value} value={tag.value}>\n {tag.name}\n </TagsListItem>\n ))}\n </TagsList>\n )}\n {footer}\n </SearchDialogFooter>\n </SearchDialog>\n );\n}\n"],"mappings":";;;;;;;;;;AAsDA,SAAwB,oBAAoB,EAC1C,YACA,OAAO,EAAE,EACT,KACA,SACA,OAAO,SACP,aAAa,OACb,QAAQ,EAAE,EACV,QACA,GAAG,SACwB;CAC3B,MAAM,EAAE,WAAW,SAAS;CAC5B,MAAM,CAAC,KAAK,UAAU,SAAS,WAAW;CAC1C,MAAM,EAAE,QAAQ,WAAW,UAAU,cACnC,SAAS,UACL;EACE,MAAM;EACN;EACA;EACA;EACA;EACD,GACD;EACE,MAAM;EACN,MAAM;EACN;EACA;EACA;EACD,CACN;CACD,MAAM,eAAe,cAAqC;AACxD,MAAI,MAAM,WAAW,EAAG,QAAO;AAC/B,SAAO,MAAM,KAAK,CAAC,MAAM,WAAW;GAClC,MAAM;GACN,IAAI;GACJ,SAAS;GACT,KAAK;GACN,EAAE;IACF,CAAC,MAAM,CAAC;AAEX,aAAY,aAAa,MAAM;AAC7B,SAAO,EAAE;GACT;AAEF,QACE,qBAAC;EAAqB;EAAQ,gBAAgB;EAAW,WAAW,MAAM;EAAW,GAAI;;GACvF,oBAAC,wBAAsB;GACvB,qBAAC,kCACC,qBAAC;IACC,oBAAC,qBAAmB;IACpB,oBAAC,sBAAoB;IACrB,oBAAC,sBAAoB;OACF,EACrB,oBAAC,oBAAiB,OAAO,MAAM,SAAS,UAAU,MAAM,OAAO,eAAgB,IAC3D;GACtB,qBAAC,iCACE,KAAK,SAAS,KACb,oBAAC;IAAc;IAAK,aAAa;IAAoB;cAClD,KAAK,KAAK,QACT,oBAAC;KAA6B,OAAO,IAAI;eACtC,IAAI;OADY,IAAI,MAER,CACf;KACO,EAEZ,UACkB;;GACR"}
@@ -1,7 +1,7 @@
1
1
  import { SearchLink, SharedProps, TagItem } from "../../contexts/search.js";
2
2
  import "./search.js";
3
3
  import { ReactNode } from "react";
4
- import * as react_jsx_runtime141 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
5
5
  import { OramaCloudOptions } from "fumadocs-core/search/client";
6
6
 
7
7
  //#region src/components/dialog/search-orama.d.ts
@@ -40,7 +40,7 @@ declare function OramaSearchDialog({
40
40
  footer,
41
41
  links,
42
42
  ...props
43
- }: OramaSearchDialogProps): react_jsx_runtime141.JSX.Element;
43
+ }: OramaSearchDialogProps): react_jsx_runtime0.JSX.Element;
44
44
  //#endregion
45
45
  export { OramaSearchDialogProps, OramaSearchDialog as default };
46
46
  //# sourceMappingURL=search-orama.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-orama.d.ts","names":[],"sources":["../../../src/components/dialog/search-orama.tsx"],"sourcesContent":[],"mappings":";;;;;;;UAuBiB,sBAAA,SAA+B;UACtC;UACA;EAFO,aAAA,CAAA,EAGC,iBAHsB,CAAA,QAAA,CAAA;EAC9B,KAAA,CAAA,EAGA,iBAHA,CAAA,OAAA,CAAA;EACA,MAAA,CAAA,EAIC,SAJD;EACQ,UAAA,CAAA,EAAA,MAAA;EACR,IAAA,CAAA,EAKD,OALC,EAAA;EAEC;;;;AAkBV;EAMC,SAAA,CAAA,EAAA,OAAA;EACA;;;;;EAKA,UAAA,CAAA,EAAA,OAAA;;;;;AAIuB,iBAXD,iBAAA,CAWC;EAAA,MAAA;EAAA,aAAA;EAAA,IAAA;EAAA,UAAA;EAAA,SAAA;EAAA,UAAA;EAAA,KAAA;EAAA,MAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAAtB,sBAAsB,CAAA,EAAA,oBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"search-orama.d.ts","names":[],"sources":["../../../src/components/dialog/search-orama.tsx"],"mappings":";;;;;;;UAuBiB,sBAAA,SAA+B,WAAA;EAC9C,KAAA,GAAQ,UAAA;EACR,MAAA,EAAQ,iBAAA;EACR,aAAA,GAAgB,iBAAA;EAChB,KAAA,GAAQ,iBAAA;EAER,MAAA,GAAS,SAAA;EAET,UAAA;EACA,IAAA,GAAO,OAAA;EANS;;;;;EAahB,SAAA;EAhByD;;;;;EAuBzD,UAAA;AAAA;;;;iBAMsB,iBAAA,CAAA;EACtB,MAAA;EACA,aAAA;EACA,IAAA;EACA,UAAA;EACA,SAAA;EACA,UAAA;EACA,KAAA;EACA,MAAA;EACA,KAAA;EAAA,GACG;AAAA,GACF,sBAAA,GAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -51,10 +51,10 @@ function OramaSearchDialog({ client, searchOptions, tags = [], defaultTag, showO
51
51
  tag,
52
52
  onTagChange: setTag,
53
53
  allowClear,
54
- children: [tags.map((tag$1) => /* @__PURE__ */ jsx(TagsListItem, {
55
- value: tag$1.value,
56
- children: tag$1.name
57
- }, tag$1.value)), label]
54
+ children: [tags.map((tag) => /* @__PURE__ */ jsx(TagsListItem, {
55
+ value: tag.value,
56
+ children: tag.name
57
+ }, tag.value)), label]
58
58
  }) : label, footer] })
59
59
  ] })]
60
60
  });
@@ -1 +1 @@
1
- {"version":3,"file":"search-orama.js","names":["tag"],"sources":["../../../src/components/dialog/search-orama.tsx"],"sourcesContent":["'use client';\n\nimport { type OramaCloudOptions, useDocsSearch } from 'fumadocs-core/search/client';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { useOnChange } from 'fumadocs-core/utils/use-on-change';\nimport {\n SearchDialog,\n SearchDialogClose,\n SearchDialogContent,\n SearchDialogFooter,\n SearchDialogHeader,\n SearchDialogIcon,\n SearchDialogInput,\n SearchDialogList,\n SearchDialogOverlay,\n type SharedProps,\n TagsList,\n TagsListItem,\n} from './search';\nimport type { SortedResult } from 'fumadocs-core/search';\nimport type { SearchLink, TagItem } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\n\nexport interface OramaSearchDialogProps extends SharedProps {\n links?: SearchLink[];\n client: OramaCloudOptions['client'];\n searchOptions?: OramaCloudOptions['params'];\n index?: OramaCloudOptions['index'];\n\n footer?: ReactNode;\n\n defaultTag?: string;\n tags?: TagItem[];\n\n /**\n * Add the \"Powered by Orama\" label\n *\n * @defaultValue true\n */\n showOrama?: boolean;\n\n /**\n * Allow to clear tag filters\n *\n * @defaultValue false\n */\n allowClear?: boolean;\n}\n\n/**\n * Orama Cloud integration\n */\nexport default function OramaSearchDialog({\n client,\n searchOptions,\n tags = [],\n defaultTag,\n showOrama = true,\n allowClear = false,\n index,\n footer,\n links = [],\n ...props\n}: OramaSearchDialogProps) {\n const { locale } = useI18n();\n const [tag, setTag] = useState(defaultTag);\n const { search, setSearch, query } = useDocsSearch({\n type: 'orama-cloud',\n client,\n index,\n params: searchOptions,\n locale,\n tag,\n });\n\n const defaultItems = useMemo<SortedResult[] | null>(() => {\n if (links.length === 0) return null;\n\n return links.map(([name, link]) => ({\n type: 'page',\n id: name,\n content: name,\n url: link,\n }));\n }, [links]);\n\n useOnChange(defaultTag, (v) => {\n setTag(v);\n });\n\n const label = showOrama && <Label />;\n\n return (\n <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>\n <SearchDialogOverlay />\n <SearchDialogContent>\n <SearchDialogHeader>\n <SearchDialogIcon />\n <SearchDialogInput />\n <SearchDialogClose />\n </SearchDialogHeader>\n <SearchDialogList items={query.data !== 'empty' ? query.data : defaultItems} />\n <SearchDialogFooter>\n {tags.length > 0 ? (\n <TagsList tag={tag} onTagChange={setTag} allowClear={allowClear}>\n {tags.map((tag) => (\n <TagsListItem key={tag.value} value={tag.value}>\n {tag.name}\n </TagsListItem>\n ))}\n {label}\n </TagsList>\n ) : (\n label\n )}\n {footer}\n </SearchDialogFooter>\n </SearchDialogContent>\n </SearchDialog>\n );\n}\n\nfunction Label() {\n return (\n <a\n href=\"https://orama.com\"\n rel=\"noreferrer noopener\"\n className=\"ms-auto text-xs text-fd-muted-foreground\"\n >\n Search powered by Orama\n </a>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAoDA,SAAwB,kBAAkB,EACxC,QACA,eACA,OAAO,EAAE,EACT,YACA,YAAY,MACZ,aAAa,OACb,OACA,QACA,QAAQ,EAAE,EACV,GAAG,SACsB;CACzB,MAAM,EAAE,WAAW,SAAS;CAC5B,MAAM,CAAC,KAAK,UAAU,SAAS,WAAW;CAC1C,MAAM,EAAE,QAAQ,WAAW,UAAU,cAAc;EACjD,MAAM;EACN;EACA;EACA,QAAQ;EACR;EACA;EACD,CAAC;CAEF,MAAM,eAAe,cAAqC;AACxD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,SAAO,MAAM,KAAK,CAAC,MAAM,WAAW;GAClC,MAAM;GACN,IAAI;GACJ,SAAS;GACT,KAAK;GACN,EAAE;IACF,CAAC,MAAM,CAAC;AAEX,aAAY,aAAa,MAAM;AAC7B,SAAO,EAAE;GACT;CAEF,MAAM,QAAQ,aAAa,oBAAC,UAAQ;AAEpC,QACE,qBAAC;EAAqB;EAAQ,gBAAgB;EAAW,WAAW,MAAM;EAAW,GAAI;aACvF,oBAAC,wBAAsB,EACvB,qBAAC;GACC,qBAAC;IACC,oBAAC,qBAAmB;IACpB,oBAAC,sBAAoB;IACrB,oBAAC,sBAAoB;OACF;GACrB,oBAAC,oBAAiB,OAAO,MAAM,SAAS,UAAU,MAAM,OAAO,eAAgB;GAC/E,qBAAC,iCACE,KAAK,SAAS,IACb,qBAAC;IAAc;IAAK,aAAa;IAAoB;eAClD,KAAK,KAAK,UACT,oBAAC;KAA6B,OAAOA,MAAI;eACtCA,MAAI;OADYA,MAAI,MAER,CACf,EACD;KACQ,GAEX,OAED,UACkB;MACD;GACT;;AAInB,SAAS,QAAQ;AACf,QACE,oBAAC;EACC,MAAK;EACL,KAAI;EACJ,WAAU;YACX;GAEG"}
1
+ {"version":3,"file":"search-orama.js","names":[],"sources":["../../../src/components/dialog/search-orama.tsx"],"sourcesContent":["'use client';\n\nimport { type OramaCloudOptions, useDocsSearch } from 'fumadocs-core/search/client';\nimport { type ReactNode, useMemo, useState } from 'react';\nimport { useOnChange } from 'fumadocs-core/utils/use-on-change';\nimport {\n SearchDialog,\n SearchDialogClose,\n SearchDialogContent,\n SearchDialogFooter,\n SearchDialogHeader,\n SearchDialogIcon,\n SearchDialogInput,\n SearchDialogList,\n SearchDialogOverlay,\n type SharedProps,\n TagsList,\n TagsListItem,\n} from './search';\nimport type { SortedResult } from 'fumadocs-core/search';\nimport type { SearchLink, TagItem } from '@/contexts/search';\nimport { useI18n } from '@/contexts/i18n';\n\nexport interface OramaSearchDialogProps extends SharedProps {\n links?: SearchLink[];\n client: OramaCloudOptions['client'];\n searchOptions?: OramaCloudOptions['params'];\n index?: OramaCloudOptions['index'];\n\n footer?: ReactNode;\n\n defaultTag?: string;\n tags?: TagItem[];\n\n /**\n * Add the \"Powered by Orama\" label\n *\n * @defaultValue true\n */\n showOrama?: boolean;\n\n /**\n * Allow to clear tag filters\n *\n * @defaultValue false\n */\n allowClear?: boolean;\n}\n\n/**\n * Orama Cloud integration\n */\nexport default function OramaSearchDialog({\n client,\n searchOptions,\n tags = [],\n defaultTag,\n showOrama = true,\n allowClear = false,\n index,\n footer,\n links = [],\n ...props\n}: OramaSearchDialogProps) {\n const { locale } = useI18n();\n const [tag, setTag] = useState(defaultTag);\n const { search, setSearch, query } = useDocsSearch({\n type: 'orama-cloud',\n client,\n index,\n params: searchOptions,\n locale,\n tag,\n });\n\n const defaultItems = useMemo<SortedResult[] | null>(() => {\n if (links.length === 0) return null;\n\n return links.map(([name, link]) => ({\n type: 'page',\n id: name,\n content: name,\n url: link,\n }));\n }, [links]);\n\n useOnChange(defaultTag, (v) => {\n setTag(v);\n });\n\n const label = showOrama && <Label />;\n\n return (\n <SearchDialog search={search} onSearchChange={setSearch} isLoading={query.isLoading} {...props}>\n <SearchDialogOverlay />\n <SearchDialogContent>\n <SearchDialogHeader>\n <SearchDialogIcon />\n <SearchDialogInput />\n <SearchDialogClose />\n </SearchDialogHeader>\n <SearchDialogList items={query.data !== 'empty' ? query.data : defaultItems} />\n <SearchDialogFooter>\n {tags.length > 0 ? (\n <TagsList tag={tag} onTagChange={setTag} allowClear={allowClear}>\n {tags.map((tag) => (\n <TagsListItem key={tag.value} value={tag.value}>\n {tag.name}\n </TagsListItem>\n ))}\n {label}\n </TagsList>\n ) : (\n label\n )}\n {footer}\n </SearchDialogFooter>\n </SearchDialogContent>\n </SearchDialog>\n );\n}\n\nfunction Label() {\n return (\n <a\n href=\"https://orama.com\"\n rel=\"noreferrer noopener\"\n className=\"ms-auto text-xs text-fd-muted-foreground\"\n >\n Search powered by Orama\n </a>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAoDA,SAAwB,kBAAkB,EACxC,QACA,eACA,OAAO,EAAE,EACT,YACA,YAAY,MACZ,aAAa,OACb,OACA,QACA,QAAQ,EAAE,EACV,GAAG,SACsB;CACzB,MAAM,EAAE,WAAW,SAAS;CAC5B,MAAM,CAAC,KAAK,UAAU,SAAS,WAAW;CAC1C,MAAM,EAAE,QAAQ,WAAW,UAAU,cAAc;EACjD,MAAM;EACN;EACA;EACA,QAAQ;EACR;EACA;EACD,CAAC;CAEF,MAAM,eAAe,cAAqC;AACxD,MAAI,MAAM,WAAW,EAAG,QAAO;AAE/B,SAAO,MAAM,KAAK,CAAC,MAAM,WAAW;GAClC,MAAM;GACN,IAAI;GACJ,SAAS;GACT,KAAK;GACN,EAAE;IACF,CAAC,MAAM,CAAC;AAEX,aAAY,aAAa,MAAM;AAC7B,SAAO,EAAE;GACT;CAEF,MAAM,QAAQ,aAAa,oBAAC,UAAQ;AAEpC,QACE,qBAAC;EAAqB;EAAQ,gBAAgB;EAAW,WAAW,MAAM;EAAW,GAAI;aACvF,oBAAC,wBAAsB,EACvB,qBAAC;GACC,qBAAC;IACC,oBAAC,qBAAmB;IACpB,oBAAC,sBAAoB;IACrB,oBAAC,sBAAoB;OACF;GACrB,oBAAC,oBAAiB,OAAO,MAAM,SAAS,UAAU,MAAM,OAAO,eAAgB;GAC/E,qBAAC,iCACE,KAAK,SAAS,IACb,qBAAC;IAAc;IAAK,aAAa;IAAoB;eAClD,KAAK,KAAK,QACT,oBAAC;KAA6B,OAAO,IAAI;eACtC,IAAI;OADY,IAAI,MAER,CACf,EACD;KACQ,GAEX,OAED,UACkB;MACD;GACT;;AAInB,SAAS,QAAQ;AACf,QACE,oBAAC;EACC,MAAK;EACL,KAAI;EACJ,WAAU;YACX;GAEG"}
@@ -1,6 +1,6 @@
1
1
  import { SharedProps } from "../../contexts/search.js";
2
2
  import { ComponentProps, ReactNode } from "react";
3
- import * as react_jsx_runtime129 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
4
  import { Dialog } from "@base-ui/react/dialog";
5
5
  import { HighlightedText, ReactSortedResult } from "fumadocs-core/search";
6
6
 
@@ -28,24 +28,24 @@ declare function SearchDialog({
28
28
  isLoading,
29
29
  onSelect: onSelectProp,
30
30
  children
31
- }: SearchDialogProps): react_jsx_runtime129.JSX.Element;
32
- declare function SearchDialogHeader(props: ComponentProps<'div'>): react_jsx_runtime129.JSX.Element;
33
- declare function SearchDialogInput(props: ComponentProps<'input'>): react_jsx_runtime129.JSX.Element;
31
+ }: SearchDialogProps): react_jsx_runtime0.JSX.Element;
32
+ declare function SearchDialogHeader(props: ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
33
+ declare function SearchDialogInput(props: ComponentProps<'input'>): react_jsx_runtime0.JSX.Element;
34
34
  declare function SearchDialogClose({
35
35
  children,
36
36
  className,
37
37
  ...props
38
- }: ComponentProps<'button'>): react_jsx_runtime129.JSX.Element;
39
- declare function SearchDialogFooter(props: ComponentProps<'div'>): react_jsx_runtime129.JSX.Element;
38
+ }: ComponentProps<'button'>): react_jsx_runtime0.JSX.Element;
39
+ declare function SearchDialogFooter(props: ComponentProps<'div'>): react_jsx_runtime0.JSX.Element;
40
40
  declare function SearchDialogOverlay({
41
41
  className,
42
42
  ...props
43
- }: ComponentProps<typeof Dialog.Backdrop>): react_jsx_runtime129.JSX.Element;
43
+ }: ComponentProps<typeof Dialog.Backdrop>): react_jsx_runtime0.JSX.Element;
44
44
  declare function SearchDialogContent({
45
45
  children,
46
46
  className,
47
47
  ...props
48
- }: ComponentProps<typeof Dialog.Popup>): react_jsx_runtime129.JSX.Element;
48
+ }: ComponentProps<typeof Dialog.Popup>): react_jsx_runtime0.JSX.Element;
49
49
  declare function SearchDialogList({
50
50
  items,
51
51
  Empty,
@@ -64,7 +64,7 @@ declare function SearchDialogList({
64
64
  item: SearchItemType;
65
65
  onClick: () => void;
66
66
  }) => ReactNode;
67
- }): react_jsx_runtime129.JSX.Element;
67
+ }): react_jsx_runtime0.JSX.Element;
68
68
  declare function SearchDialogListItem({
69
69
  item,
70
70
  className,
@@ -74,8 +74,8 @@ declare function SearchDialogListItem({
74
74
  }: ComponentProps<'button'> & {
75
75
  renderHighlights?: typeof renderHighlights;
76
76
  item: SearchItemType;
77
- }): react_jsx_runtime129.JSX.Element;
78
- declare function SearchDialogIcon(props: ComponentProps<'svg'>): react_jsx_runtime129.JSX.Element;
77
+ }): react_jsx_runtime0.JSX.Element;
78
+ declare function SearchDialogIcon(props: ComponentProps<'svg'>): react_jsx_runtime0.JSX.Element;
79
79
  interface TagsListProps extends ComponentProps<'div'> {
80
80
  tag?: string;
81
81
  onTagChange: (tag: string | undefined) => void;
@@ -86,14 +86,14 @@ declare function TagsList({
86
86
  onTagChange,
87
87
  allowClear,
88
88
  ...props
89
- }: TagsListProps): react_jsx_runtime129.JSX.Element;
89
+ }: TagsListProps): react_jsx_runtime0.JSX.Element;
90
90
  declare function TagsListItem({
91
91
  value,
92
92
  className,
93
93
  ...props
94
94
  }: ComponentProps<'button'> & {
95
95
  value: string;
96
- }): react_jsx_runtime129.JSX.Element;
96
+ }): react_jsx_runtime0.JSX.Element;
97
97
  declare function renderHighlights(highlights: HighlightedText<ReactNode>[]): ReactNode;
98
98
  declare function useSearch(): {
99
99
  open: boolean;