@mintlify/msft-sdk 1.1.27 → 1.1.30

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 (31) hide show
  1. package/dist/api-playground/ApiPlayground/components/ArrayCount.js +1 -1
  2. package/dist/api-playground/ApiPlayground/components/ArrayCount.js.map +1 -1
  3. package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js +1 -1
  4. package/dist/api-playground/ApiPlayground/components/ObjectExpandButton.js.map +1 -1
  5. package/dist/api-playground/ApiPlayground/index.js +13 -13
  6. package/dist/api-playground/ApiPlayground/index.js.map +1 -1
  7. package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js +7 -6
  8. package/dist/api-playground/EndpointFields/ParamFields/RecursiveParamField.js.map +1 -1
  9. package/dist/api-playground/EndpointFields/index.js +4 -3
  10. package/dist/api-playground/EndpointFields/index.js.map +1 -1
  11. package/dist/api-playground-2/OperationPage.js +1 -1
  12. package/dist/api-playground-2/OperationPage.js.map +1 -1
  13. package/dist/components/content-components/callouts.js +1 -1
  14. package/dist/components/content-components/callouts.js.map +1 -1
  15. package/dist/components/content-components/code-block.js +24 -24
  16. package/dist/components/content-components/code-block.js.map +1 -1
  17. package/dist/components/content-components/code-group.js +12 -12
  18. package/dist/components/content-components/code-group.js.map +1 -1
  19. package/dist/components/docsLayout.js +6 -6
  20. package/dist/components/docsLayout.js.map +1 -1
  21. package/dist/components/docsPage.js +24 -24
  22. package/dist/components/docsPage.js.map +1 -1
  23. package/dist/components/nav-tree/index.js +133 -129
  24. package/dist/components/nav-tree/index.js.map +1 -1
  25. package/dist/components/nav-tree/mobile-nav.js +2 -2
  26. package/dist/components/nav-tree/mobile-nav.js.map +1 -1
  27. package/dist/components/page-context-menu.js +61 -130
  28. package/dist/components/page-context-menu.js.map +1 -1
  29. package/dist/index.d.ts +4 -1
  30. package/dist/styles.css +1 -1
  31. package/package.json +9 -10
