@mintlify/msft-sdk 1.1.0 → 1.1.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 (91) hide show
  1. package/dist/components/content-components/callouts.js +35 -20
  2. package/dist/components/content-components/callouts.js.map +1 -1
  3. package/dist/components/content-components/code-block.js +87 -60
  4. package/dist/components/content-components/code-block.js.map +1 -1
  5. package/dist/components/content-components/default-components.js +52 -33
  6. package/dist/components/content-components/default-components.js.map +1 -1
  7. package/dist/components/content-components/details/details.js +28 -25
  8. package/dist/components/content-components/details/details.js.map +1 -1
  9. package/dist/components/content-components/heading.js +6 -1
  10. package/dist/components/content-components/heading.js.map +1 -1
  11. package/dist/components/content-components/home.js +256 -163
  12. package/dist/components/content-components/home.js.map +1 -1
  13. package/dist/components/content-components/link.js +7 -7
  14. package/dist/components/content-components/link.js.map +1 -1
  15. package/dist/components/content-components/param-name.js +4 -5
  16. package/dist/components/content-components/param-name.js.map +1 -1
  17. package/dist/components/content-components/table/index.js +101 -67
  18. package/dist/components/content-components/table/index.js.map +1 -1
  19. package/dist/components/content-components/table/table-modal.js +31 -32
  20. package/dist/components/content-components/table/table-modal.js.map +1 -1
  21. package/dist/components/content-components/tabs/tabs.js +51 -46
  22. package/dist/components/content-components/tabs/tabs.js.map +1 -1
  23. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +39 -36
  24. package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -1
  25. package/dist/components/mdx-renderer.js +16 -8
  26. package/dist/components/mdx-renderer.js.map +1 -1
  27. package/dist/components/nav-tree/dropdown-menu.js +40 -33
  28. package/dist/components/nav-tree/dropdown-menu.js.map +1 -1
  29. package/dist/components/nav-tree/index.js +122 -93
  30. package/dist/components/nav-tree/index.js.map +1 -1
  31. package/dist/components/nav-tree/mobile-nav.js +60 -41
  32. package/dist/components/nav-tree/mobile-nav.js.map +1 -1
  33. package/dist/components/page-context-menu.js +107 -90
  34. package/dist/components/page-context-menu.js.map +1 -1
  35. package/dist/components/page.js +108 -86
  36. package/dist/components/page.js.map +1 -1
  37. package/dist/components/plain-text-page.js +3 -4
  38. package/dist/components/plain-text-page.js.map +1 -1
  39. package/dist/components/toc/index.js +45 -42
  40. package/dist/components/toc/index.js.map +1 -1
  41. package/dist/context/components-context.js +17 -0
  42. package/dist/context/components-context.js.map +1 -0
  43. package/dist/index.d.ts +34 -5
  44. package/dist/index.js +109 -103
  45. package/dist/index.js.map +1 -1
  46. package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js +2732 -0
  47. package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  48. package/dist/styles.css +1 -1
  49. package/dist/utils/cn.js +9 -0
  50. package/dist/utils/cn.js.map +1 -0
  51. package/package.json +5 -1
  52. package/dist/components/content-components/callouts.module.css.js +0 -26
  53. package/dist/components/content-components/callouts.module.css.js.map +0 -1
  54. package/dist/components/content-components/code-block.module.css.js +0 -32
  55. package/dist/components/content-components/code-block.module.css.js.map +0 -1
  56. package/dist/components/content-components/default-components.module.css.js +0 -12
  57. package/dist/components/content-components/default-components.module.css.js.map +0 -1
  58. package/dist/components/content-components/details/details.module.css.js +0 -20
  59. package/dist/components/content-components/details/details.module.css.js.map +0 -1
  60. package/dist/components/content-components/home.module.css.js +0 -74
  61. package/dist/components/content-components/home.module.css.js.map +0 -1
  62. package/dist/components/content-components/link.module.css.js +0 -10
  63. package/dist/components/content-components/link.module.css.js.map +0 -1
  64. package/dist/components/content-components/param-name.module.css.js +0 -8
  65. package/dist/components/content-components/param-name.module.css.js.map +0 -1
  66. package/dist/components/content-components/table/table-modal.module.css.js +0 -18
  67. package/dist/components/content-components/table/table-modal.module.css.js.map +0 -1
  68. package/dist/components/content-components/table/table.module.css.js +0 -30
  69. package/dist/components/content-components/table/table.module.css.js.map +0 -1
  70. package/dist/components/content-components/tabs/tabs.module.css.js +0 -24
  71. package/dist/components/content-components/tabs/tabs.module.css.js.map +0 -1
  72. package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js +0 -14
  73. package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js.map +0 -1
  74. package/dist/components/mdx-renderer.module.css.js +0 -8
  75. package/dist/components/mdx-renderer.module.css.js.map +0 -1
  76. package/dist/components/nav-tree/dropdown-menu.module.css.js +0 -52
  77. package/dist/components/nav-tree/dropdown-menu.module.css.js.map +0 -1
  78. package/dist/components/nav-tree/mobile-nav.module.css.js +0 -22
  79. package/dist/components/nav-tree/mobile-nav.module.css.js.map +0 -1
  80. package/dist/components/nav-tree/nav-tree.module.css.js +0 -50
  81. package/dist/components/nav-tree/nav-tree.module.css.js.map +0 -1
  82. package/dist/components/page-context-menu.module.css.js +0 -42
  83. package/dist/components/page-context-menu.module.css.js.map +0 -1
  84. package/dist/components/page.module.css.js +0 -52
  85. package/dist/components/page.module.css.js.map +0 -1
  86. package/dist/components/plain-text-page.module.css.js +0 -10
  87. package/dist/components/plain-text-page.module.css.js.map +0 -1
  88. package/dist/components/prose.module.css.js +0 -8
  89. package/dist/components/prose.module.css.js.map +0 -1
  90. package/dist/components/toc/toc.module.css.js +0 -18
  91. package/dist/components/toc/toc.module.css.js.map +0 -1
