@mintlify/msft-sdk 1.1.0 → 1.1.1

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.
@@ -44,13 +44,13 @@ function N() {
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: [
47
+ const p = s === 0 ? !0 : n.expanded ?? !1, [o, m] = f(p), t = n.children && n.children.length > 0, a = t && !n.href, d = n.href && c === n.href, C = n.icon;
48
+ return a && s === 0 ? /* @__PURE__ */ l("div", { className: e.group, role: "group", "aria-label": n.toc_title, children: [
49
49
  /* @__PURE__ */ l("div", { className: e.groupHeader, children: [
50
50
  C && /* @__PURE__ */ r(C, { className: e.groupIcon, "aria-hidden": "true" }),
51
51
  /* @__PURE__ */ r("span", { children: n.toc_title })
52
52
  ] }),
53
- a && n.children && /* @__PURE__ */ r("ul", { className: e.list, role: "list", children: n.children.map((i, h) => /* @__PURE__ */ r(
53
+ t && n.children && /* @__PURE__ */ r("ul", { className: e.list, role: "list", children: n.children.map((i, h) => /* @__PURE__ */ r(
54
54
  u,
55
55
  {
56
56
  item: i,
@@ -59,20 +59,20 @@ function u({ item: n, activeId: c, level: s = 0 }) {
59
59
  },
60
60
  `${i.href}-${h}`
61
61
  )) })
62
- ] }) : o && s > 0 ? /* @__PURE__ */ l("li", { className: e.listItem, children: [
62
+ ] }) : a && s > 0 ? /* @__PURE__ */ l("li", { className: e.listItem, children: [
63
63
  /* @__PURE__ */ l(
64
64
  "button",
65
65
  {
66
- onClick: () => m(!t),
67
- "aria-expanded": t,
68
- "aria-label": `${t ? "Collapse" : "Expand"} ${n.toc_title} section`,
66
+ onClick: () => m(!o),
67
+ "aria-expanded": o,
68
+ "aria-label": `${o ? "Collapse" : "Expand"} ${n.toc_title} section`,
69
69
  className: e.expandButton,
70
70
  children: [
71
71
  /* @__PURE__ */ r("span", { children: n.toc_title }),
72
72
  /* @__PURE__ */ r(
73
73
  "svg",
74
74
  {
75
- className: `${e.chevron} ${t ? e.chevronExpanded : e.chevronCollapsed}`,
75
+ className: `${e.chevron} ${o ? e.chevronExpanded : e.chevronCollapsed}`,
76
76
  fill: "none",
77
77
  stroke: "currentColor",
78
78
  viewBox: "0 0 24 24",
@@ -91,7 +91,7 @@ function u({ item: n, activeId: c, level: s = 0 }) {
91
91
  ]
92
92
  }
93
93
  ),
94
- a && t && n.children && /* @__PURE__ */ r("ul", { className: e.nestedList, role: "group", children: n.children.map((i, h) => /* @__PURE__ */ r(
94
+ t && o && n.children && /* @__PURE__ */ r("ul", { className: e.nestedList, role: "group", children: n.children.map((i, h) => /* @__PURE__ */ r(
95
95
  u,
96
96
  {
97
97
  item: i,
@@ -110,7 +110,7 @@ function u({ item: n, activeId: c, level: s = 0 }) {
110
110
  children: n.toc_title
111
111
  }
112
112
  ),
113
- a && t && n.children && /* @__PURE__ */ r("ul", { className: e.nestedList, role: "group", children: n.children.map((i, h) => /* @__PURE__ */ r(
113
+ t && o && n.children && /* @__PURE__ */ r("ul", { className: e.nestedList, role: "group", children: n.children.map((i, h) => /* @__PURE__ */ r(
114
114
  u,
115
115
  {
116
116
  item: i,
@@ -126,11 +126,11 @@ function V({
126
126
  activeId: c,
127
127
  className: s = "",
128
128
  dropdown: p,
129
- activeHref: t,
129
+ activeHref: o,
130
130
  theme: m,
131
- bottomLinks: a
131
+ bottomLinks: t
132
132
  }) {
133
- return !n || n.items.length === 0 ? null : (console.log("bottomLinks", a), /* @__PURE__ */ l(
133
+ return !n || n.items.length === 0 ? null : /* @__PURE__ */ l(
134
134
  "nav",
135
135
  {
136
136
  className: `${e.nav} ${s} ${m === "dark" ? "dark" : ""}`,
@@ -141,33 +141,33 @@ function V({
141
141
  g,
142
142
  {
143
143
  dropdown: p,
144
- activeHref: t,
144
+ activeHref: o,
145
145
  className: e.group
146
146
  }
147
147
  ),
148
- n.items.map((o, d) => /* @__PURE__ */ r(
148
+ n.items.map((a, d) => /* @__PURE__ */ r(
149
149
  u,
150
150
  {
151
- item: o,
151
+ item: a,
152
152
  activeId: c
153
153
  },
154
- `${o.href}-${d}`
154
+ `${a.href}-${d}`
155
155
  ))
156
156
  ] }),
157
- a && a.length > 0 && /* @__PURE__ */ l("div", { className: e.bottomSection, children: [
157
+ t && t.length > 0 && /* @__PURE__ */ l("div", { className: e.bottomSection, children: [
158
158
  /* @__PURE__ */ r("div", { className: e.divider }),
159
- /* @__PURE__ */ r("div", { className: e.bottomLinks, children: a.map((o, d) => {
160
- const C = o.icon;
159
+ /* @__PURE__ */ r("div", { className: e.bottomLinks, children: t.map((a, d) => {
160
+ const C = a.icon;
161
161
  return /* @__PURE__ */ l(
162
162
  "a",
163
163
  {
164
- href: o.href,
164
+ href: a.href,
165
165
  target: "_blank",
166
166
  rel: "noopener noreferrer",
167
167
  className: e.bottomLink,
168
168
  children: [
169
169
  /* @__PURE__ */ r(C, { className: e.bottomLinkIcon }),
170
- /* @__PURE__ */ r("span", { children: o.label }),
170
+ /* @__PURE__ */ r("span", { children: a.label }),
171
171
  /* @__PURE__ */ r(N, {})
172
172
  ]
173
173
  },
@@ -177,7 +177,7 @@ function V({
177
177
  ] })
178
178
  ]
179
179
  }
180
- ));
180
+ );
181
181
  }
182
182
  export {
183
183
  g as DropdownMenu,
@@ -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 { 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 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mintlify/msft-sdk",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Lightweight SDK for Microsoft documentation with MDX rendering",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",