@@ -1,156 +1,87 @@
1
- import { jsxs as m, jsx as i, Fragment as g } from "react/jsx-runtime";
2
- import { useState as h, useRef as C, useEffect as w } from "react";
3
- import { CopyRegular as k, MarkdownRegular as F, ChevronDownRegular as T, DocumentOnePageSparkleRegular as I, DocumentOnePageMultipleSparkleRegular as L } from "@fluentui/react-icons";
4
- import { copyMarkdownToClipboard as S } from "../hooks/useMarkdownCopy.js";
5
- import { cn as u } from "../utils/cn.js";
6
- const z = ({
7
- className: v,
8
- pathname: s,
9
- markdownContent: p,
10
- onCopyMarkdown: e,
11
- onViewMarkdown: x,
12
- allPages: N,
13
- baseUrl: _
1
+ import { jsxs as r, jsx as i } from "react/jsx-runtime";
2
+ import { useState as p, useEffect as b } from "react";
3
+ import { CopyRegular as x, MarkdownRegular as u } from "@fluentui/react-icons";
4
+ import { copyMarkdownToClipboard as g } from "../hooks/useMarkdownCopy.js";
5
+ import { cn as l } from "../utils/cn.js";
6
+ const P = ({
7
+ className: c,
8
+ pathname: m,
9
+ markdownContent: a,
10
+ onCopyMarkdown: t,
11
+ onViewMarkdown: s,
12
+ allPages: h,
13
+ baseUrl: v
14
14
  }) => {
15
- const [r, d] = h(!1), [a, f] = h(!1), c = C(null);
16
- w(() => {
17
- if (a) {
18
- const t = setTimeout(() => {
19
- f(!1);
15
+ const [n, o] = p(!1);
16
+ b(() => {
17
+ if (n) {
18
+ const e = setTimeout(() => {
19
+ o(!1);
20
20
  }, 2e3);
21
- return () => clearTimeout(t);
21
+ return () => clearTimeout(e);
22
22
  }
23
- }, [a]), w(() => {
24
- const t = (b) => {
25
- c.current && !c.current.contains(b.target) && d(!1);
26
- };
27
- return r && document.addEventListener("mousedown", t), () => {
28
- document.removeEventListener("mousedown", t);
29
- };
30
- }, [r]);
31
- const y = async () => {
32
- f(!0);
23
+ }, [n]);
24
+ const d = async () => {
25
+ o(!0);
33
26
  try {
34
- if (p) {
35
- const t = new ClipboardItem({
36
- "text/plain": new Blob([p], { type: "text/plain" })
27
+ if (a) {
28
+ const e = new ClipboardItem({
29
+ "text/plain": new Blob([a], { type: "text/plain" })
37
30
  });
38
- await navigator.clipboard.write([t]), e == null || e();
31
+ await navigator.clipboard.write([e]), t == null || t();
39
32
  } else
40
- S({
41
- pathname: s,
33
+ g({
34
+ pathname: m,
42
35
  onSuccess: () => {
43
- e == null || e();
36
+ t == null || t();
44
37
  }
45
38
  });
46
- } catch (t) {
47
- console.error("Failed to copy markdown:", t);
39
+ } catch (e) {
40
+ console.error("Failed to copy markdown:", e);
48
41
  }
49
- }, R = () => {
50
- x ? x(s) : window.open(`${s}.md`, "_blank");
51
- }, O = () => {
52
- window.open("/docs/llms.txt", "_blank");
53
- }, P = () => {
54
- window.open("/docs/llms-full.txt", "_blank");
55
- }, o = (t) => () => {
56
- d(!1), t();
57
- }, n = [
58
- {
59
- id: "copy",
60
- title: "Copy Page",
61
- description: "Copy page as markdown",
62
- icon: k,
63
- action: o(y)
64
- },
65
- {
66
- id: "view",
67
- title: "View as Markdown",
68
- description: "View this page as plain text",
69
- icon: F,
70
- action: o(R)
71
- }
72
- ];
73
- N && _ && (n.push({
74
- id: "llms",
75
- title: "View llms.txt",
76
- description: "View generated llms.txt file",
77
- icon: I,
78
- action: o(O)
79
- }), n.push({
80
- id: "llms-full",
81
- title: "View llms-full.txt",
82
- description: "Generated llms-full.txt file",
83
- icon: L,
84
- action: o(P)
85
- }));
86
- const l = n[0];
87
- return /* @__PURE__ */ m(
42
+ }, f = () => {
43
+ s ? s(m) : window.open(`${m}.md`, "_blank");
44
+ };
45
+ return /* @__PURE__ */ r(
88
46
  "div",
89
47
  {
90
- className: u(
91
- "mint:flex mint:items-center mint:justify-end mint:shrink-0 mint:w-[160px] mint:font-aptos",
92
- v
48
+ className: l(
49
+ "mint:flex mint:items-center mint:gap-3 mint:font-aptos",
50
+ c
93
51
  ),
94
- ref: c,
95
52
  children: [
96
- /* @__PURE__ */ i(
53
+ /* @__PURE__ */ r(
97
54
  "button",
98
55
  {
99
- className: u(
100
- "mint:rounded-full mint:py-1.5 mint:px-3 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]",
101
- n.length > 1 && "mint:rounded-tr-none mint:rounded-br-none mint:border-r-0",
102
- a && "mint:text-[#6b7280] mint:dark:text-[#9ca3af]"
56
+ className: l(
57
+ "mint:flex mint:items-center mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#b2b2b2] mint:cursor-pointer mint:border-none mint:bg-transparent mint:p-0 mint:transition-colors mint:hover:text-[#141414] mint:dark:hover:text-[#fafafa]"
103
58
  ),
104
- onClick: () => {
105
- l.action();
106
- },
107
- children: /* @__PURE__ */ i("div", { className: "mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:text-[#242424] mint:dark:text-[#dbdbdb]", children: l.id === "copy" ? /* @__PURE__ */ m(g, { children: [
108
- /* @__PURE__ */ i(k, { className: "mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]" }),
109
- /* @__PURE__ */ i("p", { className: "mint:font-medium mint:font-aptos", children: a ? "Copied" : "Copy Page" })
110
- ] }) : /* @__PURE__ */ m(g, { children: [
111
- /* @__PURE__ */ i(l.icon, { className: "mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]" }),
112
- /* @__PURE__ */ i("p", { className: "mint:font-medium mint:font-aptos", children: l.title })
113
- ] }) })
59
+ onClick: d,
60
+ "aria-label": n ? "Copied" : "Copy for LLM",
61
+ children: [
62
+ /* @__PURE__ */ i(x, { className: "mint:w-5 mint:h-5" }),
63
+ /* @__PURE__ */ i("span", { className: "mint:font-medium", children: n ? "Copied" : "Copy for LLM" })
64
+ ]
114
65
  }
115
66
  ),
116
- n.length > 1 && /* @__PURE__ */ m("div", { className: "mint:relative", children: [
117
- /* @__PURE__ */ i(
118
- "button",
119
- {
120
- className: "mint:rounded-none mint:rounded-tr-full mint:rounded-br-full mint:py-1.5 mint:px-2 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]",
121
- onClick: () => d(!r),
122
- children: /* @__PURE__ */ i(
123
- T,
124
- {
125
- className: u(
126
- "mint:w-4 mint:h-4 mint:transition-transform mint:duration-150",
127
- r && "mint:rotate-180"
128
- )
129
- }
130
- )
131
- }
132
- ),
133
- r && /* @__PURE__ */ i("div", { className: "mint:absolute mint:right-0 mint:top-full mint:mt-1 mint:z-50 mint:max-h-[420px] mint:p-1 mint:min-w-[240px] mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:rounded-2xl mint:shadow-[0_20px_25px_-5px_rgba(0,0,0,0.1),0_10px_10px_-5px_rgba(0,0,0,0.04)] mint:overflow-y-auto", children: n.map((t, b) => /* @__PURE__ */ m(
134
- "button",
135
- {
136
- onClick: t.action,
137
- className: "mint:w-full mint:flex mint:items-center mint:gap-3 mint:py-2 mint:px-2.5 mint:cursor-pointer mint:rounded-xl mint:transition-colors mint:duration-150 mint:border-none mint:bg-transparent mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]",
138
- children: [
139
- /* @__PURE__ */ i("div", { className: "mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:rounded-lg mint:p-1 mint:shrink-0", children: /* @__PURE__ */ i(t.icon, { className: "mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]" }) }),
140
- /* @__PURE__ */ m("div", { className: "mint:flex mint:flex-col mint:flex-1 mint:min-w-0 mint:text-left", children: [
141
- /* @__PURE__ */ i("div", { className: "mint:text-sm mint:font-medium mint:text-[#1f2937] mint:dark:text-[#d1d5db] mint:flex mint:items-center mint:gap-1.5", children: t.title }),
142
- /* @__PURE__ */ i("div", { className: "mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:mt-0.5", children: t.description })
143
- ] })
144
- ]
145
- },
146
- t.id + b
147
- )) })
148
- ] })
67
+ /* @__PURE__ */ i("div", { className: "mint:h-5 mint:w-px mint:bg-[#d1d1d1] mint:dark:bg-[#404040]" }),
68
+ /* @__PURE__ */ r(
69
+ "button",
70
+ {
71
+ className: "mint:flex mint:items-center mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#b2b2b2] mint:cursor-pointer mint:border-none mint:bg-transparent mint:p-0 mint:transition-colors mint:hover:text-[#141414] mint:dark:hover:text-[#fafafa]",
72
+ onClick: f,
73
+ "aria-label": "View as Markdown",
74
+ children: [
75
+ /* @__PURE__ */ i(u, { className: "mint:w-5 mint:h-5" }),
76
+ /* @__PURE__ */ i("span", { className: "mint:font-medium", children: "View as Markdown" })
77
+ ]
78
+ }
79
+ )
149
80
  ]
150
81
  }
151
82
  );
152
83
  };
153
84
  export {
154
- z as PageContextMenu
85
+ P as PageContextMenu
155
86
  };
156
87
  //# sourceMappingURL=page-context-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-context-menu.js","sources":["../../src/components/page-context-menu.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport {\n CopyRegular,\n MarkdownRegular,\n ChevronDownRegular,\n DocumentOnePageSparkleRegular,\n DocumentOnePageMultipleSparkleRegular,\n} from \"@fluentui/react-icons\";\nimport { copyMarkdownToClipboard } from \"../hooks/useMarkdownCopy\";\nimport type { LlmsPageConfig } from \"../utils/generate-llms-txt\";\nimport { cn } from \"../utils/cn\";\n\nexport type ContextualOption = {\n id: string;\n title: string;\n description: string;\n icon: React.ElementType;\n action: () => void;\n};\n\nexport interface PageContextMenuProps {\n className?: string;\n pathname: string;\n markdownContent?: string;\n onCopyMarkdown?: () => void;\n onViewMarkdown?: (pathname: string) => void;\n allPages?: LlmsPageConfig[];\n baseUrl?: string;\n}\n\nexport const PageContextMenu = ({\n className,\n pathname,\n markdownContent,\n onCopyMarkdown,\n onViewMarkdown,\n allPages,\n baseUrl,\n}: PageContextMenuProps) => {\n const [isOpen, setIsOpen] = useState(false);\n const [isCopied, setIsCopied] = useState(false);\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (isCopied) {\n const timeout = setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n return () => clearTimeout(timeout);\n }\n }, [isCopied]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (\n dropdownRef.current &&\n !dropdownRef.current.contains(event.target as Node)\n ) {\n setIsOpen(false);\n }\n };\n\n if (isOpen) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpen]);\n\n const copyPageAsMarkdown = async () => {\n setIsCopied(true);\n try {\n if (markdownContent) {\n const clipboardItem = new ClipboardItem({\n \"text/plain\": new Blob([markdownContent], { type: \"text/plain\" }),\n });\n await navigator.clipboard.write([clipboardItem]);\n onCopyMarkdown?.();\n } else {\n copyMarkdownToClipboard({\n pathname,\n onSuccess: () => {\n onCopyMarkdown?.();\n },\n });\n }\n } catch (error) {\n console.error(\"Failed to copy markdown:\", error);\n }\n };\n\n const viewAsMarkdown = () => {\n if (onViewMarkdown) {\n onViewMarkdown(pathname);\n } else {\n window.open(`${pathname}.md`, \"_blank\");\n }\n };\n\n const viewLlmsTxtFile = () => {\n window.open(\"/docs/llms.txt\", \"_blank\");\n };\n\n const viewLlmsFullTxtFile = () => {\n window.open(\"/docs/llms-full.txt\", \"_blank\");\n };\n\n const wrapAction = (actionFn: () => void) => {\n return () => {\n setIsOpen(false);\n actionFn();\n };\n };\n\n const options: ContextualOption[] = [\n {\n id: \"copy\",\n title: \"Copy Page\",\n description: \"Copy page as markdown\",\n icon: CopyRegular,\n action: wrapAction(copyPageAsMarkdown),\n },\n {\n id: \"view\",\n title: \"View as Markdown\",\n description: \"View this page as plain text\",\n icon: MarkdownRegular,\n action: wrapAction(viewAsMarkdown),\n },\n ];\n\n if (allPages && baseUrl) {\n options.push({\n id: \"llms\",\n title: \"View llms.txt\",\n description: \"View generated llms.txt file\",\n icon: DocumentOnePageSparkleRegular,\n action: wrapAction(viewLlmsTxtFile),\n });\n options.push({\n id: \"llms-full\",\n title: \"View llms-full.txt\",\n description: \"Generated llms-full.txt file\",\n icon: DocumentOnePageMultipleSparkleRegular,\n action: wrapAction(viewLlmsFullTxtFile),\n });\n }\n\n const firstOption = options[0];\n\n return (\n <div\n className={cn(\n \"mint:flex mint:items-center mint:justify-end mint:shrink-0 mint:w-[160px] mint:font-aptos\",\n className\n )}\n ref={dropdownRef}\n >\n <button\n className={cn(\n \"mint:rounded-full mint:py-1.5 mint:px-3 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]\",\n options.length > 1 &&\n \"mint:rounded-tr-none mint:rounded-br-none mint:border-r-0\",\n isCopied && \"mint:text-[#6b7280] mint:dark:text-[#9ca3af]\"\n )}\n onClick={() => {\n void firstOption.action();\n }}\n >\n <div className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm mint:font-medium mint:text-[#242424] mint:dark:text-[#dbdbdb]\">\n {firstOption.id === \"copy\" ? (\n <>\n <CopyRegular className=\"mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]\" />\n <p className=\"mint:font-medium mint:font-aptos\">{isCopied ? \"Copied\" : \"Copy Page\"}</p>\n </>\n ) : (\n <>\n <firstOption.icon className=\"mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]\" />\n <p className=\"mint:font-medium mint:font-aptos\">{firstOption.title}</p>\n </>\n )}\n </div>\n </button>\n\n {options.length > 1 && (\n <div className=\"mint:relative\">\n <button\n className=\"mint:rounded-none mint:rounded-tr-full mint:rounded-br-full mint:py-1.5 mint:px-2 mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:text-[#374151] mint:dark:text-[#d1d5db] mint:cursor-pointer mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]\"\n onClick={() => setIsOpen(!isOpen)}\n >\n <ChevronDownRegular\n className={cn(\n \"mint:w-4 mint:h-4 mint:transition-transform mint:duration-150\",\n isOpen && \"mint:rotate-180\"\n )}\n />\n </button>\n\n {isOpen && (\n <div className=\"mint:absolute mint:right-0 mint:top-full mint:mt-1 mint:z-50 mint:max-h-[420px] mint:p-1 mint:min-w-[240px] mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:bg-white mint:dark:bg-[#1a1a1a] mint:rounded-2xl mint:shadow-[0_20px_25px_-5px_rgba(0,0,0,0.1),0_10px_10px_-5px_rgba(0,0,0,0.04)] mint:overflow-y-auto\">\n {options.map((option, index) => (\n <button\n key={option.id + index}\n onClick={option.action}\n className=\"mint:w-full mint:flex mint:items-center mint:gap-3 mint:py-2 mint:px-2.5 mint:cursor-pointer mint:rounded-xl mint:transition-colors mint:duration-150 mint:border-none mint:bg-transparent mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:bg-[rgba(229,231,235,0.05)]\"\n >\n <div className=\"mint:border mint:border-[#e5e7eb] mint:dark:border-[rgba(255,255,255,0.07)] mint:rounded-lg mint:p-1 mint:shrink-0\">\n <option.icon className=\"mint:w-5 mint:h-5 mint:text-[#424242] mint:dark:text-[#b2b2b2]\" />\n </div>\n <div className=\"mint:flex mint:flex-col mint:flex-1 mint:min-w-0 mint:text-left\">\n <div className=\"mint:text-sm mint:font-medium mint:text-[#1f2937] mint:dark:text-[#d1d5db] mint:flex mint:items-center mint:gap-1.5\">\n {option.title}\n </div>\n <div className=\"mint:text-xs mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:mt-0.5\">\n {option.description}\n </div>\n </div>\n </button>\n ))}\n </div>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"names":["PageContextMenu","className","pathname","markdownContent","onCopyMarkdown","onViewMarkdown","allPages","baseUrl","isOpen","setIsOpen","useState","isCopied","setIsCopied","dropdownRef","useRef","useEffect","timeout","handleClickOutside","event","copyPageAsMarkdown","clipboardItem","copyMarkdownToClipboard","error","viewAsMarkdown","viewLlmsTxtFile","viewLlmsFullTxtFile","wrapAction","actionFn","options","CopyRegular","MarkdownRegular","DocumentOnePageSparkleRegular","DocumentOnePageMultipleSparkleRegular","firstOption","jsxs","cn","jsx","Fragment","ChevronDownRegular","option","index"],"mappings":"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"}
1
+ {"version":3,"file":"page-context-menu.js","sources":["../../src/components/page-context-menu.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport {\n CopyRegular,\n MarkdownRegular,\n ChatSparkleRegular,\n} from \"@fluentui/react-icons\";\nimport { copyMarkdownToClipboard } from \"../hooks/useMarkdownCopy\";\nimport type { LlmsPageConfig } from \"../utils/generate-llms-txt\";\nimport { cn } from \"../utils/cn\";\n\nexport type ContextualOption = {\n id: string;\n title: string;\n description: string;\n icon: React.ElementType;\n action: () => void;\n};\n\nexport interface PageContextMenuProps {\n className?: string;\n pathname: string;\n markdownContent?: string;\n onCopyMarkdown?: () => void;\n onViewMarkdown?: (pathname: string) => void;\n allPages?: LlmsPageConfig[];\n baseUrl?: string;\n}\n\nexport const PageContextMenu = ({\n className,\n pathname,\n markdownContent,\n onCopyMarkdown,\n onViewMarkdown,\n allPages,\n baseUrl,\n}: PageContextMenuProps) => {\n const [isCopied, setIsCopied] = useState(false);\n\n useEffect(() => {\n if (isCopied) {\n const timeout = setTimeout(() => {\n setIsCopied(false);\n }, 2000);\n return () => clearTimeout(timeout);\n }\n }, [isCopied]);\n\n const copyPageAsMarkdown = async () => {\n setIsCopied(true);\n try {\n if (markdownContent) {\n const clipboardItem = new ClipboardItem({\n \"text/plain\": new Blob([markdownContent], { type: \"text/plain\" }),\n });\n await navigator.clipboard.write([clipboardItem]);\n onCopyMarkdown?.();\n } else {\n copyMarkdownToClipboard({\n pathname,\n onSuccess: () => {\n onCopyMarkdown?.();\n },\n });\n }\n } catch (error) {\n console.error(\"Failed to copy markdown:\", error);\n }\n };\n\n const viewAsMarkdown = () => {\n if (onViewMarkdown) {\n onViewMarkdown(pathname);\n } else {\n window.open(`${pathname}.md`, \"_blank\");\n }\n };\n\n const viewLlmsTxtFile = () => {\n window.open(\"/docs/llms.txt\", \"_blank\");\n };\n\n return (\n <div\n className={cn(\n \"mint:flex mint:items-center mint:gap-3 mint:font-aptos\",\n className\n )}\n >\n <button\n className={cn(\n \"mint:flex mint:items-center mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#b2b2b2] mint:cursor-pointer mint:border-none mint:bg-transparent mint:p-0 mint:transition-colors mint:hover:text-[#141414] mint:dark:hover:text-[#fafafa]\",\n )}\n onClick={copyPageAsMarkdown}\n aria-label={isCopied ? \"Copied\" : \"Copy for LLM\"}\n >\n <CopyRegular className=\"mint:w-5 mint:h-5\" />\n <span className=\"mint:font-medium\">{isCopied ? \"Copied\" : \"Copy for LLM\"}</span>\n </button>\n\n <div className=\"mint:h-5 mint:w-px mint:bg-[#d1d1d1] mint:dark:bg-[#404040]\" />\n\n <button\n className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm mint:text-[#424242] mint:dark:text-[#b2b2b2] mint:cursor-pointer mint:border-none mint:bg-transparent mint:p-0 mint:transition-colors mint:hover:text-[#141414] mint:dark:hover:text-[#fafafa]\"\n onClick={viewAsMarkdown}\n aria-label=\"View as Markdown\"\n >\n <MarkdownRegular className=\"mint:w-5 mint:h-5\" />\n <span className=\"mint:font-medium\">View as Markdown</span>\n </button>\n </div>\n );\n};\n"],"names":["PageContextMenu","className","pathname","markdownContent","onCopyMarkdown","onViewMarkdown","allPages","baseUrl","isCopied","setIsCopied","useState","useEffect","timeout","copyPageAsMarkdown","clipboardItem","copyMarkdownToClipboard","error","viewAsMarkdown","jsxs","cn","jsx","CopyRegular","MarkdownRegular"],"mappings":";;;;;AA4BO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AACF,MAA4B;AAC1B,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAS,EAAK;AAE9C,EAAAC,EAAU,MAAM;AACd,QAAIH,GAAU;AACZ,YAAMI,IAAU,WAAW,MAAM;AAC/B,QAAAH,EAAY,EAAK;AAAA,MACnB,GAAG,GAAI;AACP,aAAO,MAAM,aAAaG,CAAO;AAAA,IACnC;AAAA,EACF,GAAG,CAACJ,CAAQ,CAAC;AAEb,QAAMK,IAAqB,YAAY;AACrC,IAAAJ,EAAY,EAAI;AAChB,QAAI;AACF,UAAIN,GAAiB;AACnB,cAAMW,IAAgB,IAAI,cAAc;AAAA,UACtC,cAAc,IAAI,KAAK,CAACX,CAAe,GAAG,EAAE,MAAM,aAAA,CAAc;AAAA,QAAA,CACjE;AACD,cAAM,UAAU,UAAU,MAAM,CAACW,CAAa,CAAC,GAC/CV,KAAA,QAAAA;AAAA,MACF;AACE,QAAAW,EAAwB;AAAA,UACtB,UAAAb;AAAA,UACA,WAAW,MAAM;AACf,YAAAE,KAAA,QAAAA;AAAA,UACF;AAAA,QAAA,CACD;AAAA,IAEL,SAASY,GAAO;AACd,cAAQ,MAAM,4BAA4BA,CAAK;AAAA,IACjD;AAAA,EACF,GAEMC,IAAiB,MAAM;AAC3B,IAAIZ,IACFA,EAAeH,CAAQ,IAEvB,OAAO,KAAK,GAAGA,CAAQ,OAAO,QAAQ;AAAA,EAE1C;AAMA,SACE,gBAAAgB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAlB;AAAA,MAAA;AAAA,MAGF,UAAA;AAAA,QAAA,gBAAAiB;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,YAAA;AAAA,YAEF,SAASN;AAAA,YACT,cAAYL,IAAW,WAAW;AAAA,YAElC,UAAA;AAAA,cAAA,gBAAAY,EAACC,GAAA,EAAY,WAAU,oBAAA,CAAoB;AAAA,gCAC1C,QAAA,EAAK,WAAU,oBAAoB,UAAAb,IAAW,WAAW,eAAA,CAAe;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAG3E,gBAAAY,EAAC,OAAA,EAAI,WAAU,8DAAA,CAA8D;AAAA,QAE7E,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,SAASD;AAAA,YACT,cAAW;AAAA,YAEX,UAAA;AAAA,cAAA,gBAAAG,EAACE,GAAA,EAAgB,WAAU,oBAAA,CAAoB;AAAA,cAC/C,gBAAAF,EAAC,QAAA,EAAK,WAAU,oBAAmB,UAAA,mBAAA,CAAgB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACrD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
package/dist/index.d.ts CHANGED
@@ -658,7 +658,7 @@ export declare interface NavItem {
658
658
  method?: string;
659
659
  }
660
660
 
661
- export declare function NavTree({ navTree, activeId, className, activeHref, theme, bottomLinks, anchors, }: NavTreeProps): JSX_2.Element | null;
661
+ export declare function NavTree({ navTree, activeId, className, activeHref, theme, bottomLinks, anchors, styling, }: NavTreeProps): JSX_2.Element | null;
662
662
 
663
663
  export declare interface NavTreeData {
664
664
  items: NavItem[];
@@ -672,6 +672,9 @@ declare interface NavTreeProps {
672
672
  theme?: 'light' | 'dark' | 'system';
673
673
  bottomLinks?: BottomLinkConfig[];
674
674
  anchors?: AnchorConfig[];
675
+ styling?: {
676
+ navTreeContentClassName?: string;
677
+ };
675
678
  }
676
679
 
677
680
  export declare const OperationPage: ({ apiReferenceData, operation, children, }: {