@@ -1,20 +1,21 @@
1
- import { jsxs as l, jsx as r } from "react/jsx-runtime";
2
- import { useState as f } from "react";
3
- import { DropdownMenu as g } from "./dropdown-menu.js";
4
- import e from "./nav-tree.module.css.js";
1
+ import { jsxs as i, jsx as n } from "react/jsx-runtime";
2
+ import { useState as k } from "react";
3
+ import { useComponents as g } from "../../context/components-context.js";
4
+ import { DropdownMenu as C } from "./dropdown-menu.js";
5
+ import { cn as p } from "../../utils/cn.js";
5
6
  /* empty css */
6
- function N() {
7
- return /* @__PURE__ */ l("div", { className: e.externalIcon, children: [
8
- /* @__PURE__ */ r(
7
+ function v() {
8
+ return /* @__PURE__ */ i("div", { className: "mint:ml-auto", children: [
9
+ /* @__PURE__ */ n(
9
10
  "svg",
10
11
  {
11
- className: e.externalIconLight,
12
+ className: "mint:block mint:dark:hidden",
12
13
  width: "12",
13
14
  height: "12",
14
15
  viewBox: "0 0 12 12",
15
16
  fill: "none",
16
17
  xmlns: "http://www.w3.org/2000/svg",
17
- children: /* @__PURE__ */ r(
18
+ children: /* @__PURE__ */ n(
18
19
  "path",
19
20
  {
20
21
  d: "M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z",
@@ -23,16 +24,16 @@ function N() {
23
24
  )
24
25
  }
25
26
  ),
26
- /* @__PURE__ */ r(
27
+ /* @__PURE__ */ n(
27
28
  "svg",
28
29
  {
29
- className: e.externalIconDark,
30
+ className: "mint:hidden mint:dark:block",
30
31
  width: "12",
31
32
  height: "12",
32
33
  viewBox: "0 0 12 12",
33
34
  fill: "none",
34
35
  xmlns: "http://www.w3.org/2000/svg",
35
- children: /* @__PURE__ */ r(
36
+ children: /* @__PURE__ */ n(
36
37
  "path",
37
38
  {
38
39
  d: "M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z",
@@ -43,41 +44,44 @@ function N() {
43
44
  )
44
45
  ] });
45
46
  }
46
- function u({ item: n, activeId: c, level: s = 0 }) {
47
- const p = s === 0 ? !0 : n.expanded ?? !1, [t, m] = f(p), a = n.children && n.children.length > 0, o = a && !n.href, d = n.href && c === n.href, C = n.icon;
48
- return o && s === 0 ? /* @__PURE__ */ l("div", { className: e.group, role: "group", "aria-label": n.toc_title, children: [
49
- /* @__PURE__ */ l("div", { className: e.groupHeader, children: [
50
- C && /* @__PURE__ */ r(C, { className: e.groupIcon, "aria-hidden": "true" }),
51
- /* @__PURE__ */ r("span", { children: n.toc_title })
47
+ function b({ item: t, activeId: a, level: r = 0 }) {
48
+ const h = r === 0 ? !0 : t.expanded ?? !1, [m, u] = k(h), { LinkComponent: c } = g(), o = t.children && t.children.length > 0, f = o && !t.href, e = t.href && a === t.href, s = t.icon;
49
+ return f && r === 0 ? /* @__PURE__ */ i("div", { className: "mint:mb-6", role: "group", "aria-label": t.toc_title, children: [
50
+ /* @__PURE__ */ i("div", { className: "mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-3", children: [
51
+ s && /* @__PURE__ */ n(s, { className: "mint:w-5 mint:h-5", "aria-hidden": "true" }),
52
+ /* @__PURE__ */ n("span", { children: t.toc_title })
52
53
  ] }),
53
- a && n.children && /* @__PURE__ */ r("ul", { className: e.list, role: "list", children: n.children.map((i, h) => /* @__PURE__ */ r(
54
- u,
54
+ o && t.children && /* @__PURE__ */ n("ul", { className: "mint:flex mint:flex-col mint:gap-1", role: "list", children: t.children.map((l, d) => /* @__PURE__ */ n(
55
+ b,
55
56
  {
56
- item: i,
57
- activeId: c,
58
- level: s + 1
57
+ item: l,
58
+ activeId: a,
59
+ level: r + 1
59
60
  },
60
- `${i.href}-${h}`
61
+ `${l.href}-${d}`
61
62
  )) })
62
- ] }) : o && s > 0 ? /* @__PURE__ */ l("li", { className: e.listItem, children: [
63
- /* @__PURE__ */ l(
63
+ ] }) : f && r > 0 ? /* @__PURE__ */ i("li", { className: "mint:list-none", children: [
64
+ /* @__PURE__ */ i(
64
65
  "button",
65
66
  {
66
- onClick: () => m(!t),
67
- "aria-expanded": t,
68
- "aria-label": `${t ? "Collapse" : "Expand"} ${n.toc_title} section`,
69
- className: e.expandButton,
67
+ onClick: () => u(!m),
68
+ "aria-expanded": m,
69
+ "aria-label": `${m ? "Collapse" : "Expand"} ${t.toc_title} section`,
70
+ className: "mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:transition-all mint:duration-150 mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
70
71
  children: [
71
- /* @__PURE__ */ r("span", { children: n.toc_title }),
72
- /* @__PURE__ */ r(
72
+ /* @__PURE__ */ n("span", { children: t.toc_title }),
73
+ /* @__PURE__ */ n(
73
74
  "svg",
74
75
  {
75
- className: `${e.chevron} ${t ? e.chevronExpanded : e.chevronCollapsed}`,
76
+ className: p(
77
+ "mint:w-4 mint:h-4 mint:transition-transform mint:duration-150 mint:text-[#6b7280] mint:dark:text-[#9ca3af]",
78
+ m ? "mint:rotate-90" : "mint:rotate-0"
79
+ ),
76
80
  fill: "none",
77
81
  stroke: "currentColor",
78
82
  viewBox: "0 0 24 24",
79
83
  "aria-hidden": "true",
80
- children: /* @__PURE__ */ r(
84
+ children: /* @__PURE__ */ n(
81
85
  "path",
82
86
  {
83
87
  strokeLinecap: "round",
@@ -91,96 +95,121 @@ function u({ item: n, activeId: c, level: s = 0 }) {
91
95
  ]
92
96
  }
93
97
  ),
94
- a && t && n.children && /* @__PURE__ */ r("ul", { className: e.nestedList, role: "group", children: n.children.map((i, h) => /* @__PURE__ */ r(
95
- u,
98
+ o && m && t.children && /* @__PURE__ */ n(
99
+ "ul",
96
100
  {
97
- item: i,
98
- activeId: c,
99
- level: s + 1
100
- },
101
- `${i.href}-${h}`
102
- )) })
103
- ] }) : /* @__PURE__ */ l("li", { className: e.listItem, children: [
104
- /* @__PURE__ */ r(
105
- "a",
101
+ className: "mint:mt-1 mint:ml-3 mint:flex mint:flex-col mint:gap-1 mint:pl-3",
102
+ role: "group",
103
+ children: t.children.map((l, d) => /* @__PURE__ */ n(
104
+ b,
105
+ {
106
+ item: l,
107
+ activeId: a,
108
+ level: r + 1
109
+ },
110
+ `${l.href}-${d}`
111
+ ))
112
+ }
113
+ )
114
+ ] }) : /* @__PURE__ */ i("li", { className: "mint:list-none", children: [
115
+ /* @__PURE__ */ n(
116
+ c || "a",
106
117
  {
107
- href: n.href,
108
- "aria-current": d ? "page" : void 0,
109
- className: `${e.link} ${d ? e.linkActive : ""}`,
110
- children: n.toc_title
118
+ href: t.href,
119
+ "aria-current": e ? "page" : void 0,
120
+ className: p(
121
+ "mint:relative mint:block mint:py-2 mint:px-3 mint:text-sm mint:rounded-xl mint:transition-all mint:duration-150 mint:no-underline mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
122
+ e && "mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#643fb2] mint:dark:text-[#c9aaf9] mint:font-medium"
123
+ ),
124
+ children: t.toc_title
111
125
  }
112
126
  ),
113
- a && t && n.children && /* @__PURE__ */ r("ul", { className: e.nestedList, role: "group", children: n.children.map((i, h) => /* @__PURE__ */ r(
114
- u,
127
+ o && m && t.children && /* @__PURE__ */ n(
128
+ "ul",
115
129
  {
116
- item: i,
117
- activeId: c,
118
- level: s + 1
119
- },
120
- `${i.href}-${h}`
121
- )) })
130
+ className: "mint:mt-1 mint:ml-3 mint:flex mint:flex-col mint:gap-1 mint:pl-3",
131
+ role: "group",
132
+ children: t.children.map((l, d) => /* @__PURE__ */ n(
133
+ b,
134
+ {
135
+ item: l,
136
+ activeId: a,
137
+ level: r + 1
138
+ },
139
+ `${l.href}-${d}`
140
+ ))
141
+ }
142
+ )
122
143
  ] });
123
144
  }
124
- function V({
125
- navTree: n,
126
- activeId: c,
127
- className: s = "",
128
- dropdown: p,
129
- activeHref: t,
130
- theme: m,
131
- bottomLinks: a
145
+ function E({
146
+ navTree: t,
147
+ activeId: a,
148
+ className: r = "",
149
+ dropdown: h,
150
+ activeHref: m,
151
+ theme: u,
152
+ bottomLinks: c
132
153
  }) {
133
- return !n || n.items.length === 0 ? null : (console.log("bottomLinks", a), /* @__PURE__ */ l(
154
+ const { LinkComponent: o } = g();
155
+ if (!t || t.items.length === 0)
156
+ return null;
157
+ const f = o || "a";
158
+ return /* @__PURE__ */ i(
134
159
  "nav",
135
160
  {
136
- className: `${e.nav} ${s} ${m === "dark" ? "dark" : ""}`,
161
+ className: p(
162
+ "mint:flex mint:flex-col mint:gap-2 mint:h-full mint:min-h-0",
163
+ r,
164
+ u === "dark" && "dark"
165
+ ),
137
166
  "aria-label": "Documentation navigation",
138
167
  children: [
139
- /* @__PURE__ */ l("div", { className: e.navContent, children: [
140
- p && /* @__PURE__ */ r(
141
- g,
168
+ /* @__PURE__ */ i("div", { className: "mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 [scrollbar-gutter:stable] mint:pr-4 [scrollbar-width:thin] [scrollbar-color:rgba(0,0,0,0.2)_transparent] dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30", children: [
169
+ h && /* @__PURE__ */ n(
170
+ C,
142
171
  {
143
- dropdown: p,
144
- activeHref: t,
145
- className: e.group
172
+ dropdown: h,
173
+ activeHref: m,
174
+ className: "mint:mb-6"
146
175
  }
147
176
  ),
148
- n.items.map((o, d) => /* @__PURE__ */ r(
149
- u,
177
+ t.items.map((e, s) => /* @__PURE__ */ n(
178
+ b,
150
179
  {
151
- item: o,
152
- activeId: c
180
+ item: e,
181
+ activeId: a
153
182
  },
154
- `${o.href}-${d}`
183
+ `${e.href}-${s}`
155
184
  ))
156
185
  ] }),
157
- a && a.length > 0 && /* @__PURE__ */ l("div", { className: e.bottomSection, children: [
158
- /* @__PURE__ */ r("div", { className: e.divider }),
159
- /* @__PURE__ */ r("div", { className: e.bottomLinks, children: a.map((o, d) => {
160
- const C = o.icon;
161
- return /* @__PURE__ */ l(
162
- "a",
186
+ c && c.length > 0 && /* @__PURE__ */ i("div", { className: "mint:flex-shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto", children: [
187
+ /* @__PURE__ */ n("div", { className: "mint:h-px mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666] mint:mb-3" }),
188
+ /* @__PURE__ */ n("div", { className: "mint:flex mint:flex-col mint:gap-3 mint:p-3", children: c.map((e, s) => {
189
+ const x = e.icon;
190
+ return /* @__PURE__ */ i(
191
+ f,
163
192
  {
164
- href: o.href,
193
+ href: e.href,
165
194
  target: "_blank",
166
195
  rel: "noopener noreferrer",
167
- className: e.bottomLink,
196
+ className: "mint:flex mint:items-center mint:gap-2 mint:text-sm mint:no-underline mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]",
168
197
  children: [
169
- /* @__PURE__ */ r(C, { className: e.bottomLinkIcon }),
170
- /* @__PURE__ */ r("span", { children: o.label }),
171
- /* @__PURE__ */ r(N, {})
198
+ /* @__PURE__ */ n(x, { className: "mint:w-5 mint:h-5 mint:flex-shrink-0" }),
199
+ /* @__PURE__ */ n("span", { children: e.label }),
200
+ /* @__PURE__ */ n(v, {})
172
201
  ]
173
202
  },
174
- d
203
+ s
175
204
  );
176
205
  }) })
177
206
  ] })
178
207
  ]
179
208
  }
180
- ));
209
+ );
181
210
  }
182
211
  export {
183
- g as DropdownMenu,
184
- V as NavTree
212
+ C as DropdownMenu,
213
+ E as NavTree
185
214
  };
186
215
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport type { NavItem, NavTreeData } from \"../../types\";\nimport { DropdownConfig, DropdownMenu } from \"./dropdown-menu\";\nimport styles from \"./nav-tree.module.css\";\nexport { DropdownMenu } from \"./dropdown-menu\";\nexport type { DropdownConfig, DropdownItem } from \"./dropdown-menu\";\nexport { MobileNavTree } from \"./mobile-nav\";\nexport type { MobileNavTreeProps } from \"./mobile-nav\";\nimport \"../../styles.css\";\n\nexport interface BottomLinkConfig {\n href: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n dropdown?: DropdownConfig;\n activeHref?: string;\n theme?: \"light\" | \"dark\" | \"system\";\n bottomLinks?: BottomLinkConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n}\n\nfunction ExternalIcon() {\n return (\n <div className={styles.externalIcon}>\n <svg\n className={styles.externalIconLight}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z\"\n fill=\"#707070\"\n />\n </svg>\n <svg\n className={styles.externalIconDark}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z\"\n fill=\"#999999\"\n />\n </svg>\n </div>\n );\n}\n\nfunction TreeItemComponent({ item, activeId, level = 0 }: TreeItemProps) {\n const defaultExpanded = level === 0 ? true : item.expanded ?? false;\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\n const hasChildren = item.children && item.children.length > 0;\n const isGroup = hasChildren && !item.href;\n const isActive = item.href && activeId === item.href;\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div className={styles.group} role=\"group\" aria-label={item.toc_title}>\n <div className={styles.groupHeader}>\n {Icon && <Icon className={styles.groupIcon} aria-hidden=\"true\" />}\n <span>{item.toc_title}</span>\n </div>\n {hasChildren && item.children && (\n <ul className={styles.list} role=\"list\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n />\n ))}\n </ul>\n )}\n </div>\n );\n }\n\n if (isGroup && level > 0) {\n return (\n <li className={styles.listItem}>\n <button\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? \"Collapse\" : \"Expand\"} ${\n item.toc_title\n } section`}\n className={styles.expandButton}\n >\n <span>{item.toc_title}</span>\n <svg\n className={`${styles.chevron} ${\n isExpanded ? styles.chevronExpanded : styles.chevronCollapsed\n }`}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n </button>\n {hasChildren && isExpanded && item.children && (\n <ul className={styles.nestedList} role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n return (\n <li className={styles.listItem}>\n <a\n href={item.href}\n aria-current={isActive ? \"page\" : undefined}\n className={`${styles.link} ${isActive ? styles.linkActive : \"\"}`}\n >\n {item.toc_title}\n </a>\n {hasChildren && isExpanded && item.children && (\n <ul className={styles.nestedList} role=\"group\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n />\n ))}\n </ul>\n )}\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = \"\",\n dropdown,\n activeHref,\n theme,\n bottomLinks,\n}: NavTreeProps) {\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n console.log(\"bottomLinks\", bottomLinks);\n\n return (\n <nav\n className={`${styles.nav} ${className} ${theme === \"dark\" ? \"dark\" : \"\"}`}\n aria-label=\"Documentation navigation\"\n >\n <div className={styles.navContent}>\n {dropdown && (\n <DropdownMenu\n dropdown={dropdown}\n activeHref={activeHref}\n className={styles.group}\n />\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div className={styles.bottomSection}>\n <div className={styles.divider}></div>\n <div className={styles.bottomLinks}>\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n return (\n <a\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={styles.bottomLink}\n >\n <Icon className={styles.bottomLinkIcon} />\n <span>{link.label}</span>\n <ExternalIcon />\n </a>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ExternalIcon","jsxs","styles","jsx","TreeItemComponent","item","activeId","level","defaultExpanded","isExpanded","setIsExpanded","useState","hasChildren","isGroup","isActive","Icon","child","index","NavTree","navTree","className","dropdown","activeHref","theme","bottomLinks","DropdownMenu","link"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/nav-tree/index.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport type { NavItem, NavTreeData } from \"../../types\";\nimport { useComponents } from \"../../context/components-context\";\nimport { DropdownConfig, DropdownMenu } from \"./dropdown-menu\";\nimport { cn } from \"../../utils/cn\";\nexport { DropdownMenu } from \"./dropdown-menu\";\nexport type { DropdownConfig, DropdownItem } from \"./dropdown-menu\";\nexport { MobileNavTree } from \"./mobile-nav\";\nexport type { MobileNavTreeProps } from \"./mobile-nav\";\nimport \"../../styles.css\";\n\nexport interface BottomLinkConfig {\n href: string;\n label: string;\n icon: React.ComponentType<{ className?: string }>;\n}\n\ninterface NavTreeProps {\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n dropdown?: DropdownConfig;\n activeHref?: string;\n theme?: \"light\" | \"dark\" | \"system\";\n bottomLinks?: BottomLinkConfig[];\n}\n\ninterface TreeItemProps {\n item: NavItem;\n activeId?: string;\n level?: number;\n}\n\nfunction ExternalIcon() {\n return (\n <div className=\"mint:ml-auto\">\n <svg\n className=\"mint:block mint:dark:hidden\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z\"\n fill=\"#707070\"\n />\n </svg>\n <svg\n className=\"mint:hidden mint:dark:block\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M2.49999 1C1.67157 1 0.999995 1.67157 0.999995 2.5V9.5C0.999995 10.3284 1.67157 11 2.49999 11H9.49996C10.3284 11 10.9999 10.3284 10.9999 9.5V7.26923C10.9999 6.99309 11.2238 6.76923 11.4999 6.76923C11.7761 6.76923 11.9999 6.99309 11.9999 7.26923V9.5C11.9999 10.8807 10.8807 12 9.49996 12H2.49999C1.11928 12 0 10.8807 0 9.5V2.5C0 1.11929 1.11928 0 2.49999 0H4.73075C5.00689 0 5.23074 0.223858 5.23074 0.5C5.23074 0.776142 5.00689 1 4.73075 1H2.49999ZM6.76926 0.5C6.76926 0.223858 6.99311 0 7.26925 0H11.5C11.7761 0 12 0.223858 12 0.5V4.73077C12 5.00691 11.7761 5.23077 11.5 5.23077C11.2239 5.23077 11 5.00691 11 4.73077V1.70711L7.6228 5.08433C7.42754 5.27959 7.11096 5.27959 6.9157 5.08433C6.72044 4.88906 6.72044 4.57248 6.9157 4.37722L10.2929 1H7.26925C6.99311 1 6.76926 0.776142 6.76926 0.5Z\"\n fill=\"#999999\"\n />\n </svg>\n </div>\n );\n}\n\nfunction TreeItemComponent({ item, activeId, level = 0 }: TreeItemProps) {\n const defaultExpanded = level === 0 ? true : item.expanded ?? false;\n const [isExpanded, setIsExpanded] = useState(defaultExpanded);\n const { LinkComponent } = useComponents();\n const hasChildren = item.children && item.children.length > 0;\n const isGroup = hasChildren && !item.href;\n const isActive = item.href && activeId === item.href;\n const Icon = item.icon;\n\n if (isGroup && level === 0) {\n return (\n <div className=\"mint:mb-6\" role=\"group\" aria-label={item.toc_title}>\n <div className=\"mint:text-sm mint:font-semibold mint:text-[#141414] mint:dark:text-white mint:mb-3 mint:flex mint:items-start mint:gap-2 mint:pl-3\">\n {Icon && <Icon className=\"mint:w-5 mint:h-5\" aria-hidden=\"true\" />}\n <span>{item.toc_title}</span>\n </div>\n {hasChildren && item.children && (\n <ul className=\"mint:flex mint:flex-col mint:gap-1\" role=\"list\">\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n />\n ))}\n </ul>\n )}\n </div>\n );\n }\n\n if (isGroup && level > 0) {\n return (\n <li className=\"mint:list-none\">\n <button\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? \"Collapse\" : \"Expand\"} ${\n item.toc_title\n } section`}\n className=\"mint:relative mint:text-left mint:w-full mint:flex mint:items-center mint:justify-between mint:py-2 mint:px-3 mint:text-sm mint:rounded-lg mint:transition-all mint:duration-150 mint:bg-transparent mint:border-none mint:cursor-pointer mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\"\n >\n <span>{item.toc_title}</span>\n <svg\n className={cn(\n \"mint:w-4 mint:h-4 mint:transition-transform mint:duration-150 mint:text-[#6b7280] mint:dark:text-[#9ca3af]\",\n isExpanded ? \"mint:rotate-90\" : \"mint:rotate-0\"\n )}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M9 5l7 7-7 7\"\n />\n </svg>\n </button>\n {hasChildren && isExpanded && item.children && (\n <ul\n className=\"mint:mt-1 mint:ml-3 mint:flex mint:flex-col mint:gap-1 mint:pl-3\"\n role=\"group\"\n >\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n />\n ))}\n </ul>\n )}\n </li>\n );\n }\n\n const LinkElement = LinkComponent || \"a\";\n\n return (\n <li className=\"mint:list-none\">\n <LinkElement\n href={item.href}\n aria-current={isActive ? \"page\" : undefined}\n className={cn(\n \"mint:relative mint:block mint:py-2 mint:px-3 mint:text-sm mint:rounded-xl mint:transition-all mint:duration-150 mint:no-underline mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#141414] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:text-[#e5e7eb] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\",\n isActive &&\n \"mint:bg-[#e6e6e6] mint:dark:bg-[#2e2e2e] mint:text-[#643fb2] mint:dark:text-[#c9aaf9] mint:font-medium\"\n )}\n >\n {item.toc_title}\n </LinkElement>\n {hasChildren && isExpanded && item.children && (\n <ul\n className=\"mint:mt-1 mint:ml-3 mint:flex mint:flex-col mint:gap-1 mint:pl-3\"\n role=\"group\"\n >\n {item.children.map((child, index) => (\n <TreeItemComponent\n key={`${child.href}-${index}`}\n item={child}\n activeId={activeId}\n level={level + 1}\n />\n ))}\n </ul>\n )}\n </li>\n );\n}\n\nexport function NavTree({\n navTree,\n activeId,\n className = \"\",\n dropdown,\n activeHref,\n theme,\n bottomLinks,\n}: NavTreeProps) {\n const { LinkComponent } = useComponents();\n\n if (!navTree || navTree.items.length === 0) {\n return null;\n }\n\n const LinkElement = LinkComponent || \"a\";\n\n return (\n <nav\n className={cn(\n \"mint:flex mint:flex-col mint:gap-2 mint:h-full mint:min-h-0\",\n className,\n theme === \"dark\" && \"dark\"\n )}\n aria-label=\"Documentation navigation\"\n >\n <div className=\"mint:flex-1 mint:overflow-y-auto mint:overflow-x-hidden mint:min-h-0 [scrollbar-gutter:stable] mint:pr-4 [scrollbar-width:thin] [scrollbar-color:rgba(0,0,0,0.2)_transparent] dark:[scrollbar-color:rgba(255,255,255,0.2)_transparent] mint:[&::-webkit-scrollbar]:w-1 mint:[&::-webkit-scrollbar-track]:bg-transparent mint:[&::-webkit-scrollbar-thumb]:bg-black/20 mint:dark:[&::-webkit-scrollbar-thumb]:bg-white/20 mint:[&::-webkit-scrollbar-thumb]:rounded mint:[&::-webkit-scrollbar-thumb:hover]:bg-black/30 mint:dark:[&::-webkit-scrollbar-thumb:hover]:bg-white/30\">\n {dropdown && (\n <DropdownMenu\n dropdown={dropdown}\n activeHref={activeHref}\n className=\"mint:mb-6\"\n />\n )}\n {navTree.items.map((item, index) => (\n <TreeItemComponent\n key={`${item.href}-${index}`}\n item={item}\n activeId={activeId}\n />\n ))}\n </div>\n {bottomLinks && bottomLinks.length > 0 && (\n <div className=\"mint:flex-shrink-0 mint:w-full mint:bg-[#f0f0f0] mint:dark:bg-[#0f0f0f] mint:mt-auto\">\n <div className=\"mint:h-px mint:w-full mint:bg-[#d1d1d1] mint:dark:bg-[#666666] mint:mb-3\"></div>\n <div className=\"mint:flex mint:flex-col mint:gap-3 mint:p-3\">\n {bottomLinks.map((link, index) => {\n const Icon = link.icon;\n return (\n <LinkElement\n key={index}\n href={link.href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mint:flex mint:items-center mint:gap-2 mint:text-sm mint:no-underline mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:hover:text-[#141414] mint:dark:hover:text-[#e5e7eb]\"\n >\n <Icon className=\"mint:w-5 mint:h-5 mint:flex-shrink-0\" />\n <span>{link.label}</span>\n <ExternalIcon />\n </LinkElement>\n );\n })}\n </div>\n </div>\n )}\n </nav>\n );\n}\n"],"names":["ExternalIcon","jsxs","jsx","TreeItemComponent","item","activeId","level","defaultExpanded","isExpanded","setIsExpanded","useState","LinkComponent","useComponents","hasChildren","isGroup","isActive","Icon","child","index","cn","NavTree","navTree","className","dropdown","activeHref","theme","bottomLinks","LinkElement","DropdownMenu","link"],"mappings":"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"}
@@ -1,62 +1,81 @@
1
- import { jsxs as r, jsx as a } from "react/jsx-runtime";
2
- import { Dialog as p, DialogBackdrop as u, DialogPanel as N } from "@headlessui/react";
3
- import { NavTree as f } from "./index.js";
4
- import { Dismiss16Regular as g } from "@fluentui/react-icons";
5
- import o from "./mobile-nav.module.css.js";
1
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
+ import { Dialog as f, DialogBackdrop as p, DialogPanel as u } from "@headlessui/react";
3
+ import { NavTree as b } from "./index.js";
4
+ import { Dismiss16Regular as x } from "@fluentui/react-icons";
5
+ import { ComponentsProvider as h } from "../../context/components-context.js";
6
+ import { cn as k } from "../../utils/cn.js";
6
7
  /* empty css */
7
- function y({
8
- isOpen: e,
9
- setIsOpen: l,
10
- navTree: n,
11
- activeId: i,
12
- className: t = "",
13
- theme: s,
14
- dropdown: c,
15
- activeHref: m,
16
- bottomLinks: d
8
+ function B({
9
+ isOpen: i,
10
+ setIsOpen: m,
11
+ navTree: o,
12
+ activeId: r,
13
+ className: a = "",
14
+ theme: e,
15
+ dropdown: l,
16
+ activeHref: s,
17
+ bottomLinks: d,
18
+ LinkComponent: c
17
19
  }) {
18
- return /* @__PURE__ */ r(
19
- p,
20
+ return /* @__PURE__ */ t(h, { LinkComponent: c, children: /* @__PURE__ */ n(
21
+ f,
20
22
  {
21
- open: e,
22
- onClose: () => l(!1),
23
- className: `${o.dialog} ${s === "dark" ? "dark" : ""}`,
23
+ open: i,
24
+ onClose: () => m(!1),
25
+ className: k(
26
+ "mint:fixed mint:inset-0 mint:overflow-y-auto mint:z-50 mint:lg:hidden",
27
+ e === "dark" && "dark"
28
+ ),
24
29
  children: [
25
- /* @__PURE__ */ a(u, { transition: !0, className: o.backdrop }),
26
- /* @__PURE__ */ r("div", { className: o.container, children: [
27
- e && /* @__PURE__ */ a(v, { setIsOpen: l }),
28
- /* @__PURE__ */ a(N, { id: "mobile-nav", transition: !0, className: o.panel, children: /* @__PURE__ */ a("div", { className: o.content, children: /* @__PURE__ */ a(
29
- f,
30
+ /* @__PURE__ */ t(
31
+ p,
32
+ {
33
+ transition: !0,
34
+ className: "mint:fixed mint:inset-0 mint:bg-black/20 mint:dark:bg-black/80 mint:backdrop-blur mint:transition-opacity mint:duration-300 mint:ease-out mint:data-[closed]:opacity-0"
35
+ }
36
+ ),
37
+ /* @__PURE__ */ n("div", { className: "mint:fixed mint:inset-0 mint:flex", children: [
38
+ i && /* @__PURE__ */ t(v, { setIsOpen: m }),
39
+ /* @__PURE__ */ t(
40
+ u,
30
41
  {
31
- navTree: n,
32
- activeId: i,
33
- className: t,
34
- dropdown: c,
35
- activeHref: m,
36
- theme: s,
37
- bottomLinks: d
42
+ id: "mobile-nav",
43
+ transition: !0,
44
+ className: "mint:flex mint:flex-col mint:relative mint:bg-white mint:dark:bg-[#0f0f0f] mint:w-[85vw] mint:min-w-[19rem] mint:max-w-[22rem] mint:min-h-full mint:transition-transform mint:duration-100 mint:ease-in-out mint:data-[closed]:-translate-x-full",
45
+ children: /* @__PURE__ */ t("div", { className: "mint:flex mint:flex-col mint:flex-1 mint:p-4 mint:pt-4 mint:pb-12 mint:overflow-y-auto mint:h-full", children: /* @__PURE__ */ t(
46
+ b,
47
+ {
48
+ navTree: o,
49
+ activeId: r,
50
+ className: a,
51
+ dropdown: l,
52
+ activeHref: s,
53
+ theme: e,
54
+ bottomLinks: d
55
+ }
56
+ ) })
38
57
  }
39
- ) }) })
58
+ )
40
59
  ] })
41
60
  ]
42
61
  }
43
- );
62
+ ) });
44
63
  }
45
64
  const v = ({
46
- setIsOpen: e
47
- }) => /* @__PURE__ */ r(
65
+ setIsOpen: i
66
+ }) => /* @__PURE__ */ n(
48
67
  "button",
49
68
  {
50
69
  type: "button",
51
- onClick: () => e(!1),
52
- className: o.closeButton,
70
+ onClick: () => i(!1),
71
+ className: "mint:absolute mint:bg-white mint:dark:bg-[#0f0f0f] mint:rounded-full mint:top-4 mint:right-4 mint:w-8 mint:h-8 mint:flex mint:items-center mint:justify-center mint:border-none mint:cursor-pointer",
53
72
  children: [
54
- /* @__PURE__ */ a("span", { className: o.srOnly, children: "Close navigation" }),
55
- /* @__PURE__ */ a(g, { className: o.closeIcon })
73
+ /* @__PURE__ */ t("span", { className: "mint:absolute mint:w-px mint:h-px mint:p-0 mint:-m-px mint:overflow-hidden mint:whitespace-nowrap mint:border-0 [clip:rect(0,0,0,0)]", children: "Close navigation" }),
74
+ /* @__PURE__ */ t(x, { className: "mint:w-4 mint:h-4 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:hover:text-[#4b5563] mint:dark:hover:text-[#d1d5db]" })
56
75
  ]
57
76
  }
58
77
  );
59
78
  export {
60
- y as MobileNavTree
79
+ B as MobileNavTree
61
80
  };
62
81
  //# sourceMappingURL=mobile-nav.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mobile-nav.js","sources":["../../../src/components/nav-tree/mobile-nav.tsx"],"sourcesContent":["import { NavTreeData } from \"../../types\";\nimport { Dialog, DialogBackdrop, DialogPanel } from \"@headlessui/react\";\nimport { DropdownConfig, NavTree, BottomLinkConfig } from \"./index\";\nimport { Dismiss16Regular } from \"@fluentui/react-icons\";\nimport styles from \"./mobile-nav.module.css\";\nimport \"../../styles.css\";\n\nexport interface MobileNavTreeProps {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n theme?: \"light\" | \"dark\" | \"system\";\n dropdown?: DropdownConfig;\n activeHref?: string;\n bottomLinks?: BottomLinkConfig[];\n}\n\nexport function MobileNavTree({\n isOpen,\n setIsOpen,\n navTree,\n activeId,\n className = \"\",\n theme,\n dropdown,\n activeHref,\n bottomLinks,\n}: MobileNavTreeProps) {\n return (\n <Dialog\n open={isOpen}\n onClose={() => setIsOpen(false)}\n className={`${styles.dialog} ${theme === \"dark\" ? \"dark\" : \"\"}`}\n >\n <DialogBackdrop transition className={styles.backdrop} />\n <div className={styles.container}>\n {isOpen && <CloseButton setIsOpen={setIsOpen} />}\n <DialogPanel id=\"mobile-nav\" transition className={styles.panel}>\n <div className={styles.content}>\n <NavTree\n navTree={navTree}\n activeId={activeId}\n className={className}\n dropdown={dropdown}\n activeHref={activeHref}\n theme={theme}\n bottomLinks={bottomLinks}\n />\n </div>\n </DialogPanel>\n </div>\n </Dialog>\n );\n}\n\nconst CloseButton = ({\n setIsOpen,\n}: {\n setIsOpen: (isOpen: boolean) => void;\n}) => {\n return (\n <button\n type=\"button\"\n onClick={() => setIsOpen(false)}\n className={styles.closeButton}\n >\n <span className={styles.srOnly}>Close navigation</span>\n <Dismiss16Regular className={styles.closeIcon} />\n </button>\n );\n};\n"],"names":["MobileNavTree","isOpen","setIsOpen","navTree","activeId","className","theme","dropdown","activeHref","bottomLinks","jsxs","Dialog","styles","jsx","DialogBackdrop","CloseButton","DialogPanel","NavTree","Dismiss16Regular"],"mappings":";;;;;;AAmBO,SAASA,EAAc;AAAA,EAC5B,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AACF,GAAuB;AACrB,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMV;AAAA,MACN,SAAS,MAAMC,EAAU,EAAK;AAAA,MAC9B,WAAW,GAAGU,EAAO,MAAM,IAAIN,MAAU,SAAS,SAAS,EAAE;AAAA,MAE7D,UAAA;AAAA,QAAA,gBAAAO,EAACC,GAAA,EAAe,YAAU,IAAC,WAAWF,EAAO,UAAU;AAAA,QACvD,gBAAAF,EAAC,OAAA,EAAI,WAAWE,EAAO,WACpB,UAAA;AAAA,UAAAX,KAAU,gBAAAY,EAACE,KAAY,WAAAb,EAAA,CAAsB;AAAA,UAC9C,gBAAAW,EAACG,GAAA,EAAY,IAAG,cAAa,YAAU,IAAC,WAAWJ,EAAO,OACxD,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAWD,EAAO,SACrB,UAAA,gBAAAC;AAAA,YAACI;AAAA,YAAA;AAAA,cACC,SAAAd;AAAA,cACA,UAAAC;AAAA,cACA,WAAAC;AAAA,cACA,UAAAE;AAAA,cACA,YAAAC;AAAA,cACA,OAAAF;AAAA,cACA,aAAAG;AAAA,YAAA;AAAA,UAAA,GAEJ,EAAA,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,MAAMM,IAAc,CAAC;AAAA,EACnB,WAAAb;AACF,MAII,gBAAAQ;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAMR,EAAU,EAAK;AAAA,IAC9B,WAAWU,EAAO;AAAA,IAElB,UAAA;AAAA,MAAA,gBAAAC,EAAC,QAAA,EAAK,WAAWD,EAAO,QAAQ,UAAA,oBAAgB;AAAA,MAChD,gBAAAC,EAACK,GAAA,EAAiB,WAAWN,EAAO,UAAA,CAAW;AAAA,IAAA;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"mobile-nav.js","sources":["../../../src/components/nav-tree/mobile-nav.tsx"],"sourcesContent":["import { NavTreeData, LinkComponent } from \"../../types\";\nimport { Dialog, DialogBackdrop, DialogPanel } from \"@headlessui/react\";\nimport { DropdownConfig, NavTree, BottomLinkConfig } from \"./index\";\nimport { Dismiss16Regular } from \"@fluentui/react-icons\";\nimport { ComponentsProvider } from \"../../context/components-context\";\nimport { cn } from \"../../utils/cn\";\nimport \"../../styles.css\";\n\nexport interface MobileNavTreeProps {\n isOpen: boolean;\n setIsOpen: (isOpen: boolean) => void;\n navTree: NavTreeData;\n activeId?: string;\n className?: string;\n theme?: \"light\" | \"dark\" | \"system\";\n dropdown?: DropdownConfig;\n activeHref?: string;\n bottomLinks?: BottomLinkConfig[];\n LinkComponent?: LinkComponent;\n}\n\nexport function MobileNavTree({\n isOpen,\n setIsOpen,\n navTree,\n activeId,\n className = \"\",\n theme,\n dropdown,\n activeHref,\n bottomLinks,\n LinkComponent,\n}: MobileNavTreeProps) {\n return (\n <ComponentsProvider LinkComponent={LinkComponent}>\n <Dialog\n open={isOpen}\n onClose={() => setIsOpen(false)}\n className={cn(\n \"mint:fixed mint:inset-0 mint:overflow-y-auto mint:z-50 mint:lg:hidden\",\n theme === \"dark\" && \"dark\"\n )}\n >\n <DialogBackdrop\n transition\n className=\"mint:fixed mint:inset-0 mint:bg-black/20 mint:dark:bg-black/80 mint:backdrop-blur mint:transition-opacity mint:duration-300 mint:ease-out mint:data-[closed]:opacity-0\"\n />\n <div className=\"mint:fixed mint:inset-0 mint:flex\">\n {isOpen && <CloseButton setIsOpen={setIsOpen} />}\n <DialogPanel\n id=\"mobile-nav\"\n transition\n className=\"mint:flex mint:flex-col mint:relative mint:bg-white mint:dark:bg-[#0f0f0f] mint:w-[85vw] mint:min-w-[19rem] mint:max-w-[22rem] mint:min-h-full mint:transition-transform mint:duration-100 mint:ease-in-out mint:data-[closed]:-translate-x-full\"\n >\n <div className=\"mint:flex mint:flex-col mint:flex-1 mint:p-4 mint:pt-4 mint:pb-12 mint:overflow-y-auto mint:h-full\">\n <NavTree\n navTree={navTree}\n activeId={activeId}\n className={className}\n dropdown={dropdown}\n activeHref={activeHref}\n theme={theme}\n bottomLinks={bottomLinks}\n />\n </div>\n </DialogPanel>\n </div>\n </Dialog>\n </ComponentsProvider>\n );\n}\n\nconst CloseButton = ({\n setIsOpen,\n}: {\n setIsOpen: (isOpen: boolean) => void;\n}) => {\n return (\n <button\n type=\"button\"\n onClick={() => setIsOpen(false)}\n className=\"mint:absolute mint:bg-white mint:dark:bg-[#0f0f0f] mint:rounded-full mint:top-4 mint:right-4 mint:w-8 mint:h-8 mint:flex mint:items-center mint:justify-center mint:border-none mint:cursor-pointer\"\n >\n <span className=\"mint:absolute mint:w-px mint:h-px mint:p-0 mint:-m-px mint:overflow-hidden mint:whitespace-nowrap mint:border-0 [clip:rect(0,0,0,0)]\">\n Close navigation\n </span>\n <Dismiss16Regular className=\"mint:w-4 mint:h-4 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:hover:text-[#4b5563] mint:dark:hover:text-[#d1d5db]\" />\n </button>\n );\n};\n"],"names":["MobileNavTree","isOpen","setIsOpen","navTree","activeId","className","theme","dropdown","activeHref","bottomLinks","LinkComponent","jsx","ComponentsProvider","jsxs","Dialog","cn","DialogBackdrop","CloseButton","DialogPanel","NavTree","Dismiss16Regular"],"mappings":";;;;;;;AAqBO,SAASA,EAAc;AAAA,EAC5B,QAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC;AACF,GAAuB;AACrB,SACE,gBAAAC,EAACC,GAAA,EAAmB,eAAeF,GACjC,UAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAMb;AAAA,MACN,SAAS,MAAMC,EAAU,EAAK;AAAA,MAC9B,WAAWa;AAAA,QACT;AAAA,QACAT,MAAU,UAAU;AAAA,MAAA;AAAA,MAGtB,UAAA;AAAA,QAAA,gBAAAK;AAAA,UAACK;AAAA,UAAA;AAAA,YACC,YAAU;AAAA,YACV,WAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAEZ,gBAAAH,EAAC,OAAA,EAAI,WAAU,qCACZ,UAAA;AAAA,UAAAZ,KAAU,gBAAAU,EAACM,KAAY,WAAAf,EAAA,CAAsB;AAAA,UAC9C,gBAAAS;AAAA,YAACO;AAAA,YAAA;AAAA,cACC,IAAG;AAAA,cACH,YAAU;AAAA,cACV,WAAU;AAAA,cAEV,UAAA,gBAAAP,EAAC,OAAA,EAAI,WAAU,sGACb,UAAA,gBAAAA;AAAA,gBAACQ;AAAA,gBAAA;AAAA,kBACC,SAAAhB;AAAA,kBACA,UAAAC;AAAA,kBACA,WAAAC;AAAA,kBACA,UAAAE;AAAA,kBACA,YAAAC;AAAA,kBACA,OAAAF;AAAA,kBACA,aAAAG;AAAA,gBAAA;AAAA,cAAA,EACF,CACF;AAAA,YAAA;AAAA,UAAA;AAAA,QACF,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAEA,MAAMQ,IAAc,CAAC;AAAA,EACnB,WAAAf;AACF,MAII,gBAAAW;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAMX,EAAU,EAAK;AAAA,IAC9B,WAAU;AAAA,IAEV,UAAA;AAAA,MAAA,gBAAAS,EAAC,QAAA,EAAK,WAAU,wIAAuI,UAAA,oBAEvJ;AAAA,MACA,gBAAAA,EAACS,GAAA,EAAiB,WAAU,0HAAA,CAA0H;AAAA,IAAA;AAAA,EAAA;AAAA;"}