@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.
- package/dist/components/content-components/callouts.js +35 -20
- package/dist/components/content-components/callouts.js.map +1 -1
- package/dist/components/content-components/code-block.js +87 -60
- package/dist/components/content-components/code-block.js.map +1 -1
- package/dist/components/content-components/default-components.js +52 -33
- package/dist/components/content-components/default-components.js.map +1 -1
- package/dist/components/content-components/details/details.js +28 -25
- package/dist/components/content-components/details/details.js.map +1 -1
- package/dist/components/content-components/heading.js +6 -1
- package/dist/components/content-components/heading.js.map +1 -1
- package/dist/components/content-components/home.js +256 -163
- package/dist/components/content-components/home.js.map +1 -1
- package/dist/components/content-components/link.js +7 -7
- package/dist/components/content-components/link.js.map +1 -1
- package/dist/components/content-components/param-name.js +4 -5
- package/dist/components/content-components/param-name.js.map +1 -1
- package/dist/components/content-components/table/index.js +101 -67
- package/dist/components/content-components/table/index.js.map +1 -1
- package/dist/components/content-components/table/table-modal.js +31 -32
- package/dist/components/content-components/table/table-modal.js.map +1 -1
- package/dist/components/content-components/tabs/tabs.js +51 -46
- package/dist/components/content-components/tabs/tabs.js.map +1 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js +39 -36
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.js.map +1 -1
- package/dist/components/mdx-renderer.js +16 -8
- package/dist/components/mdx-renderer.js.map +1 -1
- package/dist/components/nav-tree/dropdown-menu.js +40 -33
- package/dist/components/nav-tree/dropdown-menu.js.map +1 -1
- package/dist/components/nav-tree/index.js +122 -93
- package/dist/components/nav-tree/index.js.map +1 -1
- package/dist/components/nav-tree/mobile-nav.js +60 -41
- package/dist/components/nav-tree/mobile-nav.js.map +1 -1
- package/dist/components/page-context-menu.js +107 -90
- package/dist/components/page-context-menu.js.map +1 -1
- package/dist/components/page.js +108 -86
- package/dist/components/page.js.map +1 -1
- package/dist/components/plain-text-page.js +3 -4
- package/dist/components/plain-text-page.js.map +1 -1
- package/dist/components/toc/index.js +45 -42
- package/dist/components/toc/index.js.map +1 -1
- package/dist/context/components-context.js +17 -0
- package/dist/context/components-context.js.map +1 -0
- package/dist/index.d.ts +34 -5
- package/dist/index.js +109 -103
- package/dist/index.js.map +1 -1
- package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js +2732 -0
- package/dist/node_modules/.pnpm/tailwind-merge@3.3.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utils/cn.js +9 -0
- package/dist/utils/cn.js.map +1 -0
- package/package.json +5 -1
- package/dist/components/content-components/callouts.module.css.js +0 -26
- package/dist/components/content-components/callouts.module.css.js.map +0 -1
- package/dist/components/content-components/code-block.module.css.js +0 -32
- package/dist/components/content-components/code-block.module.css.js.map +0 -1
- package/dist/components/content-components/default-components.module.css.js +0 -12
- package/dist/components/content-components/default-components.module.css.js.map +0 -1
- package/dist/components/content-components/details/details.module.css.js +0 -20
- package/dist/components/content-components/details/details.module.css.js.map +0 -1
- package/dist/components/content-components/home.module.css.js +0 -74
- package/dist/components/content-components/home.module.css.js.map +0 -1
- package/dist/components/content-components/link.module.css.js +0 -10
- package/dist/components/content-components/link.module.css.js.map +0 -1
- package/dist/components/content-components/param-name.module.css.js +0 -8
- package/dist/components/content-components/param-name.module.css.js.map +0 -1
- package/dist/components/content-components/table/table-modal.module.css.js +0 -18
- package/dist/components/content-components/table/table-modal.module.css.js.map +0 -1
- package/dist/components/content-components/table/table.module.css.js +0 -30
- package/dist/components/content-components/table/table.module.css.js.map +0 -1
- package/dist/components/content-components/tabs/tabs.module.css.js +0 -24
- package/dist/components/content-components/tabs/tabs.module.css.js.map +0 -1
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js +0 -14
- package/dist/components/content-components/zone-pivots/zone-pivot-selector.module.css.js.map +0 -1
- package/dist/components/mdx-renderer.module.css.js +0 -8
- package/dist/components/mdx-renderer.module.css.js.map +0 -1
- package/dist/components/nav-tree/dropdown-menu.module.css.js +0 -52
- package/dist/components/nav-tree/dropdown-menu.module.css.js.map +0 -1
- package/dist/components/nav-tree/mobile-nav.module.css.js +0 -22
- package/dist/components/nav-tree/mobile-nav.module.css.js.map +0 -1
- package/dist/components/nav-tree/nav-tree.module.css.js +0 -50
- package/dist/components/nav-tree/nav-tree.module.css.js.map +0 -1
- package/dist/components/page-context-menu.module.css.js +0 -42
- package/dist/components/page-context-menu.module.css.js.map +0 -1
- package/dist/components/page.module.css.js +0 -52
- package/dist/components/page.module.css.js.map +0 -1
- package/dist/components/plain-text-page.module.css.js +0 -10
- package/dist/components/plain-text-page.module.css.js.map +0 -1
- package/dist/components/prose.module.css.js +0 -8
- package/dist/components/prose.module.css.js.map +0 -1
- package/dist/components/toc/toc.module.css.js +0 -18
- package/dist/components/toc/toc.module.css.js.map +0 -1
|
@@ -1,74 +1,77 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { useZonePivotContext as
|
|
4
|
-
import
|
|
5
|
-
function
|
|
6
|
-
group:
|
|
7
|
-
className:
|
|
1
|
+
import { jsx as d } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as w } from "react";
|
|
3
|
+
import { useZonePivotContext as u } from "./zone-pivot-context.js";
|
|
4
|
+
import { cn as p } from "../../../utils/cn.js";
|
|
5
|
+
function P({
|
|
6
|
+
group: e,
|
|
7
|
+
className: h
|
|
8
8
|
}) {
|
|
9
|
-
var
|
|
10
|
-
const { activePivots:
|
|
11
|
-
var
|
|
12
|
-
const { key: i } =
|
|
9
|
+
var l;
|
|
10
|
+
const { activePivots: b, setActivePivot: s } = u(), m = w(null), c = (l = e.pivots.find((t) => b.has(t.id))) == null ? void 0 : l.id, v = e.pivots.findIndex((t) => t.id === c), x = (t) => {
|
|
11
|
+
var f;
|
|
12
|
+
const { key: i } = t, n = v;
|
|
13
13
|
let o = n;
|
|
14
14
|
switch (i) {
|
|
15
15
|
case "ArrowLeft":
|
|
16
16
|
case "ArrowUp":
|
|
17
|
-
|
|
17
|
+
t.preventDefault(), o = n > 0 ? n - 1 : e.pivots.length - 1;
|
|
18
18
|
break;
|
|
19
19
|
case "ArrowRight":
|
|
20
20
|
case "ArrowDown":
|
|
21
|
-
|
|
21
|
+
t.preventDefault(), o = n < e.pivots.length - 1 ? n + 1 : 0;
|
|
22
22
|
break;
|
|
23
23
|
case "Home":
|
|
24
|
-
|
|
24
|
+
t.preventDefault(), o = 0;
|
|
25
25
|
break;
|
|
26
26
|
case "End":
|
|
27
|
-
|
|
27
|
+
t.preventDefault(), o = e.pivots.length - 1;
|
|
28
28
|
break;
|
|
29
29
|
default:
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
-
const
|
|
33
|
-
if (
|
|
34
|
-
|
|
35
|
-
const a = (
|
|
36
|
-
`[data-pivot-id="${
|
|
32
|
+
const r = e.pivots[o];
|
|
33
|
+
if (r) {
|
|
34
|
+
s(e.id, r.id);
|
|
35
|
+
const a = (f = m.current) == null ? void 0 : f.querySelector(
|
|
36
|
+
`[data-pivot-id="${r.id}"]`
|
|
37
37
|
);
|
|
38
38
|
a == null || a.focus();
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
|
-
return /* @__PURE__ */
|
|
41
|
+
return /* @__PURE__ */ d("div", { className: h, "data-zone-pivot-group": e.id, children: /* @__PURE__ */ d(
|
|
42
42
|
"div",
|
|
43
43
|
{
|
|
44
|
-
ref:
|
|
44
|
+
ref: m,
|
|
45
45
|
role: "tablist",
|
|
46
|
-
"aria-label":
|
|
47
|
-
className:
|
|
48
|
-
children:
|
|
49
|
-
const i =
|
|
50
|
-
return /* @__PURE__ */
|
|
46
|
+
"aria-label": e.prompt,
|
|
47
|
+
className: "mint:inline-flex mint:items-center mint:gap-1 mint:p-1 mint:bg-gray-100 mint:rounded-lg mint:dark:bg-white/5",
|
|
48
|
+
children: e.pivots.map((t) => {
|
|
49
|
+
const i = t.id === c;
|
|
50
|
+
return /* @__PURE__ */ d(
|
|
51
51
|
"button",
|
|
52
52
|
{
|
|
53
|
-
id: `tab-${
|
|
53
|
+
id: `tab-${e.id}-${t.id}`,
|
|
54
54
|
role: "tab",
|
|
55
55
|
type: "button",
|
|
56
|
-
"data-pivot-id":
|
|
56
|
+
"data-pivot-id": t.id,
|
|
57
57
|
"aria-selected": i,
|
|
58
|
-
"aria-controls": `panel-${
|
|
58
|
+
"aria-controls": `panel-${e.id}-${t.id}`,
|
|
59
59
|
tabIndex: i ? 0 : -1,
|
|
60
|
-
onClick: () =>
|
|
61
|
-
onKeyDown:
|
|
62
|
-
className:
|
|
63
|
-
|
|
60
|
+
onClick: () => s(e.id, t.id),
|
|
61
|
+
onKeyDown: x,
|
|
62
|
+
className: p(
|
|
63
|
+
"mint:relative mint:px-3 mint:py-1.5 mint:text-sm mint:font-medium mint:rounded-md mint:bg-transparent mint:border-none mint:cursor-pointer mint:transition-all mint:duration-150 mint:focus:outline-none mint:focus-visible:shadow-[0_0_0_2px_#3b82f6] mint:focus-visible:outline-offset-2",
|
|
64
|
+
i ? "mint:bg-white mint:text-[#141414] mint:shadow-sm mint:dark:bg-white/10 mint:dark:text-white" : "mint:text-gray-600 mint:hover:text-[#141414] mint:hover:bg-white/50 mint:dark:text-gray-400 mint:dark:hover:text-white mint:dark:hover:bg-white/10"
|
|
65
|
+
),
|
|
66
|
+
children: t.title
|
|
64
67
|
},
|
|
65
|
-
|
|
68
|
+
t.id
|
|
66
69
|
);
|
|
67
70
|
})
|
|
68
71
|
}
|
|
69
72
|
) });
|
|
70
73
|
}
|
|
71
74
|
export {
|
|
72
|
-
|
|
75
|
+
P as ZonePivotSelector
|
|
73
76
|
};
|
|
74
77
|
//# sourceMappingURL=zone-pivot-selector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zone-pivot-selector.js","sources":["../../../../src/components/content-components/zone-pivots/zone-pivot-selector.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { useZonePivotContext } from \"./zone-pivot-context\";\nimport type { ZonePivotGroup } from \"../../../types/page\";\nimport
|
|
1
|
+
{"version":3,"file":"zone-pivot-selector.js","sources":["../../../../src/components/content-components/zone-pivots/zone-pivot-selector.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport { useZonePivotContext } from \"./zone-pivot-context\";\nimport type { ZonePivotGroup } from \"../../../types/page\";\nimport { cn } from \"../../../utils/cn\";\n\nexport interface ZonePivotSelectorProps {\n group: ZonePivotGroup;\n className?: string;\n}\n\nexport function ZonePivotSelector({\n group,\n className,\n}: ZonePivotSelectorProps) {\n const { activePivots, setActivePivot } = useZonePivotContext();\n const tabListRef = useRef<HTMLDivElement>(null);\n\n const selectedPivotId = group.pivots.find((p) => activePivots.has(p.id))?.id;\n const selectedIndex = group.pivots.findIndex((p) => p.id === selectedPivotId);\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>) => {\n const { key } = event;\n const currentIndex = selectedIndex;\n let nextIndex = currentIndex;\n\n switch (key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n event.preventDefault();\n nextIndex =\n currentIndex > 0 ? currentIndex - 1 : group.pivots.length - 1;\n break;\n case \"ArrowRight\":\n case \"ArrowDown\":\n event.preventDefault();\n nextIndex =\n currentIndex < group.pivots.length - 1 ? currentIndex + 1 : 0;\n break;\n case \"Home\":\n event.preventDefault();\n nextIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n nextIndex = group.pivots.length - 1;\n break;\n default:\n return;\n }\n\n const nextPivot = group.pivots[nextIndex];\n if (nextPivot) {\n setActivePivot(group.id, nextPivot.id);\n const button = tabListRef.current?.querySelector(\n `[data-pivot-id=\"${nextPivot.id}\"]`\n ) as HTMLButtonElement;\n button?.focus();\n }\n };\n\n return (\n <div className={className} data-zone-pivot-group={group.id}>\n <div\n ref={tabListRef}\n role=\"tablist\"\n aria-label={group.prompt}\n className=\"mint:inline-flex mint:items-center mint:gap-1 mint:p-1 mint:bg-gray-100 mint:rounded-lg mint:dark:bg-white/5\"\n >\n {group.pivots.map((pivot) => {\n const isSelected = pivot.id === selectedPivotId;\n return (\n <button\n key={pivot.id}\n id={`tab-${group.id}-${pivot.id}`}\n role=\"tab\"\n type=\"button\"\n data-pivot-id={pivot.id}\n aria-selected={isSelected}\n aria-controls={`panel-${group.id}-${pivot.id}`}\n tabIndex={isSelected ? 0 : -1}\n onClick={() => setActivePivot(group.id, pivot.id)}\n onKeyDown={handleKeyDown}\n className={cn(\n \"mint:relative mint:px-3 mint:py-1.5 mint:text-sm mint:font-medium mint:rounded-md mint:bg-transparent mint:border-none mint:cursor-pointer mint:transition-all mint:duration-150 mint:focus:outline-none mint:focus-visible:shadow-[0_0_0_2px_#3b82f6] mint:focus-visible:outline-offset-2\",\n isSelected\n ? \"mint:bg-white mint:text-[#141414] mint:shadow-sm mint:dark:bg-white/10 mint:dark:text-white\"\n : \"mint:text-gray-600 mint:hover:text-[#141414] mint:hover:bg-white/50 mint:dark:text-gray-400 mint:dark:hover:text-white mint:dark:hover:bg-white/10\"\n )}\n >\n {pivot.title}\n </button>\n );\n })}\n </div>\n </div>\n );\n}\n"],"names":["ZonePivotSelector","group","className","activePivots","setActivePivot","useZonePivotContext","tabListRef","useRef","selectedPivotId","_a","p","selectedIndex","handleKeyDown","event","key","currentIndex","nextIndex","nextPivot","button","jsx","pivot","isSelected","cn"],"mappings":";;;;AAUO,SAASA,EAAkB;AAAA,EAChC,OAAAC;AAAA,EACA,WAAAC;AACF,GAA2B;;AACzB,QAAM,EAAE,cAAAC,GAAc,gBAAAC,EAAA,IAAmBC,EAAA,GACnCC,IAAaC,EAAuB,IAAI,GAExCC,KAAkBC,IAAAR,EAAM,OAAO,KAAK,CAACS,MAAMP,EAAa,IAAIO,EAAE,EAAE,CAAC,MAA/C,gBAAAD,EAAkD,IACpEE,IAAgBV,EAAM,OAAO,UAAU,CAACS,MAAMA,EAAE,OAAOF,CAAe,GAEtEI,IAAgB,CAACC,MAAkD;;AACvE,UAAM,EAAE,KAAAC,MAAQD,GACVE,IAAeJ;AACrB,QAAIK,IAAYD;AAEhB,YAAQD,GAAA;AAAA,MACN,KAAK;AAAA,MACL,KAAK;AACH,QAAAD,EAAM,eAAA,GACNG,IACED,IAAe,IAAIA,IAAe,IAAId,EAAM,OAAO,SAAS;AAC9D;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,QAAAY,EAAM,eAAA,GACNG,IACED,IAAed,EAAM,OAAO,SAAS,IAAIc,IAAe,IAAI;AAC9D;AAAA,MACF,KAAK;AACH,QAAAF,EAAM,eAAA,GACNG,IAAY;AACZ;AAAA,MACF,KAAK;AACH,QAAAH,EAAM,eAAA,GACNG,IAAYf,EAAM,OAAO,SAAS;AAClC;AAAA,MACF;AACE;AAAA,IAAA;AAGJ,UAAMgB,IAAYhB,EAAM,OAAOe,CAAS;AACxC,QAAIC,GAAW;AACb,MAAAb,EAAeH,EAAM,IAAIgB,EAAU,EAAE;AACrC,YAAMC,KAAST,IAAAH,EAAW,YAAX,gBAAAG,EAAoB;AAAA,QACjC,mBAAmBQ,EAAU,EAAE;AAAA;AAEjC,MAAAC,KAAA,QAAAA,EAAQ;AAAA,IACV;AAAA,EACF;AAEA,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAAjB,GAAsB,yBAAuBD,EAAM,IACtD,UAAA,gBAAAkB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAKb;AAAA,MACL,MAAK;AAAA,MACL,cAAYL,EAAM;AAAA,MAClB,WAAU;AAAA,MAET,UAAAA,EAAM,OAAO,IAAI,CAACmB,MAAU;AAC3B,cAAMC,IAAaD,EAAM,OAAOZ;AAChC,eACE,gBAAAW;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,IAAI,OAAOlB,EAAM,EAAE,IAAImB,EAAM,EAAE;AAAA,YAC/B,MAAK;AAAA,YACL,MAAK;AAAA,YACL,iBAAeA,EAAM;AAAA,YACrB,iBAAeC;AAAA,YACf,iBAAe,SAASpB,EAAM,EAAE,IAAImB,EAAM,EAAE;AAAA,YAC5C,UAAUC,IAAa,IAAI;AAAA,YAC3B,SAAS,MAAMjB,EAAeH,EAAM,IAAImB,EAAM,EAAE;AAAA,YAChD,WAAWR;AAAA,YACX,WAAWU;AAAA,cACT;AAAA,cACAD,IACI,gGACA;AAAA,YAAA;AAAA,YAGL,UAAAD,EAAM;AAAA,UAAA;AAAA,UAjBFA,EAAM;AAAA,QAAA;AAAA,MAoBjB,CAAC;AAAA,IAAA;AAAA,EAAA,GAEL;AAEJ;"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { MDXProvider as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
function
|
|
7
|
-
const t = { ...
|
|
8
|
-
return /* @__PURE__ */ o(
|
|
2
|
+
import { MDXProvider as r } from "@mdx-js/react";
|
|
3
|
+
import { useComponents as i } from "../context/components-context.js";
|
|
4
|
+
import { cn as p } from "../utils/cn.js";
|
|
5
|
+
import { createDefaultComponents as s } from "./content-components/default-components.js";
|
|
6
|
+
function l({ children: n, components: e = {} }) {
|
|
7
|
+
const { LinkComponent: t } = i(), m = { ...s({ LinkComponent: t }), ...e };
|
|
8
|
+
return /* @__PURE__ */ o(
|
|
9
|
+
"div",
|
|
10
|
+
{
|
|
11
|
+
className: p(
|
|
12
|
+
"mint:min-w-0 mint:prose mint:prose-gray mint:dark:prose-invert mint:max-w-none"
|
|
13
|
+
),
|
|
14
|
+
children: /* @__PURE__ */ o(r, { components: m, children: n })
|
|
15
|
+
}
|
|
16
|
+
);
|
|
9
17
|
}
|
|
10
18
|
export {
|
|
11
|
-
|
|
19
|
+
l as MDXRenderer
|
|
12
20
|
};
|
|
13
21
|
//# sourceMappingURL=mdx-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mdx-renderer.js","sources":["../../src/components/mdx-renderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { MDXProvider } from \"@mdx-js/react\";\nimport {
|
|
1
|
+
{"version":3,"file":"mdx-renderer.js","sources":["../../src/components/mdx-renderer.tsx"],"sourcesContent":["import React from \"react\";\nimport { MDXProvider } from \"@mdx-js/react\";\nimport { createDefaultComponents } from \"./content-components\";\nimport { useComponents } from \"../context/components-context\";\nimport type { MDXComponents } from \"../types\";\nimport { cn } from \"../utils/cn\";\n\ninterface MDXRendererProps {\n children: React.ReactNode;\n components?: MDXComponents;\n}\n\nexport function MDXRenderer({ children, components = {} }: MDXRendererProps) {\n const { LinkComponent } = useComponents();\n const defaultComponents = createDefaultComponents({ LinkComponent });\n const mergedComponents = { ...defaultComponents, ...components };\n\n return (\n <div\n className={cn(\n \"mint:min-w-0 mint:prose mint:prose-gray mint:dark:prose-invert mint:max-w-none\"\n )}\n >\n <MDXProvider components={mergedComponents}>{children}</MDXProvider>\n </div>\n );\n}\n"],"names":["MDXRenderer","children","components","LinkComponent","useComponents","mergedComponents","createDefaultComponents","jsx","cn","MDXProvider"],"mappings":";;;;;AAYO,SAASA,EAAY,EAAE,UAAAC,GAAU,YAAAC,IAAa,CAAA,KAAwB;AAC3E,QAAM,EAAE,eAAAC,EAAA,IAAkBC,EAAA,GAEpBC,IAAmB,EAAE,GADDC,EAAwB,EAAE,eAAAH,GAAe,GAClB,GAAGD,EAAA;AAEpD,SACE,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,MAAA;AAAA,MAGF,UAAA,gBAAAD,EAACE,GAAA,EAAY,YAAYJ,GAAmB,UAAAJ,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG3D;"}
|
|
@@ -1,37 +1,44 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { DocumentRegular as
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { jsxs as m, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useState as b } from "react";
|
|
3
|
+
import { DocumentRegular as h, CheckmarkFilled as x } from "@fluentui/react-icons";
|
|
4
|
+
import { useComponents as u } from "../../context/components-context.js";
|
|
5
|
+
import { cn as r } from "../../utils/cn.js";
|
|
6
|
+
function _({
|
|
7
|
+
dropdown: i,
|
|
8
|
+
isActive: a = !1,
|
|
9
|
+
activeHref: s,
|
|
9
10
|
className: l = ""
|
|
10
11
|
}) {
|
|
11
|
-
const [
|
|
12
|
-
return /* @__PURE__ */
|
|
13
|
-
/* @__PURE__ */
|
|
12
|
+
const [e, o] = b(!1), { LinkComponent: d } = u(), c = i.icon || h;
|
|
13
|
+
return /* @__PURE__ */ m("div", { className: r("mint:mb-2 mint:lg:mb-2", l), children: [
|
|
14
|
+
/* @__PURE__ */ t(
|
|
14
15
|
"button",
|
|
15
16
|
{
|
|
16
|
-
onClick: () =>
|
|
17
|
-
"aria-expanded":
|
|
18
|
-
"aria-label": `${
|
|
19
|
-
className:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
onClick: () => o(!e),
|
|
18
|
+
"aria-expanded": e,
|
|
19
|
+
"aria-label": `${e ? "Collapse" : "Expand"} ${i.title} dropdown`,
|
|
20
|
+
className: r(
|
|
21
|
+
"mint:w-full mint:py-2 mint:px-3 mint:rounded-xl mint:bg-white mint:dark:bg-[#1f1f1f] mint:border mint:border-[rgba(229,231,235,0.7)] mint:dark:border-[rgba(255,255,255,0.07)] mint:cursor-pointer mint:hover:border-[#d1d5db] mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:border-[rgba(255,255,255,0.15)] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2",
|
|
22
|
+
a && "mint:shadow-[0_0_0_2px_rgba(100,63,178,0.2)] mint:border-[rgba(100,63,178,0.3)]"
|
|
23
|
+
),
|
|
24
|
+
children: /* @__PURE__ */ m("div", { className: "mint:flex mint:items-center mint:gap-2", children: [
|
|
25
|
+
/* @__PURE__ */ t("div", { className: "mint:flex-shrink-0", children: /* @__PURE__ */ t("div", { className: "mint:w-8 mint:h-8 mint:rounded-lg mint:flex mint:items-center mint:justify-center mint:bg-[#e1cefc] mint:dark:bg-[#38255e] mint:border mint:border-[#643fb2] mint:dark:border-[#c9aaf9]", children: /* @__PURE__ */ t(c, { className: "mint:w-4 mint:h-4 mint:text-[#643fb2] mint:dark:text-[#c9aaf9]" }) }) }),
|
|
26
|
+
/* @__PURE__ */ m("div", { className: "mint:flex-1 mint:text-left mint:min-w-0", children: [
|
|
27
|
+
/* @__PURE__ */ t("div", { className: "mint:text-sm mint:font-medium mint:text-[#111827] mint:dark:text-white", children: i.title }),
|
|
28
|
+
/* @__PURE__ */ t("div", { className: "mint:text-xs mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:line-clamp-2", children: i.description })
|
|
25
29
|
] }),
|
|
26
|
-
/* @__PURE__ */
|
|
30
|
+
/* @__PURE__ */ t("div", { className: "mint:flex-shrink-0", children: /* @__PURE__ */ t(
|
|
27
31
|
"svg",
|
|
28
32
|
{
|
|
29
|
-
className:
|
|
33
|
+
className: r(
|
|
34
|
+
"mint:w-4 mint:h-4 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:transition-transform mint:duration-200",
|
|
35
|
+
e ? "mint:rotate-180" : "mint:rotate-0"
|
|
36
|
+
),
|
|
30
37
|
fill: "none",
|
|
31
38
|
stroke: "currentColor",
|
|
32
39
|
viewBox: "0 0 24 24",
|
|
33
40
|
"aria-hidden": "true",
|
|
34
|
-
children: /* @__PURE__ */
|
|
41
|
+
children: /* @__PURE__ */ t(
|
|
35
42
|
"path",
|
|
36
43
|
{
|
|
37
44
|
strokeLinecap: "round",
|
|
@@ -45,24 +52,24 @@ function x({
|
|
|
45
52
|
] })
|
|
46
53
|
}
|
|
47
54
|
),
|
|
48
|
-
|
|
49
|
-
"a",
|
|
55
|
+
e && i.items && i.items.length > 0 && /* @__PURE__ */ t("div", { className: "mint:relative mint:mt-2", children: /* @__PURE__ */ t("div", { className: "mint:absolute mint:top-0 mint:left-0 mint:right-0 mint:z-10 mint:w-full mint:p-1 mint:rounded-lg mint:bg-white mint:dark:bg-[#1f1f1f] mint:border mint:border-[rgba(229,231,235,0.7)] mint:dark:border-[rgba(255,255,255,0.07)] mint:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]", children: /* @__PURE__ */ t("div", { className: "mint:flex mint:flex-col mint:gap-1", children: i.items.map((n, f) => /* @__PURE__ */ m(
|
|
56
|
+
d || "a",
|
|
50
57
|
{
|
|
51
|
-
href:
|
|
52
|
-
className:
|
|
58
|
+
href: n.href,
|
|
59
|
+
className: "mint:flex mint:items-center mint:justify-between mint:py-1.5 mint:px-2 mint:text-sm mint:rounded-xl mint:transition-all mint:duration-150 mint:no-underline mint:text-[#111827] mint:dark:text-white mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#111827] 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",
|
|
53
60
|
children: [
|
|
54
|
-
/* @__PURE__ */
|
|
55
|
-
|
|
56
|
-
/* @__PURE__ */
|
|
61
|
+
/* @__PURE__ */ m("div", { className: "mint:flex mint:items-center mint:gap-2", children: [
|
|
62
|
+
n.icon && /* @__PURE__ */ t("div", { className: "mint:w-7 mint:h-7 mint:rounded-lg mint:flex mint:items-center mint:justify-center mint:bg-[#e1cefc] mint:dark:bg-[#38255e] mint:border mint:border-[#643fb2] mint:dark:border-[#c9aaf9]", children: /* @__PURE__ */ t(n.icon, { className: "mint:w-4 mint:h-4 mint:text-[#643fb2] mint:dark:text-[#c9aaf9]" }) }),
|
|
63
|
+
/* @__PURE__ */ t("span", { className: "mint:font-medium", children: n.title })
|
|
57
64
|
] }),
|
|
58
|
-
|
|
65
|
+
n.href && s === n.href && /* @__PURE__ */ t(x, { className: "mint:w-3 mint:h-3 mint:text-[#643fb2] mint:dark:text-[#c9aaf9]" })
|
|
59
66
|
]
|
|
60
67
|
},
|
|
61
|
-
`${
|
|
68
|
+
`${n.href}-${f}`
|
|
62
69
|
)) }) }) })
|
|
63
70
|
] });
|
|
64
71
|
}
|
|
65
72
|
export {
|
|
66
|
-
|
|
73
|
+
_ as DropdownMenu
|
|
67
74
|
};
|
|
68
75
|
//# sourceMappingURL=dropdown-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu.js","sources":["../../../src/components/nav-tree/dropdown-menu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CheckmarkFilled, DocumentRegular } from \"@fluentui/react-icons\";\nimport
|
|
1
|
+
{"version":3,"file":"dropdown-menu.js","sources":["../../../src/components/nav-tree/dropdown-menu.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CheckmarkFilled, DocumentRegular } from \"@fluentui/react-icons\";\nimport { useComponents } from \"../../context/components-context\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface DropdownConfig {\n title: string;\n description: string;\n icon?: React.ComponentType<{ className?: string }>;\n color?: {\n light?: string;\n dark?: string;\n };\n items?: DropdownItem[];\n}\n\nexport interface DropdownItem {\n title: string;\n href?: string;\n description?: string;\n icon?: React.ComponentType<{ className?: string }>;\n}\n\ninterface DropdownMenuProps {\n dropdown: DropdownConfig;\n isActive?: boolean;\n activeHref?: string;\n className?: string;\n}\n\nexport function DropdownMenu({\n dropdown,\n isActive = false,\n activeHref,\n className = \"\",\n}: DropdownMenuProps) {\n const [isExpanded, setIsExpanded] = useState(false);\n const { LinkComponent } = useComponents();\n const Icon = dropdown.icon || DocumentRegular;\n\n return (\n <div className={cn(\"mint:mb-2 mint:lg:mb-2\", className)}>\n <button\n onClick={() => setIsExpanded(!isExpanded)}\n aria-expanded={isExpanded}\n aria-label={`${isExpanded ? \"Collapse\" : \"Expand\"} ${\n dropdown.title\n } dropdown`}\n className={cn(\n \"mint:w-full mint:py-2 mint:px-3 mint:rounded-xl mint:bg-white mint:dark:bg-[#1f1f1f] mint:border mint:border-[rgba(229,231,235,0.7)] mint:dark:border-[rgba(255,255,255,0.07)] mint:cursor-pointer mint:hover:border-[#d1d5db] mint:hover:bg-[rgba(75,85,99,0.05)] mint:dark:hover:border-[rgba(255,255,255,0.15)] mint:dark:hover:bg-[rgba(75,85,99,0.05)] mint:focus-visible:outline-2 mint:focus-visible:outline-[#643fb2] mint:focus-visible:outline-offset-2\",\n isActive &&\n \"mint:shadow-[0_0_0_2px_rgba(100,63,178,0.2)] mint:border-[rgba(100,63,178,0.3)]\"\n )}\n >\n <div className=\"mint:flex mint:items-center mint:gap-2\">\n <div className=\"mint:flex-shrink-0\">\n <div className=\"mint:w-8 mint:h-8 mint:rounded-lg mint:flex mint:items-center mint:justify-center mint:bg-[#e1cefc] mint:dark:bg-[#38255e] mint:border mint:border-[#643fb2] mint:dark:border-[#c9aaf9]\">\n <Icon className=\"mint:w-4 mint:h-4 mint:text-[#643fb2] mint:dark:text-[#c9aaf9]\" />\n </div>\n </div>\n\n <div className=\"mint:flex-1 mint:text-left mint:min-w-0\">\n <div className=\"mint:text-sm mint:font-medium mint:text-[#111827] mint:dark:text-white\">\n {dropdown.title}\n </div>\n <div className=\"mint:text-xs mint:text-[#4b5563] mint:dark:text-[#9ca3af] mint:line-clamp-2\">\n {dropdown.description}\n </div>\n </div>\n\n <div className=\"mint:flex-shrink-0\">\n <svg\n className={cn(\n \"mint:w-4 mint:h-4 mint:text-[#6b7280] mint:dark:text-[#9ca3af] mint:transition-transform mint:duration-200\",\n isExpanded ? \"mint:rotate-180\" : \"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=\"M19 9l-7 7-7-7\"\n />\n </svg>\n </div>\n </div>\n </button>\n\n {isExpanded && dropdown.items && dropdown.items.length > 0 && (\n <div className=\"mint:relative mint:mt-2\">\n <div className=\"mint:absolute mint:top-0 mint:left-0 mint:right-0 mint:z-10 mint:w-full mint:p-1 mint:rounded-lg mint:bg-white mint:dark:bg-[#1f1f1f] mint:border mint:border-[rgba(229,231,235,0.7)] mint:dark:border-[rgba(255,255,255,0.07)] mint:shadow-[0_10px_15px_-3px_rgba(0,0,0,0.1),0_4px_6px_-2px_rgba(0,0,0,0.05)]\">\n <div className=\"mint:flex mint:flex-col mint:gap-1\">\n {dropdown.items.map((item, index) => {\n const LinkElement = LinkComponent || \"a\";\n return (\n <LinkElement\n key={`${item.href}-${index}`}\n href={item.href}\n className=\"mint:flex mint:items-center mint:justify-between mint:py-1.5 mint:px-2 mint:text-sm mint:rounded-xl mint:transition-all mint:duration-150 mint:no-underline mint:text-[#111827] mint:dark:text-white mint:hover:bg-[rgba(75,85,99,0.05)] mint:hover:text-[#111827] 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 <div className=\"mint:flex mint:items-center mint:gap-2\">\n {item.icon && (\n <div className=\"mint:w-7 mint:h-7 mint:rounded-lg mint:flex mint:items-center mint:justify-center mint:bg-[#e1cefc] mint:dark:bg-[#38255e] mint:border mint:border-[#643fb2] mint:dark:border-[#c9aaf9]\">\n <item.icon className=\"mint:w-4 mint:h-4 mint:text-[#643fb2] mint:dark:text-[#c9aaf9]\" />\n </div>\n )}\n <span className=\"mint:font-medium\">{item.title}</span>\n </div>\n {item.href && activeHref === item.href && (\n <CheckmarkFilled className=\"mint:w-3 mint:h-3 mint:text-[#643fb2] mint:dark:text-[#c9aaf9]\" />\n )}\n </LinkElement>\n );\n })}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"names":["DropdownMenu","dropdown","isActive","activeHref","className","isExpanded","setIsExpanded","useState","LinkComponent","useComponents","Icon","DocumentRegular","cn","jsx","jsxs","item","index","CheckmarkFilled"],"mappings":";;;;;AA8BO,SAASA,EAAa;AAAA,EAC3B,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,YAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAAsB;AACpB,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAS,EAAK,GAC5C,EAAE,eAAAC,EAAA,IAAkBC,EAAA,GACpBC,IAAOT,EAAS,QAAQU;AAE9B,2BACG,OAAA,EAAI,WAAWC,EAAG,0BAA0BR,CAAS,GACpD,UAAA;AAAA,IAAA,gBAAAS;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS,MAAMP,EAAc,CAACD,CAAU;AAAA,QACxC,iBAAeA;AAAA,QACf,cAAY,GAAGA,IAAa,aAAa,QAAQ,IAC/CJ,EAAS,KACX;AAAA,QACA,WAAWW;AAAA,UACT;AAAA,UACAV,KACE;AAAA,QAAA;AAAA,QAGJ,UAAA,gBAAAY,EAAC,OAAA,EAAI,WAAU,0CACb,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,sBACb,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2LACb,UAAA,gBAAAA,EAACH,GAAA,EAAK,WAAU,iEAAA,CAAiE,EAAA,CACnF,GACF;AAAA,UAEA,gBAAAI,EAAC,OAAA,EAAI,WAAU,2CACb,UAAA;AAAA,YAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,0EACZ,UAAAZ,EAAS,OACZ;AAAA,YACA,gBAAAY,EAAC,OAAA,EAAI,WAAU,+EACZ,YAAS,YAAA,CACZ;AAAA,UAAA,GACF;AAAA,UAEA,gBAAAA,EAAC,OAAA,EAAI,WAAU,sBACb,UAAA,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWD;AAAA,gBACT;AAAA,gBACAP,IAAa,oBAAoB;AAAA,cAAA;AAAA,cAEnC,MAAK;AAAA,cACL,QAAO;AAAA,cACP,SAAQ;AAAA,cACR,eAAY;AAAA,cAEZ,UAAA,gBAAAQ;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,eAAc;AAAA,kBACd,gBAAe;AAAA,kBACf,aAAa;AAAA,kBACb,GAAE;AAAA,gBAAA;AAAA,cAAA;AAAA,YACJ;AAAA,UAAA,EACF,CACF;AAAA,QAAA,EAAA,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,IAGDR,KAAcJ,EAAS,SAASA,EAAS,MAAM,SAAS,KACvD,gBAAAY,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA,gBAAAA,EAAC,SAAI,WAAU,kTACb,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,sCACZ,YAAS,MAAM,IAAI,CAACE,GAAMC,MAGvB,gBAAAF;AAAA,MAFkBN,KAAiB;AAAA,MAElC;AAAA,QAEC,MAAMO,EAAK;AAAA,QACX,WAAU;AAAA,QAEV,UAAA;AAAA,UAAA,gBAAAD,EAAC,OAAA,EAAI,WAAU,0CACZ,UAAA;AAAA,YAAAC,EAAK,QACJ,gBAAAF,EAAC,OAAA,EAAI,WAAU,2LACb,UAAA,gBAAAA,EAACE,EAAK,MAAL,EAAU,WAAU,iEAAA,CAAiE,EAAA,CACxF;AAAA,YAEF,gBAAAF,EAAC,QAAA,EAAK,WAAU,oBAAoB,YAAK,MAAA,CAAM;AAAA,UAAA,GACjD;AAAA,UACCE,EAAK,QAAQZ,MAAeY,EAAK,QAChC,gBAAAF,EAACI,GAAA,EAAgB,WAAU,iEAAA,CAAiE;AAAA,QAAA;AAAA,MAAA;AAAA,MAbzF,GAAGF,EAAK,IAAI,IAAIC,CAAK;AAAA,IAAA,CAiB/B,EAAA,CACH,EAAA,CACF,EAAA,CACF;AAAA,EAAA,GAEJ;AAEJ;"}
|