@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,9 +1,8 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
return /* @__PURE__ */ a("span", { className: `not-prose ${m.paramName}`, children: r });
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
function i({ children: n }) {
|
|
3
|
+
return /* @__PURE__ */ m("span", { className: "not-prose mint:inline-block mint:mt-2 mint:mr-1 mint:px-1.5 mint:py-0.5 mint:text-sm mint:font-semibold mint:font-mono mint:rounded mint:bg-gray-100 mint:dark:bg-[#2d2d2d]", children: n });
|
|
5
4
|
}
|
|
6
5
|
export {
|
|
7
|
-
|
|
6
|
+
i as ParamName
|
|
8
7
|
};
|
|
9
8
|
//# sourceMappingURL=param-name.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"param-name.js","sources":["../../../src/components/content-components/param-name.tsx"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"param-name.js","sources":["../../../src/components/content-components/param-name.tsx"],"sourcesContent":["interface ParamNameProps {\n children: React.ReactNode;\n}\n\nexport function ParamName({ children }: ParamNameProps) {\n return (\n <span className=\"not-prose mint:inline-block mint:mt-2 mint:mr-1 mint:px-1.5 mint:py-0.5 mint:text-sm mint:font-semibold mint:font-mono mint:rounded mint:bg-gray-100 mint:dark:bg-[#2d2d2d]\">\n {children}\n </span>\n );\n}\n"],"names":["ParamName","children","jsx"],"mappings":";AAIO,SAASA,EAAU,EAAE,UAAAC,KAA4B;AACtD,SACE,gBAAAC,EAAC,QAAA,EAAK,WAAU,+KACb,UAAAD,EAAA,CACH;AAEJ;"}
|
|
@@ -1,122 +1,156 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import * as
|
|
3
|
-
import { useState as
|
|
4
|
-
import { TableModal as
|
|
5
|
-
import { ArrowExpand20Regular as
|
|
6
|
-
import
|
|
7
|
-
const
|
|
8
|
-
const [
|
|
9
|
-
|
|
1
|
+
import { jsxs as d, Fragment as c, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import * as i from "react";
|
|
3
|
+
import { useState as f } from "react";
|
|
4
|
+
import { TableModal as g } from "./table-modal.js";
|
|
5
|
+
import { ArrowExpand20Regular as x } from "@fluentui/react-icons";
|
|
6
|
+
import { cn as n } from "../../../utils/cn.js";
|
|
7
|
+
const p = i.forwardRef(({ className: t, children: a, ...e }, l) => {
|
|
8
|
+
const [o, m] = f(!1), s = () => {
|
|
9
|
+
m(!0);
|
|
10
10
|
}, b = () => {
|
|
11
|
-
|
|
11
|
+
m(!1);
|
|
12
12
|
};
|
|
13
|
-
return /* @__PURE__ */
|
|
14
|
-
/* @__PURE__ */
|
|
13
|
+
return /* @__PURE__ */ d(c, { children: [
|
|
14
|
+
/* @__PURE__ */ d(
|
|
15
15
|
"div",
|
|
16
16
|
{
|
|
17
|
-
className:
|
|
17
|
+
className: "mint:relative mint:block mint:mb-4 mint:mt-8",
|
|
18
18
|
role: "region",
|
|
19
19
|
"aria-label": "Data table",
|
|
20
20
|
children: [
|
|
21
|
-
/* @__PURE__ */
|
|
21
|
+
/* @__PURE__ */ d(
|
|
22
22
|
"button",
|
|
23
23
|
{
|
|
24
|
-
onClick:
|
|
25
|
-
className:
|
|
24
|
+
onClick: s,
|
|
25
|
+
className: "mint:ml-auto mint:flex mint:items-center mint:gap-2 mint:px-2 mint:py-1 mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:hover:bg-gray-100 mint:dark:hover:bg-[#2d2d2d]",
|
|
26
26
|
"aria-label": "Expand table to full screen view",
|
|
27
27
|
title: "Expand table",
|
|
28
28
|
children: [
|
|
29
|
-
/* @__PURE__ */
|
|
30
|
-
/* @__PURE__ */
|
|
29
|
+
/* @__PURE__ */ r(x, { className: "mint:h-4 mint:w-4 mint:text-gray-700 mint:dark:text-gray-200" }),
|
|
30
|
+
/* @__PURE__ */ r("span", { className: "mint:text-sm mint:text-gray-700 mint:dark:text-gray-200", children: "Expand table" })
|
|
31
31
|
]
|
|
32
32
|
}
|
|
33
33
|
),
|
|
34
|
-
/* @__PURE__ */
|
|
34
|
+
/* @__PURE__ */ r("div", { className: "mint:mt-2 mint:overflow-x-auto", children: /* @__PURE__ */ r(
|
|
35
35
|
"table",
|
|
36
36
|
{
|
|
37
|
-
ref:
|
|
38
|
-
className:
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
ref: l,
|
|
38
|
+
className: n(
|
|
39
|
+
"mint:mt-2 mint:border-collapse mint:text-sm mint:w-full mint:rounded-xl mint:overflow-hidden mint:bg-gray-50 mint:dark:bg-[#2d2d2d]",
|
|
40
|
+
t
|
|
41
|
+
),
|
|
42
|
+
...e,
|
|
43
|
+
children: a
|
|
41
44
|
}
|
|
42
45
|
) })
|
|
43
46
|
]
|
|
44
47
|
}
|
|
45
48
|
),
|
|
46
|
-
/* @__PURE__ */
|
|
49
|
+
/* @__PURE__ */ r(g, { isOpen: o, onClose: b, children: /* @__PURE__ */ r(
|
|
47
50
|
"table",
|
|
48
51
|
{
|
|
49
|
-
className:
|
|
50
|
-
|
|
52
|
+
className: n(
|
|
53
|
+
"mint:mt-2 mint:border-collapse mint:text-sm mint:w-full mint:rounded-xl mint:overflow-hidden mint:bg-gray-50 mint:dark:bg-[#2d2d2d]",
|
|
54
|
+
t
|
|
55
|
+
),
|
|
56
|
+
children: a
|
|
51
57
|
}
|
|
52
58
|
) })
|
|
53
59
|
] });
|
|
54
60
|
});
|
|
55
|
-
|
|
56
|
-
const
|
|
61
|
+
p.displayName = "Table";
|
|
62
|
+
const y = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
57
63
|
"thead",
|
|
58
64
|
{
|
|
59
|
-
ref:
|
|
60
|
-
className:
|
|
61
|
-
|
|
65
|
+
ref: e,
|
|
66
|
+
className: n(
|
|
67
|
+
"mint:text-gray-700 mint:bg-gray-50 mint:dark:text-gray-300 mint:dark:bg-[#2d2d2d] mint:[&>tr]:border-0",
|
|
68
|
+
t
|
|
69
|
+
),
|
|
70
|
+
...a
|
|
71
|
+
}
|
|
72
|
+
));
|
|
73
|
+
y.displayName = "TableHeader";
|
|
74
|
+
const h = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
75
|
+
"tbody",
|
|
76
|
+
{
|
|
77
|
+
ref: e,
|
|
78
|
+
className: n(
|
|
79
|
+
"mint:[&>tr:first-child>td:first-child]:rounded-tl-xl mint:[&>tr:first-child>td:last-child]:rounded-tr-xl mint:[&>tr:last-child>td:first-child]:rounded-bl-xl mint:[&>tr:last-child>td:last-child]:rounded-br-xl",
|
|
80
|
+
t
|
|
81
|
+
),
|
|
82
|
+
...a
|
|
62
83
|
}
|
|
63
84
|
));
|
|
64
|
-
|
|
65
|
-
const
|
|
66
|
-
w.displayName = "TableBody";
|
|
67
|
-
const R = s.forwardRef(({ className: a, ...e }, l) => /* @__PURE__ */ t(
|
|
85
|
+
h.displayName = "TableBody";
|
|
86
|
+
const u = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
68
87
|
"tfoot",
|
|
69
88
|
{
|
|
70
|
-
ref:
|
|
71
|
-
className:
|
|
72
|
-
|
|
89
|
+
ref: e,
|
|
90
|
+
className: n(
|
|
91
|
+
"mint:border-t mint:border-gray-200 mint:bg-gray-50/50 mint:font-medium mint:dark:border-t-gray-600 mint:dark:bg-[#2d2d2d]/50 mint:[&>tr:last-child]:border-b-0",
|
|
92
|
+
t
|
|
93
|
+
),
|
|
94
|
+
...a
|
|
73
95
|
}
|
|
74
96
|
));
|
|
75
|
-
|
|
76
|
-
const
|
|
97
|
+
u.displayName = "TableFooter";
|
|
98
|
+
const N = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
77
99
|
"tr",
|
|
78
100
|
{
|
|
79
|
-
ref:
|
|
80
|
-
className:
|
|
81
|
-
|
|
101
|
+
ref: e,
|
|
102
|
+
className: n(
|
|
103
|
+
"mint:border mint:border-gray-50 mint:dark:border-[#2d2d2d]",
|
|
104
|
+
t
|
|
105
|
+
),
|
|
106
|
+
...a
|
|
82
107
|
}
|
|
83
108
|
));
|
|
84
|
-
|
|
85
|
-
const
|
|
109
|
+
N.displayName = "TableRow";
|
|
110
|
+
const w = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
86
111
|
"th",
|
|
87
112
|
{
|
|
88
|
-
ref:
|
|
89
|
-
className:
|
|
90
|
-
|
|
113
|
+
ref: e,
|
|
114
|
+
className: n(
|
|
115
|
+
"mint:h-10 mint:bg-gray-50 mint:overflow-hidden mint:px-6 mint:text-left mint:font-semibold mint:text-gray-700 mint:first:rounded-tl-xl mint:last:rounded-tr-xl mint:dark:bg-[#2d2d2d] mint:dark:text-gray-300",
|
|
116
|
+
t
|
|
117
|
+
),
|
|
118
|
+
...a
|
|
91
119
|
}
|
|
92
120
|
));
|
|
93
|
-
|
|
94
|
-
const
|
|
121
|
+
w.displayName = "TableHead";
|
|
122
|
+
const k = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
95
123
|
"td",
|
|
96
124
|
{
|
|
97
|
-
ref:
|
|
98
|
-
className:
|
|
99
|
-
|
|
125
|
+
ref: e,
|
|
126
|
+
className: n(
|
|
127
|
+
"mint:bg-white mint:border-gray-50 mint:px-6 mint:py-3 mint:text-[#141414] mint:dark:bg-[#252525] mint:dark:border-[#2d2d2d] mint:dark:text-gray-200",
|
|
128
|
+
t
|
|
129
|
+
),
|
|
130
|
+
...a
|
|
100
131
|
}
|
|
101
132
|
));
|
|
102
|
-
|
|
103
|
-
const
|
|
133
|
+
k.displayName = "TableCell";
|
|
134
|
+
const T = i.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ r(
|
|
104
135
|
"caption",
|
|
105
136
|
{
|
|
106
|
-
ref:
|
|
107
|
-
className:
|
|
108
|
-
|
|
137
|
+
ref: e,
|
|
138
|
+
className: n(
|
|
139
|
+
"mint:mt-4 mint:text-sm mint:text-gray-500 mint:dark:text-gray-400",
|
|
140
|
+
t
|
|
141
|
+
),
|
|
142
|
+
...a
|
|
109
143
|
}
|
|
110
144
|
));
|
|
111
|
-
|
|
145
|
+
T.displayName = "TableCaption";
|
|
112
146
|
export {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
147
|
+
p as Table,
|
|
148
|
+
h as TableBody,
|
|
149
|
+
T as TableCaption,
|
|
150
|
+
k as TableCell,
|
|
151
|
+
u as TableFooter,
|
|
152
|
+
w as TableHead,
|
|
153
|
+
y as TableHeader,
|
|
154
|
+
N as TableRow
|
|
121
155
|
};
|
|
122
156
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/content-components/table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useState } from \"react\";\nimport { TableModal } from \"./table-modal\";\nimport { ArrowExpand20Regular } from \"@fluentui/react-icons\";\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/content-components/table/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { useState } from \"react\";\nimport { TableModal } from \"./table-modal\";\nimport { ArrowExpand20Regular } from \"@fluentui/react-icons\";\nimport { cn } from \"../../../utils/cn\";\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, children, ...props }, ref) => {\n const [isModalOpen, setIsModalOpen] = useState(false);\n\n const handleExpandClick = () => {\n setIsModalOpen(true);\n };\n\n const handleCloseModal = () => {\n setIsModalOpen(false);\n };\n\n return (\n <>\n <div\n className=\"mint:relative mint:block mint:mb-4 mint:mt-8\"\n role=\"region\"\n aria-label=\"Data table\"\n >\n <button\n onClick={handleExpandClick}\n className=\"mint:ml-auto mint:flex mint:items-center mint:gap-2 mint:px-2 mint:py-1 mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:hover:bg-gray-100 mint:dark:hover:bg-[#2d2d2d]\"\n aria-label=\"Expand table to full screen view\"\n title=\"Expand table\"\n >\n <ArrowExpand20Regular className=\"mint:h-4 mint:w-4 mint:text-gray-700 mint:dark:text-gray-200\" />\n <span className=\"mint:text-sm mint:text-gray-700 mint:dark:text-gray-200\">\n Expand table\n </span>\n </button>\n <div className=\"mint:mt-2 mint:overflow-x-auto\">\n <table\n ref={ref}\n className={cn(\n \"mint:mt-2 mint:border-collapse mint:text-sm mint:w-full mint:rounded-xl mint:overflow-hidden mint:bg-gray-50 mint:dark:bg-[#2d2d2d]\",\n className\n )}\n {...props}\n >\n {children}\n </table>\n </div>\n </div>\n <TableModal isOpen={isModalOpen} onClose={handleCloseModal}>\n <table\n className={cn(\n \"mint:mt-2 mint:border-collapse mint:text-sm mint:w-full mint:rounded-xl mint:overflow-hidden mint:bg-gray-50 mint:dark:bg-[#2d2d2d]\",\n className\n )}\n >\n {children}\n </table>\n </TableModal>\n </>\n );\n});\nTable.displayName = \"Table\";\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead\n ref={ref}\n className={cn(\n \"mint:text-gray-700 mint:bg-gray-50 mint:dark:text-gray-300 mint:dark:bg-[#2d2d2d] mint:[&>tr]:border-0\",\n className\n )}\n {...props}\n />\n));\nTableHeader.displayName = \"TableHeader\";\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\n \"mint:[&>tr:first-child>td:first-child]:rounded-tl-xl mint:[&>tr:first-child>td:last-child]:rounded-tr-xl mint:[&>tr:last-child>td:first-child]:rounded-bl-xl mint:[&>tr:last-child>td:last-child]:rounded-br-xl\",\n className\n )}\n {...props}\n />\n));\nTableBody.displayName = \"TableBody\";\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"mint:border-t mint:border-gray-200 mint:bg-gray-50/50 mint:font-medium mint:dark:border-t-gray-600 mint:dark:bg-[#2d2d2d]/50 mint:[&>tr:last-child]:border-b-0\",\n className\n )}\n {...props}\n />\n));\nTableFooter.displayName = \"TableFooter\";\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"mint:border mint:border-gray-50 mint:dark:border-[#2d2d2d]\",\n className\n )}\n {...props}\n />\n));\nTableRow.displayName = \"TableRow\";\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"mint:h-10 mint:bg-gray-50 mint:overflow-hidden mint:px-6 mint:text-left mint:font-semibold mint:text-gray-700 mint:first:rounded-tl-xl mint:last:rounded-tr-xl mint:dark:bg-[#2d2d2d] mint:dark:text-gray-300\",\n className\n )}\n {...props}\n />\n));\nTableHead.displayName = \"TableHead\";\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\n \"mint:bg-white mint:border-gray-50 mint:px-6 mint:py-3 mint:text-[#141414] mint:dark:bg-[#252525] mint:dark:border-[#2d2d2d] mint:dark:text-gray-200\",\n className\n )}\n {...props}\n />\n));\nTableCell.displayName = \"TableCell\";\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\n \"mint:mt-4 mint:text-sm mint:text-gray-500 mint:dark:text-gray-400\",\n className\n )}\n {...props}\n />\n));\nTableCaption.displayName = \"TableCaption\";\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n};\n"],"names":["Table","React","className","children","props","ref","isModalOpen","setIsModalOpen","useState","handleExpandClick","handleCloseModal","jsxs","Fragment","jsx","ArrowExpand20Regular","cn","TableModal","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"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"}
|
|
@@ -1,57 +1,56 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { Dismiss20Regular as
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return n ? (f.current = document.activeElement, document.body.style.overflow = "hidden", (e = m.current) == null || e.focus()) : (document.body.style.overflow = "unset", (t = f.current) == null || t.focus()), () => {
|
|
1
|
+
import { jsx as i, jsxs as v } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as d, useEffect as c } from "react";
|
|
3
|
+
import { Dismiss20Regular as y } from "@fluentui/react-icons";
|
|
4
|
+
function x({ isOpen: n, onClose: r, children: b }) {
|
|
5
|
+
const a = d(null), s = d(null), u = d(null);
|
|
6
|
+
return c(() => {
|
|
7
|
+
var t, e;
|
|
8
|
+
return n ? (u.current = document.activeElement, document.body.style.overflow = "hidden", (t = s.current) == null || t.focus()) : (document.body.style.overflow = "unset", (e = u.current) == null || e.focus()), () => {
|
|
10
9
|
document.body.style.overflow = "unset";
|
|
11
10
|
};
|
|
12
|
-
}, [n]),
|
|
13
|
-
const
|
|
14
|
-
|
|
11
|
+
}, [n]), c(() => {
|
|
12
|
+
const t = (e) => {
|
|
13
|
+
e.key === "Escape" && r();
|
|
15
14
|
};
|
|
16
|
-
return n && window.addEventListener("keydown",
|
|
17
|
-
window.removeEventListener("keydown",
|
|
15
|
+
return n && window.addEventListener("keydown", t), () => {
|
|
16
|
+
window.removeEventListener("keydown", t);
|
|
18
17
|
};
|
|
19
|
-
}, [n, r]),
|
|
20
|
-
if (!n || !
|
|
21
|
-
const
|
|
18
|
+
}, [n, r]), c(() => {
|
|
19
|
+
if (!n || !a.current) return;
|
|
20
|
+
const t = a.current, e = t.querySelectorAll(
|
|
22
21
|
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
23
|
-
),
|
|
24
|
-
|
|
22
|
+
), m = e[0], o = e[e.length - 1], f = (l) => {
|
|
23
|
+
l.key === "Tab" && (l.shiftKey ? document.activeElement === m && (l.preventDefault(), o == null || o.focus()) : document.activeElement === o && (l.preventDefault(), m == null || m.focus()));
|
|
25
24
|
};
|
|
26
|
-
return
|
|
27
|
-
|
|
25
|
+
return t.addEventListener("keydown", f), () => {
|
|
26
|
+
t.removeEventListener("keydown", f);
|
|
28
27
|
};
|
|
29
|
-
}, [n]), n ? /* @__PURE__ */
|
|
28
|
+
}, [n]), n ? /* @__PURE__ */ i(
|
|
30
29
|
"div",
|
|
31
30
|
{
|
|
32
|
-
className:
|
|
31
|
+
className: "mint:fixed mint:inset-0 mint:z-50 mint:flex mint:items-center mint:justify-center mint:p-4 mint:backdrop-blur-sm",
|
|
33
32
|
onClick: r,
|
|
34
33
|
role: "dialog",
|
|
35
34
|
"aria-modal": "true",
|
|
36
35
|
"aria-labelledby": "table-modal-title",
|
|
37
|
-
children: /* @__PURE__ */
|
|
36
|
+
children: /* @__PURE__ */ v(
|
|
38
37
|
"div",
|
|
39
38
|
{
|
|
40
|
-
ref:
|
|
41
|
-
className:
|
|
42
|
-
onClick: (
|
|
39
|
+
ref: a,
|
|
40
|
+
className: "mint:relative mint:w-full mint:max-w-screen-2xl mint:max-h-[90vh] mint:overflow-auto mint:bg-white mint:rounded-2xl mint:shadow-[0_25px_50px_-12px_rgba(0,0,0,0.25)] mint:border mint:border-gray-200 mint:dark:bg-[#1f1f1f] mint:dark:border-white/10",
|
|
41
|
+
onClick: (t) => t.stopPropagation(),
|
|
43
42
|
children: [
|
|
44
|
-
/* @__PURE__ */
|
|
43
|
+
/* @__PURE__ */ i("div", { className: "mint:sticky mint:top-0 mint:right-0 mint:z-10 mint:flex mint:justify-end mint:p-2 mint:pr-4 mint:backdrop-blur-sm", children: /* @__PURE__ */ i(
|
|
45
44
|
"button",
|
|
46
45
|
{
|
|
47
|
-
ref:
|
|
46
|
+
ref: s,
|
|
48
47
|
onClick: r,
|
|
49
|
-
className:
|
|
48
|
+
className: "mint:p-2 mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:hover:bg-gray-100 mint:dark:hover:bg-[#141414]",
|
|
50
49
|
"aria-label": "Close table expanded view",
|
|
51
|
-
children: /* @__PURE__ */
|
|
50
|
+
children: /* @__PURE__ */ i(y, { className: "mint:h-5 mint:w-5 mint:text-gray-700 mint:dark:text-white" })
|
|
52
51
|
}
|
|
53
52
|
) }),
|
|
54
|
-
/* @__PURE__ */
|
|
53
|
+
/* @__PURE__ */ i("div", { className: "mint:px-6 mint:py-4", id: "table-modal-title", children: b })
|
|
55
54
|
]
|
|
56
55
|
}
|
|
57
56
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-modal.js","sources":["../../../../src/components/content-components/table/table-modal.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { Dismiss20Regular } from \"@fluentui/react-icons\";\
|
|
1
|
+
{"version":3,"file":"table-modal.js","sources":["../../../../src/components/content-components/table/table-modal.tsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\nimport { Dismiss20Regular } from \"@fluentui/react-icons\";\n\ninterface TableModalProps {\n isOpen: boolean;\n onClose: () => void;\n children: React.ReactNode;\n}\n\nexport function TableModal({ isOpen, onClose, children }: TableModalProps) {\n const modalRef = useRef<HTMLDivElement>(null);\n const closeButtonRef = useRef<HTMLButtonElement>(null);\n const previousActiveElement = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (isOpen) {\n previousActiveElement.current = document.activeElement as HTMLElement;\n document.body.style.overflow = \"hidden\";\n closeButtonRef.current?.focus();\n } else {\n document.body.style.overflow = \"unset\";\n previousActiveElement.current?.focus();\n }\n\n return () => {\n document.body.style.overflow = \"unset\";\n };\n }, [isOpen]);\n\n useEffect(() => {\n const handleEscape = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n onClose();\n }\n };\n\n if (isOpen) {\n window.addEventListener(\"keydown\", handleEscape);\n }\n\n return () => {\n window.removeEventListener(\"keydown\", handleEscape);\n };\n }, [isOpen, onClose]);\n\n useEffect(() => {\n if (!isOpen || !modalRef.current) return;\n\n const modal = modalRef.current;\n const focusableElements = modal.querySelectorAll<HTMLElement>(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])'\n );\n const firstFocusable = focusableElements[0];\n const lastFocusable = focusableElements[focusableElements.length - 1];\n\n const handleTabKey = (e: KeyboardEvent) => {\n if (e.key !== \"Tab\") return;\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusable) {\n e.preventDefault();\n lastFocusable?.focus();\n }\n } else {\n if (document.activeElement === lastFocusable) {\n e.preventDefault();\n firstFocusable?.focus();\n }\n }\n };\n\n modal.addEventListener(\"keydown\", handleTabKey as EventListener);\n return () => {\n modal.removeEventListener(\"keydown\", handleTabKey as EventListener);\n };\n }, [isOpen]);\n\n if (!isOpen) return null;\n\n return (\n <div\n className=\"mint:fixed mint:inset-0 mint:z-50 mint:flex mint:items-center mint:justify-center mint:p-4 mint:backdrop-blur-sm\"\n onClick={onClose}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"table-modal-title\"\n >\n <div\n ref={modalRef}\n className=\"mint:relative mint:w-full mint:max-w-screen-2xl mint:max-h-[90vh] mint:overflow-auto mint:bg-white mint:rounded-2xl mint:shadow-[0_25px_50px_-12px_rgba(0,0,0,0.25)] mint:border mint:border-gray-200 mint:dark:bg-[#1f1f1f] mint:dark:border-white/10\"\n onClick={(e) => e.stopPropagation()}\n >\n <div className=\"mint:sticky mint:top-0 mint:right-0 mint:z-10 mint:flex mint:justify-end mint:p-2 mint:pr-4 mint:backdrop-blur-sm\">\n <button\n ref={closeButtonRef}\n onClick={onClose}\n className=\"mint:p-2 mint:rounded-lg mint:bg-transparent mint:border-none mint:cursor-pointer mint:hover:bg-gray-100 mint:dark:hover:bg-[#141414]\"\n aria-label=\"Close table expanded view\"\n >\n <Dismiss20Regular className=\"mint:h-5 mint:w-5 mint:text-gray-700 mint:dark:text-white\" />\n </button>\n </div>\n <div className=\"mint:px-6 mint:py-4\" id=\"table-modal-title\">\n {children}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["TableModal","isOpen","onClose","children","modalRef","useRef","closeButtonRef","previousActiveElement","useEffect","_a","_b","handleEscape","modal","focusableElements","firstFocusable","lastFocusable","handleTabKey","e","jsx","jsxs","Dismiss20Regular"],"mappings":";;;AASO,SAASA,EAAW,EAAE,QAAAC,GAAQ,SAAAC,GAAS,UAAAC,KAA6B;AACzE,QAAMC,IAAWC,EAAuB,IAAI,GACtCC,IAAiBD,EAA0B,IAAI,GAC/CE,IAAwBF,EAA2B,IAAI;AAiE7D,SA/DAG,EAAU,MAAM;;AACd,WAAIP,KACFM,EAAsB,UAAU,SAAS,eACzC,SAAS,KAAK,MAAM,WAAW,WAC/BE,IAAAH,EAAe,YAAf,QAAAG,EAAwB,YAExB,SAAS,KAAK,MAAM,WAAW,UAC/BC,IAAAH,EAAsB,YAAtB,QAAAG,EAA+B,UAG1B,MAAM;AACX,eAAS,KAAK,MAAM,WAAW;AAAA,IACjC;AAAA,EACF,GAAG,CAACT,CAAM,CAAC,GAEXO,EAAU,MAAM;AACd,UAAMG,IAAe,CAAC,MAAqB;AACzC,MAAI,EAAE,QAAQ,YACZT,EAAA;AAAA,IAEJ;AAEA,WAAID,KACF,OAAO,iBAAiB,WAAWU,CAAY,GAG1C,MAAM;AACX,aAAO,oBAAoB,WAAWA,CAAY;AAAA,IACpD;AAAA,EACF,GAAG,CAACV,GAAQC,CAAO,CAAC,GAEpBM,EAAU,MAAM;AACd,QAAI,CAACP,KAAU,CAACG,EAAS,QAAS;AAElC,UAAMQ,IAAQR,EAAS,SACjBS,IAAoBD,EAAM;AAAA,MAC9B;AAAA,IAAA,GAEIE,IAAiBD,EAAkB,CAAC,GACpCE,IAAgBF,EAAkBA,EAAkB,SAAS,CAAC,GAE9DG,IAAe,CAACC,MAAqB;AACzC,MAAIA,EAAE,QAAQ,UAEVA,EAAE,WACA,SAAS,kBAAkBH,MAC7BG,EAAE,eAAA,GACFF,KAAA,QAAAA,EAAe,WAGb,SAAS,kBAAkBA,MAC7BE,EAAE,eAAA,GACFH,KAAA,QAAAA,EAAgB;AAAA,IAGtB;AAEA,WAAAF,EAAM,iBAAiB,WAAWI,CAA6B,GACxD,MAAM;AACX,MAAAJ,EAAM,oBAAoB,WAAWI,CAA6B;AAAA,IACpE;AAAA,EACF,GAAG,CAACf,CAAM,CAAC,GAENA,IAGH,gBAAAiB;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MACV,SAAShB;AAAA,MACT,MAAK;AAAA,MACL,cAAW;AAAA,MACX,mBAAgB;AAAA,MAEhB,UAAA,gBAAAiB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,KAAKf;AAAA,UACL,WAAU;AAAA,UACV,SAAS,CAACa,MAAMA,EAAE,gBAAA;AAAA,UAElB,UAAA;AAAA,YAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,qHACb,UAAA,gBAAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAKZ;AAAA,gBACL,SAASJ;AAAA,gBACT,WAAU;AAAA,gBACV,cAAW;AAAA,gBAEX,UAAA,gBAAAgB,EAACE,GAAA,EAAiB,WAAU,4DAAA,CAA4D;AAAA,cAAA;AAAA,YAAA,GAE5F;AAAA,8BACC,OAAA,EAAI,WAAU,uBAAsB,IAAG,qBACrC,UAAAjB,EAAA,CACH;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA,IA5BgB;AA+BtB;"}
|
|
@@ -1,87 +1,92 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
const A = i.createContext({
|
|
1
|
+
import { jsx as a, jsxs as d } from "react/jsx-runtime";
|
|
2
|
+
import s, { useState as g, useRef as v, useEffect as y } from "react";
|
|
3
|
+
import { cn as u } from "../../../utils/cn.js";
|
|
4
|
+
const k = s.createContext({
|
|
6
5
|
activeTab: 0,
|
|
7
6
|
setActiveTab: () => {
|
|
8
7
|
}
|
|
9
8
|
});
|
|
10
|
-
function
|
|
11
|
-
const [
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
function T({ children: f, defaultTab: p = 0 }) {
|
|
10
|
+
const [o, m] = g(p), l = v([]), r = s.Children.toArray(f);
|
|
11
|
+
y(() => {
|
|
12
|
+
l.current = l.current.slice(0, r.length);
|
|
14
13
|
}, [r.length]);
|
|
15
|
-
const
|
|
16
|
-
var
|
|
17
|
-
let
|
|
18
|
-
switch (
|
|
14
|
+
const h = (e, t) => {
|
|
15
|
+
var i;
|
|
16
|
+
let n = t;
|
|
17
|
+
switch (e.key) {
|
|
19
18
|
case "ArrowRight":
|
|
20
|
-
|
|
19
|
+
e.preventDefault(), n = (t + 1) % r.length;
|
|
21
20
|
break;
|
|
22
21
|
case "ArrowLeft":
|
|
23
|
-
|
|
22
|
+
e.preventDefault(), n = (t - 1 + r.length) % r.length;
|
|
24
23
|
break;
|
|
25
24
|
case "Home":
|
|
26
|
-
|
|
25
|
+
e.preventDefault(), n = 0;
|
|
27
26
|
break;
|
|
28
27
|
case "End":
|
|
29
|
-
|
|
28
|
+
e.preventDefault(), n = r.length - 1;
|
|
30
29
|
break;
|
|
31
30
|
default:
|
|
32
31
|
return;
|
|
33
32
|
}
|
|
34
|
-
|
|
33
|
+
m(n), (i = l.current[n]) == null || i.focus();
|
|
35
34
|
};
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
-
/* @__PURE__ */
|
|
35
|
+
return /* @__PURE__ */ a(k.Provider, { value: { activeTab: o, setActiveTab: m }, children: /* @__PURE__ */ d("div", { className: "mint:my-6", children: [
|
|
36
|
+
/* @__PURE__ */ a(
|
|
38
37
|
"div",
|
|
39
38
|
{
|
|
40
39
|
role: "tablist",
|
|
41
40
|
"aria-label": "Content tabs",
|
|
42
|
-
className:
|
|
43
|
-
children: r.map((
|
|
44
|
-
if (!
|
|
45
|
-
const
|
|
46
|
-
return /* @__PURE__ */
|
|
41
|
+
className: "mint:flex mint:gap-1 mint:border-b mint:border-gray-200 mint:mb-4 mint:overflow-x-auto mint:dark:border-b-gray-700",
|
|
42
|
+
children: r.map((e, t) => {
|
|
43
|
+
if (!s.isValidElement(e)) return null;
|
|
44
|
+
const n = e.props.title || `Tab ${t + 1}`, i = e.props.icon, c = o === t;
|
|
45
|
+
return /* @__PURE__ */ a(
|
|
47
46
|
"button",
|
|
48
47
|
{
|
|
49
|
-
ref: (
|
|
48
|
+
ref: (b) => l.current[t] = b,
|
|
50
49
|
role: "tab",
|
|
51
|
-
"aria-selected":
|
|
52
|
-
"aria-controls": `tabpanel-${
|
|
53
|
-
id: `tab-${
|
|
54
|
-
tabIndex:
|
|
55
|
-
onClick: () =>
|
|
56
|
-
onKeyDown: (
|
|
57
|
-
className:
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
"aria-selected": c,
|
|
51
|
+
"aria-controls": `tabpanel-${t}`,
|
|
52
|
+
id: `tab-${t}`,
|
|
53
|
+
tabIndex: c ? 0 : -1,
|
|
54
|
+
onClick: () => m(t),
|
|
55
|
+
onKeyDown: (b) => h(b, t),
|
|
56
|
+
className: u(
|
|
57
|
+
"mint:px-4 mint:py-2 mint:text-sm mint:font-medium mint:border-b-2 mint:rounded-t mint:bg-transparent mint:cursor-pointer mint:transition-all mint:duration-150 mint:focus:outline-none mint:focus-visible:shadow-[0_0_0_2px_#fff,0_0_0_4px_#75b6e7] mint:focus-visible:outline-offset-2",
|
|
58
|
+
c ? "mint:border-b-[#0078d4] mint:text-[#0078d4] mint:dark:border-b-[#75b6e7] mint:dark:text-[#75b6e7]" : "mint:border-b-transparent mint:text-gray-600 mint:hover:text-gray-900 mint:hover:border-b-gray-300 mint:dark:text-gray-400 mint:dark:hover:text-gray-200 mint:dark:hover:border-b-gray-600"
|
|
59
|
+
),
|
|
60
|
+
children: /* @__PURE__ */ d("span", { className: "mint:flex mint:items-center mint:gap-2", children: [
|
|
61
|
+
i && /* @__PURE__ */ a("span", { "aria-hidden": "true", children: i }),
|
|
62
|
+
n
|
|
61
63
|
] })
|
|
62
64
|
},
|
|
63
|
-
|
|
65
|
+
t
|
|
64
66
|
);
|
|
65
67
|
})
|
|
66
68
|
}
|
|
67
69
|
),
|
|
68
|
-
/* @__PURE__ */
|
|
70
|
+
/* @__PURE__ */ a("div", { children: r.map((e, t) => /* @__PURE__ */ a(
|
|
69
71
|
"div",
|
|
70
72
|
{
|
|
71
73
|
role: "tabpanel",
|
|
72
|
-
id: `tabpanel-${
|
|
73
|
-
"aria-labelledby": `tab-${
|
|
74
|
+
id: `tabpanel-${t}`,
|
|
75
|
+
"aria-labelledby": `tab-${t}`,
|
|
74
76
|
tabIndex: 0,
|
|
75
|
-
hidden:
|
|
76
|
-
className:
|
|
77
|
-
|
|
77
|
+
hidden: o !== t,
|
|
78
|
+
className: u(
|
|
79
|
+
"mint:outline-none",
|
|
80
|
+
o !== t && "mint:hidden"
|
|
81
|
+
),
|
|
82
|
+
children: s.isValidElement(e) ? e.props.children : null
|
|
78
83
|
},
|
|
79
|
-
|
|
84
|
+
t
|
|
80
85
|
)) })
|
|
81
86
|
] }) });
|
|
82
87
|
}
|
|
83
88
|
export {
|
|
84
|
-
|
|
85
|
-
|
|
89
|
+
T as Tabs,
|
|
90
|
+
k as TabsContext
|
|
86
91
|
};
|
|
87
92
|
//# sourceMappingURL=tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../../src/components/content-components/tabs/tabs.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from \"react\";\nimport
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../src/components/content-components/tabs/tabs.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from \"react\";\nimport { cn } from \"../../../utils/cn\";\n\ninterface TabsProps {\n children: React.ReactNode;\n defaultTab?: number;\n}\n\ninterface TabsContextValue {\n activeTab: number;\n setActiveTab: (index: number) => void;\n}\n\nexport const TabsContext = React.createContext<TabsContextValue>({\n activeTab: 0,\n setActiveTab: () => {},\n});\n\nexport function Tabs({ children, defaultTab = 0 }: TabsProps) {\n const [activeTab, setActiveTab] = useState(defaultTab);\n const tabRefs = useRef<(HTMLButtonElement | null)[]>([]);\n\n const tabs = React.Children.toArray(children);\n\n useEffect(() => {\n tabRefs.current = tabRefs.current.slice(0, tabs.length);\n }, [tabs.length]);\n\n const handleKeyDown = (event: React.KeyboardEvent, currentIndex: number) => {\n let newIndex = currentIndex;\n\n switch (event.key) {\n case \"ArrowRight\":\n event.preventDefault();\n newIndex = (currentIndex + 1) % tabs.length;\n break;\n case \"ArrowLeft\":\n event.preventDefault();\n newIndex = (currentIndex - 1 + tabs.length) % tabs.length;\n break;\n case \"Home\":\n event.preventDefault();\n newIndex = 0;\n break;\n case \"End\":\n event.preventDefault();\n newIndex = tabs.length - 1;\n break;\n default:\n return;\n }\n\n setActiveTab(newIndex);\n tabRefs.current[newIndex]?.focus();\n };\n\n return (\n <TabsContext.Provider value={{ activeTab, setActiveTab }}>\n <div className=\"mint:my-6\">\n <div\n role=\"tablist\"\n aria-label=\"Content tabs\"\n className=\"mint:flex mint:gap-1 mint:border-b mint:border-gray-200 mint:mb-4 mint:overflow-x-auto mint:dark:border-b-gray-700\"\n >\n {tabs.map((tab, index) => {\n if (!React.isValidElement(tab)) return null;\n const title = tab.props.title || `Tab ${index + 1}`;\n const icon = tab.props.icon;\n const isActive = activeTab === index;\n\n return (\n <button\n key={index}\n ref={(el) => (tabRefs.current[index] = el)}\n role=\"tab\"\n aria-selected={isActive}\n aria-controls={`tabpanel-${index}`}\n id={`tab-${index}`}\n tabIndex={isActive ? 0 : -1}\n onClick={() => setActiveTab(index)}\n onKeyDown={(e) => handleKeyDown(e, index)}\n className={cn(\n \"mint:px-4 mint:py-2 mint:text-sm mint:font-medium mint:border-b-2 mint:rounded-t mint:bg-transparent mint:cursor-pointer mint:transition-all mint:duration-150 mint:focus:outline-none mint:focus-visible:shadow-[0_0_0_2px_#fff,0_0_0_4px_#75b6e7] mint:focus-visible:outline-offset-2\",\n isActive\n ? \"mint:border-b-[#0078d4] mint:text-[#0078d4] mint:dark:border-b-[#75b6e7] mint:dark:text-[#75b6e7]\"\n : \"mint:border-b-transparent mint:text-gray-600 mint:hover:text-gray-900 mint:hover:border-b-gray-300 mint:dark:text-gray-400 mint:dark:hover:text-gray-200 mint:dark:hover:border-b-gray-600\"\n )}\n >\n <span className=\"mint:flex mint:items-center mint:gap-2\">\n {icon && <span aria-hidden=\"true\">{icon}</span>}\n {title}\n </span>\n </button>\n );\n })}\n </div>\n\n <div>\n {tabs.map((tab, index) => (\n <div\n key={index}\n role=\"tabpanel\"\n id={`tabpanel-${index}`}\n aria-labelledby={`tab-${index}`}\n tabIndex={0}\n hidden={activeTab !== index}\n className={cn(\n \"mint:outline-none\",\n activeTab !== index && \"mint:hidden\"\n )}\n >\n {React.isValidElement(tab) ? tab.props.children : null}\n </div>\n ))}\n </div>\n </div>\n </TabsContext.Provider>\n );\n}\n"],"names":["TabsContext","React","Tabs","children","defaultTab","activeTab","setActiveTab","useState","tabRefs","useRef","tabs","useEffect","handleKeyDown","event","currentIndex","newIndex","_a","jsx","jsxs","tab","index","title","icon","isActive","el","e","cn"],"mappings":"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"}
|