@aortl/admin-react 0.2.0 → 0.4.0
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/README.md +3 -1
- package/dist/Accordion.d.ts.map +1 -1
- package/dist/AdminRoot.d.ts.map +1 -1
- package/dist/Alert.d.ts.map +1 -1
- package/dist/AppShell.d.ts.map +1 -1
- package/dist/Badge.d.ts.map +1 -1
- package/dist/BrandTile.d.ts.map +1 -1
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/ButtonGroup.d.ts.map +1 -1
- package/dist/Card.d.ts.map +1 -1
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Footer.d.ts.map +1 -1
- package/dist/InputGroup.d.ts.map +1 -1
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Navbar.d.ts.map +1 -1
- package/dist/Pagination.d.ts.map +1 -1
- package/dist/Progress.d.ts.map +1 -1
- package/dist/Sidebar.d.ts.map +1 -1
- package/dist/Spinner.d.ts.map +1 -1
- package/dist/Table.d.ts.map +1 -1
- package/dist/Textarea.d.ts.map +1 -1
- package/dist/Tooltip.d.ts +36 -0
- package/dist/Tooltip.d.ts.map +1 -0
- package/dist/admin.scoped.css +513 -349
- package/dist/cn.d.ts +9 -3
- package/dist/cn.d.ts.map +1 -1
- package/dist/index.cjs +181 -99
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +181 -100
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
- package/dist/admin.css +0 -3380
package/dist/index.cjs
CHANGED
|
@@ -11,29 +11,51 @@ let _base_ui_react_switch = require("@base-ui/react/switch");
|
|
|
11
11
|
let _base_ui_react_select = require("@base-ui/react/select");
|
|
12
12
|
let _base_ui_react_field = require("@base-ui/react/field");
|
|
13
13
|
let _base_ui_react_tabs = require("@base-ui/react/tabs");
|
|
14
|
+
let _base_ui_react_tooltip = require("@base-ui/react/tooltip");
|
|
14
15
|
let _base_ui_react_dialog = require("@base-ui/react/dialog");
|
|
16
|
+
//#region src/cn.ts
|
|
17
|
+
/**
|
|
18
|
+
* Every admin class name is prefixed so the bundle can coexist with a host
|
|
19
|
+
* page's CSS without colliding on common names like `.btn` or `.card`. The
|
|
20
|
+
* matching CSS lives in `@aortl/admin-css/admin.scoped.css` (built by
|
|
21
|
+
* `wrap-scoped.mjs`), which carries the same prefix on every selector.
|
|
22
|
+
*/
|
|
23
|
+
var PREFIX = "_ao-";
|
|
24
|
+
function prefixTokens(value) {
|
|
25
|
+
if (!value) return "";
|
|
26
|
+
return value.split(/\s+/).filter(Boolean).map((token) => `${PREFIX}${token}`).join(" ");
|
|
27
|
+
}
|
|
28
|
+
function join(...parts) {
|
|
29
|
+
return parts.filter(Boolean).join(" ");
|
|
30
|
+
}
|
|
31
|
+
function cn(base, className) {
|
|
32
|
+
const baseClasses = prefixTokens((0, clsx.clsx)(base));
|
|
33
|
+
if (typeof className === "function") return (state) => join(baseClasses, className(state) ?? void 0);
|
|
34
|
+
return join(baseClasses, className);
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
15
37
|
//#region src/Accordion.tsx
|
|
16
38
|
function AccordionRoot({ className, ...rest }) {
|
|
17
39
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
18
|
-
className: (
|
|
40
|
+
className: cn("accordion", className),
|
|
19
41
|
...rest
|
|
20
42
|
});
|
|
21
43
|
}
|
|
22
44
|
function AccordionItem({ className, ...rest }) {
|
|
23
45
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("details", {
|
|
24
|
-
className: (
|
|
46
|
+
className: cn("accordion-item", className),
|
|
25
47
|
...rest
|
|
26
48
|
});
|
|
27
49
|
}
|
|
28
50
|
function AccordionSummary({ className, ...rest }) {
|
|
29
51
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("summary", {
|
|
30
|
-
className: (
|
|
52
|
+
className: cn("accordion-summary", className),
|
|
31
53
|
...rest
|
|
32
54
|
});
|
|
33
55
|
}
|
|
34
56
|
function AccordionContent({ className, ...rest }) {
|
|
35
57
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
36
|
-
className: (
|
|
58
|
+
className: cn("accordion-content", className),
|
|
37
59
|
...rest
|
|
38
60
|
});
|
|
39
61
|
}
|
|
@@ -46,7 +68,7 @@ var Accordion = Object.assign(AccordionRoot, {
|
|
|
46
68
|
//#region src/AdminRoot.tsx
|
|
47
69
|
function AdminRoot({ className, ...rest }) {
|
|
48
70
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
49
|
-
className: (
|
|
71
|
+
className: cn("admin-root", className),
|
|
50
72
|
...rest
|
|
51
73
|
});
|
|
52
74
|
}
|
|
@@ -73,7 +95,7 @@ function renderIcon(icon, size = 16) {
|
|
|
73
95
|
function AlertRoot({ variant = "info", icon, title, description, className, role, children, ...rest }) {
|
|
74
96
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
75
97
|
role: role ?? (variant === "danger" || variant === "warning" ? "alert" : "status"),
|
|
76
|
-
className: (
|
|
98
|
+
className: cn(["alert", `alert-${variant}`], className),
|
|
77
99
|
...rest,
|
|
78
100
|
children: [
|
|
79
101
|
renderIcon(icon),
|
|
@@ -85,13 +107,13 @@ function AlertRoot({ variant = "info", icon, title, description, className, role
|
|
|
85
107
|
}
|
|
86
108
|
function AlertTitle({ className, ...rest }) {
|
|
87
109
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", {
|
|
88
|
-
className: (
|
|
110
|
+
className: cn("alert-title", className),
|
|
89
111
|
...rest
|
|
90
112
|
});
|
|
91
113
|
}
|
|
92
114
|
function AlertDescription({ className, ...rest }) {
|
|
93
115
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
94
|
-
className: (
|
|
116
|
+
className: cn("alert-description", className),
|
|
95
117
|
...rest
|
|
96
118
|
});
|
|
97
119
|
}
|
|
@@ -129,7 +151,11 @@ function AppShellRoot({ hasSidebar = false, hasFooter = false, mobileDrawerOpen,
|
|
|
129
151
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AppShellContext.Provider, {
|
|
130
152
|
value,
|
|
131
153
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
132
|
-
className: (
|
|
154
|
+
className: cn([
|
|
155
|
+
"app-shell",
|
|
156
|
+
hasSidebar && "app-shell-with-sidebar",
|
|
157
|
+
hasFooter && "app-shell-with-footer"
|
|
158
|
+
], className),
|
|
133
159
|
style: rootStyle,
|
|
134
160
|
...rest,
|
|
135
161
|
children
|
|
@@ -138,7 +164,7 @@ function AppShellRoot({ hasSidebar = false, hasFooter = false, mobileDrawerOpen,
|
|
|
138
164
|
}
|
|
139
165
|
function AppShellMain({ className, ...rest }) {
|
|
140
166
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("main", {
|
|
141
|
-
className: (
|
|
167
|
+
className: cn("app-shell-main", className),
|
|
142
168
|
...rest
|
|
143
169
|
});
|
|
144
170
|
}
|
|
@@ -147,7 +173,11 @@ var AppShell = Object.assign(AppShellRoot, { Main: AppShellMain });
|
|
|
147
173
|
//#region src/Badge.tsx
|
|
148
174
|
function Badge({ variant = "neutral", size = "md", icon, className, children, ...rest }) {
|
|
149
175
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
150
|
-
className: (
|
|
176
|
+
className: cn([
|
|
177
|
+
"badge",
|
|
178
|
+
`badge-${variant}`,
|
|
179
|
+
size !== "md" && `badge-${size}`
|
|
180
|
+
], className),
|
|
151
181
|
...rest,
|
|
152
182
|
children: [renderIcon(icon, size === "sm" ? 10 : 12), children]
|
|
153
183
|
});
|
|
@@ -156,26 +186,13 @@ function Badge({ variant = "neutral", size = "md", icon, className, children, ..
|
|
|
156
186
|
//#region src/BrandTile.tsx
|
|
157
187
|
function BrandTile({ monogram, icon, className, children, ...rest }) {
|
|
158
188
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
159
|
-
className: (
|
|
189
|
+
className: cn("brand-tile", className),
|
|
160
190
|
"aria-hidden": true,
|
|
161
191
|
...rest,
|
|
162
192
|
children: icon ? renderIcon(icon, 14) : children ?? monogram
|
|
163
193
|
});
|
|
164
194
|
}
|
|
165
195
|
//#endregion
|
|
166
|
-
//#region src/cn.ts
|
|
167
|
-
/**
|
|
168
|
-
* className merger that preserves Base UI's render-prop className form.
|
|
169
|
-
*
|
|
170
|
-
* Base UI components accept `className: string | ((state) => string | undefined)`. The plain
|
|
171
|
-
* `clsx()` path is correct for strings, but a function form has to be deferred
|
|
172
|
-
* until Base UI invokes it with the component state.
|
|
173
|
-
*/
|
|
174
|
-
function cn(base, className) {
|
|
175
|
-
if (typeof className === "function") return (state) => (0, clsx.clsx)(base, className(state));
|
|
176
|
-
return (0, clsx.clsx)(base, className);
|
|
177
|
-
}
|
|
178
|
-
//#endregion
|
|
179
196
|
//#region src/Button.tsx
|
|
180
197
|
function Button({ variant = "primary", size = "md", fullWidth, loading, icon, iconTrailing, className, type = "button", disabled, children, ...rest }) {
|
|
181
198
|
const iconOnly = children == null && (icon != null || iconTrailing != null);
|
|
@@ -204,7 +221,7 @@ function Button({ variant = "primary", size = "md", fullWidth, loading, icon, ic
|
|
|
204
221
|
function ButtonGroup({ orientation = "horizontal", role = "group", className, ...rest }) {
|
|
205
222
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
206
223
|
role,
|
|
207
|
-
className: (
|
|
224
|
+
className: cn(["btn-group", orientation === "vertical" && "btn-group-vertical"], className),
|
|
208
225
|
...rest
|
|
209
226
|
});
|
|
210
227
|
}
|
|
@@ -214,7 +231,7 @@ function BreadcrumbsRoot({ separator, className, children, "aria-label": ariaLab
|
|
|
214
231
|
const items = react.Children.toArray(children).filter(react.isValidElement);
|
|
215
232
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("nav", {
|
|
216
233
|
"aria-label": ariaLabel,
|
|
217
|
-
className: (
|
|
234
|
+
className: cn("breadcrumbs", className),
|
|
218
235
|
...rest,
|
|
219
236
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ol", { children: items.map((child, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react.Fragment, { children: [child, i < items.length - 1 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(BreadcrumbSeparator, { children: separator }) : null] }, child.key ?? i)) })
|
|
220
237
|
});
|
|
@@ -223,7 +240,7 @@ function BreadcrumbItem(props) {
|
|
|
223
240
|
if (props.href !== void 0) {
|
|
224
241
|
const { className, current, icon, children, ...rest } = props;
|
|
225
242
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
226
|
-
className: (
|
|
243
|
+
className: cn("breadcrumb-item", className),
|
|
227
244
|
"aria-current": current ? "page" : void 0,
|
|
228
245
|
...rest,
|
|
229
246
|
children: [renderIcon(icon, 14), children]
|
|
@@ -231,7 +248,7 @@ function BreadcrumbItem(props) {
|
|
|
231
248
|
}
|
|
232
249
|
const { className, current, icon, children, ...rest } = props;
|
|
233
250
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
234
|
-
className: (
|
|
251
|
+
className: cn("breadcrumb-item", className),
|
|
235
252
|
"aria-current": current ? "page" : void 0,
|
|
236
253
|
...rest,
|
|
237
254
|
children: [renderIcon(icon, 14), children]
|
|
@@ -240,7 +257,7 @@ function BreadcrumbItem(props) {
|
|
|
240
257
|
function BreadcrumbSeparator({ className, children, ...rest }) {
|
|
241
258
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
242
259
|
"aria-hidden": "true",
|
|
243
|
-
className: (
|
|
260
|
+
className: cn("breadcrumb-separator", className),
|
|
244
261
|
...rest,
|
|
245
262
|
children
|
|
246
263
|
});
|
|
@@ -279,13 +296,13 @@ function FileInput({ variant = "bordered", inputSize = "md", className, ...rest
|
|
|
279
296
|
//#region src/InputGroup.tsx
|
|
280
297
|
function InputGroupRoot({ className, ...rest }) {
|
|
281
298
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
282
|
-
className: (
|
|
299
|
+
className: cn("input-group", className),
|
|
283
300
|
...rest
|
|
284
301
|
});
|
|
285
302
|
}
|
|
286
303
|
function InputGroupAddon({ className, ...rest }) {
|
|
287
304
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
288
|
-
className: (
|
|
305
|
+
className: cn("input-group-addon", className),
|
|
289
306
|
...rest
|
|
290
307
|
});
|
|
291
308
|
}
|
|
@@ -370,10 +387,10 @@ function Pagination({ page, total, onPageChange, siblingCount = 1, boundaryCount
|
|
|
370
387
|
const next = nextIcon !== void 0 ? renderIcon(nextIcon, 16) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChevronRightIcon, {});
|
|
371
388
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("nav", {
|
|
372
389
|
"aria-label": ariaLabel,
|
|
373
|
-
className: (
|
|
390
|
+
className: cn("pagination", className),
|
|
374
391
|
...rest,
|
|
375
392
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", { children: items.map((item, i) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", {
|
|
376
|
-
className: "page-item",
|
|
393
|
+
className: cn("page-item", void 0),
|
|
377
394
|
children: renderItem ? renderItem(item) : defaultRender(item, onPageChange, prev, next)
|
|
378
395
|
}, paginationItemKey(item, i))) })
|
|
379
396
|
});
|
|
@@ -419,7 +436,7 @@ function defaultRender(item, onPageChange, prev, next) {
|
|
|
419
436
|
switch (item.type) {
|
|
420
437
|
case "previous": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
421
438
|
type: "button",
|
|
422
|
-
className: "page-link",
|
|
439
|
+
className: cn("page-link", void 0),
|
|
423
440
|
"aria-label": "Previous page",
|
|
424
441
|
"aria-disabled": item.disabled || void 0,
|
|
425
442
|
disabled: item.disabled,
|
|
@@ -428,7 +445,7 @@ function defaultRender(item, onPageChange, prev, next) {
|
|
|
428
445
|
});
|
|
429
446
|
case "next": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
430
447
|
type: "button",
|
|
431
|
-
className: "page-link",
|
|
448
|
+
className: cn("page-link", void 0),
|
|
432
449
|
"aria-label": "Next page",
|
|
433
450
|
"aria-disabled": item.disabled || void 0,
|
|
434
451
|
disabled: item.disabled,
|
|
@@ -436,13 +453,13 @@ function defaultRender(item, onPageChange, prev, next) {
|
|
|
436
453
|
children: next
|
|
437
454
|
});
|
|
438
455
|
case "ellipsis": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
439
|
-
className: "page-ellipsis",
|
|
456
|
+
className: cn("page-ellipsis", void 0),
|
|
440
457
|
"aria-hidden": "true",
|
|
441
458
|
children: "…"
|
|
442
459
|
});
|
|
443
460
|
case "page": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
444
461
|
type: "button",
|
|
445
|
-
className: (
|
|
462
|
+
className: cn(["page-link", item.selected && "active"], void 0),
|
|
446
463
|
"aria-current": item.selected ? "page" : void 0,
|
|
447
464
|
"aria-label": `Page ${item.page}`,
|
|
448
465
|
onClick: () => onPageChange(item.page),
|
|
@@ -454,7 +471,11 @@ function defaultRender(item, onPageChange, prev, next) {
|
|
|
454
471
|
//#region src/Textarea.tsx
|
|
455
472
|
function Textarea({ variant = "bordered", textareaSize = "md", className, ...rest }) {
|
|
456
473
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("textarea", {
|
|
457
|
-
className: (
|
|
474
|
+
className: cn([
|
|
475
|
+
"textarea",
|
|
476
|
+
`textarea-${variant}`,
|
|
477
|
+
textareaSize !== "md" && `textarea-${textareaSize}`
|
|
478
|
+
], className),
|
|
458
479
|
...rest
|
|
459
480
|
});
|
|
460
481
|
}
|
|
@@ -516,7 +537,11 @@ function Progress({ value, max = 100, variant = "primary", size = "md", classNam
|
|
|
516
537
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("progress", {
|
|
517
538
|
value,
|
|
518
539
|
max,
|
|
519
|
-
className: (
|
|
540
|
+
className: cn([
|
|
541
|
+
"progress",
|
|
542
|
+
variant !== "primary" && `progress-${variant}`,
|
|
543
|
+
size !== "md" && `progress-${size}`
|
|
544
|
+
], className),
|
|
520
545
|
...rest
|
|
521
546
|
});
|
|
522
547
|
}
|
|
@@ -525,7 +550,7 @@ function Progress({ value, max = 100, variant = "primary", size = "md", classNam
|
|
|
525
550
|
function Spinner({ size = "md", label = "Loading", className, ...rest }) {
|
|
526
551
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("output", {
|
|
527
552
|
"aria-label": label,
|
|
528
|
-
className: (
|
|
553
|
+
className: cn(["spinner", size !== "md" && `spinner-${size}`], className),
|
|
529
554
|
...rest
|
|
530
555
|
});
|
|
531
556
|
}
|
|
@@ -652,7 +677,11 @@ var Select = Object.assign(SelectRoot, {
|
|
|
652
677
|
*/
|
|
653
678
|
function CardContainer({ bordered, compact, className, ...rest }) {
|
|
654
679
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
655
|
-
className: (
|
|
680
|
+
className: cn([
|
|
681
|
+
"card",
|
|
682
|
+
bordered && "card-bordered",
|
|
683
|
+
compact && "card-compact"
|
|
684
|
+
], className),
|
|
656
685
|
...rest
|
|
657
686
|
});
|
|
658
687
|
}
|
|
@@ -681,26 +710,26 @@ function CardRoot({ bordered, compact, icon, title, description, actions, classN
|
|
|
681
710
|
}
|
|
682
711
|
function CardBody({ className, ...rest }) {
|
|
683
712
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
684
|
-
className: (
|
|
713
|
+
className: cn("card-body", className),
|
|
685
714
|
...rest
|
|
686
715
|
});
|
|
687
716
|
}
|
|
688
717
|
function CardTitle({ icon, className, children, ...rest }) {
|
|
689
718
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("h3", {
|
|
690
|
-
className: (
|
|
719
|
+
className: cn("card-title", className),
|
|
691
720
|
...rest,
|
|
692
721
|
children: [renderIcon(icon), children]
|
|
693
722
|
});
|
|
694
723
|
}
|
|
695
724
|
function CardDescription({ className, ...rest }) {
|
|
696
725
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
697
|
-
className: (
|
|
726
|
+
className: cn("card-description", className),
|
|
698
727
|
...rest
|
|
699
728
|
});
|
|
700
729
|
}
|
|
701
730
|
function CardActions({ className, ...rest }) {
|
|
702
731
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
703
|
-
className: (
|
|
732
|
+
className: cn("card-actions", className),
|
|
704
733
|
...rest
|
|
705
734
|
});
|
|
706
735
|
}
|
|
@@ -754,7 +783,7 @@ function DialogContainer({ open, onOpenChange, size = "md", closedby = "any", cl
|
|
|
754
783
|
value: { close: () => ref.current?.close() },
|
|
755
784
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("dialog", {
|
|
756
785
|
ref,
|
|
757
|
-
className: (
|
|
786
|
+
className: cn(["dialog", size !== "md" && `dialog-${size}`], className),
|
|
758
787
|
closedby,
|
|
759
788
|
...rest,
|
|
760
789
|
children
|
|
@@ -763,32 +792,32 @@ function DialogContainer({ open, onOpenChange, size = "md", closedby = "any", cl
|
|
|
763
792
|
}
|
|
764
793
|
function DialogHeader({ className, ...rest }) {
|
|
765
794
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
766
|
-
className: (
|
|
795
|
+
className: cn("dialog-header", className),
|
|
767
796
|
...rest
|
|
768
797
|
});
|
|
769
798
|
}
|
|
770
799
|
function DialogTitle({ icon, className, children, ...rest }) {
|
|
771
800
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("h2", {
|
|
772
|
-
className: (
|
|
801
|
+
className: cn("dialog-title", className),
|
|
773
802
|
...rest,
|
|
774
803
|
children: [renderIcon(icon), children]
|
|
775
804
|
});
|
|
776
805
|
}
|
|
777
806
|
function DialogDescription({ className, ...rest }) {
|
|
778
807
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
|
|
779
|
-
className: (
|
|
808
|
+
className: cn("dialog-description", className),
|
|
780
809
|
...rest
|
|
781
810
|
});
|
|
782
811
|
}
|
|
783
812
|
function DialogBody({ className, ...rest }) {
|
|
784
813
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
785
|
-
className: (
|
|
814
|
+
className: cn("dialog-body", className),
|
|
786
815
|
...rest
|
|
787
816
|
});
|
|
788
817
|
}
|
|
789
818
|
function DialogFooter({ className, ...rest }) {
|
|
790
819
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
791
|
-
className: (
|
|
820
|
+
className: cn("dialog-footer", className),
|
|
792
821
|
...rest
|
|
793
822
|
});
|
|
794
823
|
}
|
|
@@ -796,7 +825,7 @@ function DialogCloseButton({ icon, className, children, onClick, type = "button"
|
|
|
796
825
|
const ctx = (0, react.useContext)(DialogContext);
|
|
797
826
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
798
827
|
type,
|
|
799
|
-
className: (
|
|
828
|
+
className: cn("dialog-close", className),
|
|
800
829
|
"aria-label": ariaLabel,
|
|
801
830
|
onClick: (event) => {
|
|
802
831
|
onClick?.(event);
|
|
@@ -820,7 +849,7 @@ function DialogRoot({ icon, title, description, actions, dismissible = true, clo
|
|
|
820
849
|
showHeader ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(DialogHeader, { children: [hasTitle ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogTitle, {
|
|
821
850
|
icon,
|
|
822
851
|
children: title
|
|
823
|
-
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: "flex-1" }), dismissible ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogCloseButton, { "aria-label": closeLabel }) : null] }) : null,
|
|
852
|
+
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { className: cn("flex-1", void 0) }), dismissible ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogCloseButton, { "aria-label": closeLabel }) : null] }) : null,
|
|
824
853
|
description !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogDescription, { children: description }) : null,
|
|
825
854
|
children !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogBody, { children }) : null,
|
|
826
855
|
actions !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DialogFooter, { children: actions }) : null
|
|
@@ -872,26 +901,26 @@ var Field = Object.assign(FieldRoot, {
|
|
|
872
901
|
//#region src/Footer.tsx
|
|
873
902
|
function FooterRoot({ className, ...rest }) {
|
|
874
903
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("footer", {
|
|
875
|
-
className: (
|
|
904
|
+
className: cn("footer", className),
|
|
876
905
|
...rest
|
|
877
906
|
});
|
|
878
907
|
}
|
|
879
908
|
function FooterLinks({ className, ...rest }) {
|
|
880
909
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
881
|
-
className: (
|
|
910
|
+
className: cn("footer-links", className),
|
|
882
911
|
...rest
|
|
883
912
|
});
|
|
884
913
|
}
|
|
885
914
|
function FooterLink({ className, children, ...rest }) {
|
|
886
915
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
|
|
887
|
-
className: (
|
|
916
|
+
className: cn("footer-link", className),
|
|
888
917
|
...rest,
|
|
889
918
|
children
|
|
890
919
|
});
|
|
891
920
|
}
|
|
892
921
|
function FooterMeta({ className, ...rest }) {
|
|
893
922
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
894
|
-
className: (
|
|
923
|
+
className: cn("footer-meta", className),
|
|
895
924
|
...rest
|
|
896
925
|
});
|
|
897
926
|
}
|
|
@@ -904,20 +933,20 @@ var Footer = Object.assign(FooterRoot, {
|
|
|
904
933
|
//#region src/Menu.tsx
|
|
905
934
|
function MenuRoot({ className, ...rest }) {
|
|
906
935
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("details", {
|
|
907
|
-
className: (
|
|
936
|
+
className: cn("menu", className),
|
|
908
937
|
...rest
|
|
909
938
|
});
|
|
910
939
|
}
|
|
911
940
|
function MenuTrigger({ className, ...rest }) {
|
|
912
941
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("summary", {
|
|
913
|
-
className: (
|
|
942
|
+
className: cn("menu-trigger", className),
|
|
914
943
|
...rest
|
|
915
944
|
});
|
|
916
945
|
}
|
|
917
946
|
function MenuPopup({ className, role = "menu", ...rest }) {
|
|
918
947
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
919
948
|
role,
|
|
920
|
-
className: (
|
|
949
|
+
className: cn("menu-popup", className),
|
|
921
950
|
...rest
|
|
922
951
|
});
|
|
923
952
|
}
|
|
@@ -926,7 +955,7 @@ function MenuItem(props) {
|
|
|
926
955
|
const { className, role = "menuitem", icon, children, ...rest } = props;
|
|
927
956
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
928
957
|
role,
|
|
929
|
-
className: (
|
|
958
|
+
className: cn("menu-item", className),
|
|
930
959
|
...rest,
|
|
931
960
|
children: [renderIcon(icon), children]
|
|
932
961
|
});
|
|
@@ -935,27 +964,27 @@ function MenuItem(props) {
|
|
|
935
964
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
936
965
|
type,
|
|
937
966
|
role,
|
|
938
|
-
className: (
|
|
967
|
+
className: cn("menu-item", className),
|
|
939
968
|
...rest,
|
|
940
969
|
children: [renderIcon(icon), children]
|
|
941
970
|
});
|
|
942
971
|
}
|
|
943
972
|
function MenuSeparator({ className, ...rest }) {
|
|
944
973
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("hr", {
|
|
945
|
-
className: (
|
|
974
|
+
className: cn("menu-separator", className),
|
|
946
975
|
...rest
|
|
947
976
|
});
|
|
948
977
|
}
|
|
949
978
|
function MenuGroup({ className, role = "group", ...rest }) {
|
|
950
979
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
951
980
|
role,
|
|
952
|
-
className: (
|
|
981
|
+
className: cn("menu-group", className),
|
|
953
982
|
...rest
|
|
954
983
|
});
|
|
955
984
|
}
|
|
956
985
|
function MenuGroupLabel({ className, ...rest }) {
|
|
957
986
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
958
|
-
className: (
|
|
987
|
+
className: cn("menu-group-label", className),
|
|
959
988
|
...rest
|
|
960
989
|
});
|
|
961
990
|
}
|
|
@@ -971,25 +1000,25 @@ var Menu = Object.assign(MenuRoot, {
|
|
|
971
1000
|
//#region src/Navbar.tsx
|
|
972
1001
|
function NavbarRoot({ className, ...rest }) {
|
|
973
1002
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("header", {
|
|
974
|
-
className: (
|
|
1003
|
+
className: cn("navbar", className),
|
|
975
1004
|
...rest
|
|
976
1005
|
});
|
|
977
1006
|
}
|
|
978
1007
|
function NavbarBrand({ className, ...rest }) {
|
|
979
1008
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
980
|
-
className: (
|
|
1009
|
+
className: cn("navbar-brand", className),
|
|
981
1010
|
...rest
|
|
982
1011
|
});
|
|
983
1012
|
}
|
|
984
1013
|
function NavbarItems({ className, ...rest }) {
|
|
985
1014
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("nav", {
|
|
986
|
-
className: (
|
|
1015
|
+
className: cn("navbar-items", className),
|
|
987
1016
|
...rest
|
|
988
1017
|
});
|
|
989
1018
|
}
|
|
990
1019
|
function NavbarItem({ active, icon, className, children, ...rest }) {
|
|
991
1020
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
992
|
-
className: (
|
|
1021
|
+
className: cn("navbar-item", className),
|
|
993
1022
|
"aria-current": active ? "page" : void 0,
|
|
994
1023
|
...rest,
|
|
995
1024
|
children: [renderIcon(icon), children]
|
|
@@ -1000,14 +1029,14 @@ function NavbarDropdown({ label, className, children, ...rest }) {
|
|
|
1000
1029
|
className,
|
|
1001
1030
|
...rest,
|
|
1002
1031
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Menu.Trigger, {
|
|
1003
|
-
className: "navbar-item",
|
|
1032
|
+
className: cn("navbar-item", void 0),
|
|
1004
1033
|
children: label
|
|
1005
1034
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Menu.Popup, { children })]
|
|
1006
1035
|
});
|
|
1007
1036
|
}
|
|
1008
1037
|
function NavbarActions({ className, ...rest }) {
|
|
1009
1038
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1010
|
-
className: (
|
|
1039
|
+
className: cn("navbar-actions", className),
|
|
1011
1040
|
...rest
|
|
1012
1041
|
});
|
|
1013
1042
|
}
|
|
@@ -1019,7 +1048,7 @@ function NavbarMobileToggle({ label = "Open menu", className, type = "button", .
|
|
|
1019
1048
|
"aria-label": label,
|
|
1020
1049
|
"aria-expanded": open,
|
|
1021
1050
|
onClick: () => shell?.setMobileDrawerOpen(!open),
|
|
1022
|
-
className: (
|
|
1051
|
+
className: cn("navbar-mobile-toggle", className),
|
|
1023
1052
|
...rest
|
|
1024
1053
|
});
|
|
1025
1054
|
}
|
|
@@ -1075,41 +1104,89 @@ var Tabs = Object.assign(TabsRoot, {
|
|
|
1075
1104
|
Indicator: TabsIndicator
|
|
1076
1105
|
});
|
|
1077
1106
|
//#endregion
|
|
1107
|
+
//#region src/Tooltip.tsx
|
|
1108
|
+
function TooltipProvider(props) {
|
|
1109
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Provider, { ...props });
|
|
1110
|
+
}
|
|
1111
|
+
function TooltipRoot(props) {
|
|
1112
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Root, { ...props });
|
|
1113
|
+
}
|
|
1114
|
+
function TooltipTrigger(props) {
|
|
1115
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Trigger, { ...props });
|
|
1116
|
+
}
|
|
1117
|
+
function TooltipPopup({ size = "md", side = "top", align = "center", sideOffset = 6, role = "tooltip", className, children, ...rest }) {
|
|
1118
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Positioner, {
|
|
1119
|
+
sideOffset,
|
|
1120
|
+
side,
|
|
1121
|
+
align,
|
|
1122
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Popup, {
|
|
1123
|
+
role,
|
|
1124
|
+
className: cn(["tooltip", size !== "md" && `tooltip-${size}`], className),
|
|
1125
|
+
...rest,
|
|
1126
|
+
children
|
|
1127
|
+
})
|
|
1128
|
+
}) });
|
|
1129
|
+
}
|
|
1130
|
+
function TooltipShorthand({ content, side, align, sideOffset, size, children, ...rootProps }) {
|
|
1131
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TooltipRoot, {
|
|
1132
|
+
...rootProps,
|
|
1133
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Trigger, { render: children }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TooltipPopup, {
|
|
1134
|
+
side,
|
|
1135
|
+
align,
|
|
1136
|
+
sideOffset,
|
|
1137
|
+
size,
|
|
1138
|
+
children: content
|
|
1139
|
+
})]
|
|
1140
|
+
});
|
|
1141
|
+
}
|
|
1142
|
+
var Tooltip = Object.assign(TooltipShorthand, {
|
|
1143
|
+
Provider: TooltipProvider,
|
|
1144
|
+
Root: TooltipRoot,
|
|
1145
|
+
Trigger: TooltipTrigger,
|
|
1146
|
+
Popup: TooltipPopup
|
|
1147
|
+
});
|
|
1148
|
+
//#endregion
|
|
1078
1149
|
//#region src/Table.tsx
|
|
1079
1150
|
function TableRoot({ striped, bordered, relaxed, sticky, className, ...rest }) {
|
|
1080
1151
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("table", {
|
|
1081
|
-
className: (
|
|
1152
|
+
className: cn([
|
|
1153
|
+
"table",
|
|
1154
|
+
striped && "table-striped",
|
|
1155
|
+
bordered && "table-bordered",
|
|
1156
|
+
relaxed && "table-relaxed",
|
|
1157
|
+
sticky && "table-sticky"
|
|
1158
|
+
], className),
|
|
1082
1159
|
...rest
|
|
1083
1160
|
});
|
|
1084
1161
|
}
|
|
1085
1162
|
function TableHead({ className, ...rest }) {
|
|
1086
1163
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("thead", {
|
|
1087
|
-
className
|
|
1164
|
+
className,
|
|
1088
1165
|
...rest
|
|
1089
1166
|
});
|
|
1090
1167
|
}
|
|
1091
1168
|
function TableBody({ className, ...rest }) {
|
|
1092
1169
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", {
|
|
1093
|
-
className
|
|
1170
|
+
className,
|
|
1094
1171
|
...rest
|
|
1095
1172
|
});
|
|
1096
1173
|
}
|
|
1097
1174
|
function TableFoot({ className, ...rest }) {
|
|
1098
1175
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tfoot", {
|
|
1099
|
-
className
|
|
1176
|
+
className,
|
|
1100
1177
|
...rest
|
|
1101
1178
|
});
|
|
1102
1179
|
}
|
|
1103
1180
|
function TableRow({ selected, asLink, className, ...rest }) {
|
|
1104
1181
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tr", {
|
|
1105
|
-
className: (
|
|
1182
|
+
className: cn(asLink && "table-row-link", className),
|
|
1106
1183
|
"data-selected": selected || void 0,
|
|
1107
1184
|
...rest
|
|
1108
1185
|
});
|
|
1109
1186
|
}
|
|
1110
1187
|
function TableHeaderCell({ align, gutter, className, scope, ...rest }) {
|
|
1111
1188
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", {
|
|
1112
|
-
className: (
|
|
1189
|
+
className: cn(["table-header-cell", gutter && "table-cell-gutter"], className),
|
|
1113
1190
|
"data-align": align && align !== "left" ? align : void 0,
|
|
1114
1191
|
scope: scope ?? "col",
|
|
1115
1192
|
...rest
|
|
@@ -1117,7 +1194,11 @@ function TableHeaderCell({ align, gutter, className, scope, ...rest }) {
|
|
|
1117
1194
|
}
|
|
1118
1195
|
function TableCell({ align, gutter, numeric, className, ...rest }) {
|
|
1119
1196
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
|
|
1120
|
-
className: (
|
|
1197
|
+
className: cn([
|
|
1198
|
+
"table-cell",
|
|
1199
|
+
gutter && "table-cell-gutter",
|
|
1200
|
+
numeric && "table-cell-numeric"
|
|
1201
|
+
], className),
|
|
1121
1202
|
"data-align": align && align !== "left" ? align : void 0,
|
|
1122
1203
|
...rest
|
|
1123
1204
|
});
|
|
@@ -1143,14 +1224,14 @@ function SidebarRoot({ collapsed, defaultCollapsed, onCollapsedChange, drawerLab
|
|
|
1143
1224
|
onCollapsedChange
|
|
1144
1225
|
},
|
|
1145
1226
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("aside", {
|
|
1146
|
-
className: (
|
|
1227
|
+
className: cn("sidebar", className),
|
|
1147
1228
|
...rest,
|
|
1148
1229
|
children: drawerOpen ? null : children
|
|
1149
1230
|
}), shell ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Root, {
|
|
1150
1231
|
open: drawerOpen,
|
|
1151
1232
|
onOpenChange: (open) => shell.setMobileDrawerOpen(open),
|
|
1152
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Portal, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Backdrop, { className: "sidebar-drawer-backdrop" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Popup, {
|
|
1153
|
-
className: "sidebar-drawer",
|
|
1233
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_dialog.Dialog.Portal, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Backdrop, { className: cn("sidebar-drawer-backdrop", void 0) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_dialog.Dialog.Popup, {
|
|
1234
|
+
className: cn("sidebar-drawer", void 0),
|
|
1154
1235
|
"aria-label": drawerLabel,
|
|
1155
1236
|
onClick: (event) => {
|
|
1156
1237
|
if (event.target.closest("a, [data-drawer-close]")) shell.setMobileDrawerOpen(false);
|
|
@@ -1162,31 +1243,31 @@ function SidebarRoot({ collapsed, defaultCollapsed, onCollapsedChange, drawerLab
|
|
|
1162
1243
|
}
|
|
1163
1244
|
function SidebarHeader({ className, ...rest }) {
|
|
1164
1245
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1165
|
-
className: (
|
|
1246
|
+
className: cn("sidebar-header", className),
|
|
1166
1247
|
...rest
|
|
1167
1248
|
});
|
|
1168
1249
|
}
|
|
1169
1250
|
function SidebarNav({ className, ...rest }) {
|
|
1170
1251
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("nav", {
|
|
1171
|
-
className: (
|
|
1252
|
+
className: cn("sidebar-nav", className),
|
|
1172
1253
|
...rest
|
|
1173
1254
|
});
|
|
1174
1255
|
}
|
|
1175
1256
|
function SidebarGroup({ className, ...rest }) {
|
|
1176
1257
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1177
|
-
className: (
|
|
1258
|
+
className: cn("sidebar-group", className),
|
|
1178
1259
|
...rest
|
|
1179
1260
|
});
|
|
1180
1261
|
}
|
|
1181
1262
|
function SidebarGroupLabel({ className, ...rest }) {
|
|
1182
1263
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1183
|
-
className: (
|
|
1264
|
+
className: cn("sidebar-group-label", className),
|
|
1184
1265
|
...rest
|
|
1185
1266
|
});
|
|
1186
1267
|
}
|
|
1187
1268
|
function SidebarItem({ active, icon, badge, className, children, ...rest }) {
|
|
1188
1269
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
1189
|
-
className: (
|
|
1270
|
+
className: cn("sidebar-item", className),
|
|
1190
1271
|
"aria-current": active ? "page" : void 0,
|
|
1191
1272
|
...rest,
|
|
1192
1273
|
children: [
|
|
@@ -1199,19 +1280,19 @@ function SidebarItem({ active, icon, badge, className, children, ...rest }) {
|
|
|
1199
1280
|
function SidebarIcon({ className, ...rest }) {
|
|
1200
1281
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1201
1282
|
"aria-hidden": true,
|
|
1202
|
-
className: (
|
|
1283
|
+
className: cn("sidebar-icon", className),
|
|
1203
1284
|
...rest
|
|
1204
1285
|
});
|
|
1205
1286
|
}
|
|
1206
1287
|
function SidebarLabel({ className, ...rest }) {
|
|
1207
1288
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1208
|
-
className: (
|
|
1289
|
+
className: cn("sidebar-label", className),
|
|
1209
1290
|
...rest
|
|
1210
1291
|
});
|
|
1211
1292
|
}
|
|
1212
1293
|
function SidebarBadge({ className, ...rest }) {
|
|
1213
1294
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1214
|
-
className: (
|
|
1295
|
+
className: cn("sidebar-badge", className),
|
|
1215
1296
|
...rest
|
|
1216
1297
|
});
|
|
1217
1298
|
}
|
|
@@ -1221,7 +1302,7 @@ function SidebarCollapsible({ icon, label, trigger, children, className, open, d
|
|
|
1221
1302
|
const isOpen = isControlled ? open : internalOpen;
|
|
1222
1303
|
const triggerContent = trigger ?? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [icon != null ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarIcon, { children: renderIcon(icon) }) : null, label !== void 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarLabel, { children: label }) : null] });
|
|
1223
1304
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("details", {
|
|
1224
|
-
className: (
|
|
1305
|
+
className: cn("sidebar-collapsible", className),
|
|
1225
1306
|
open: isOpen,
|
|
1226
1307
|
onToggle: (event) => {
|
|
1227
1308
|
const next = event.currentTarget.open;
|
|
@@ -1230,17 +1311,17 @@ function SidebarCollapsible({ icon, label, trigger, children, className, open, d
|
|
|
1230
1311
|
},
|
|
1231
1312
|
...rest,
|
|
1232
1313
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("summary", {
|
|
1233
|
-
className: "sidebar-collapsible-trigger",
|
|
1314
|
+
className: cn("sidebar-collapsible-trigger", void 0),
|
|
1234
1315
|
children: triggerContent
|
|
1235
1316
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1236
|
-
className: "sidebar-collapsible-panel",
|
|
1317
|
+
className: cn("sidebar-collapsible-panel", void 0),
|
|
1237
1318
|
children
|
|
1238
1319
|
})]
|
|
1239
1320
|
});
|
|
1240
1321
|
}
|
|
1241
1322
|
function SidebarSubItem({ active, icon, badge, className, children, ...rest }) {
|
|
1242
1323
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("a", {
|
|
1243
|
-
className: (
|
|
1324
|
+
className: cn("sidebar-subitem", className),
|
|
1244
1325
|
"aria-current": active ? "page" : void 0,
|
|
1245
1326
|
...rest,
|
|
1246
1327
|
children: [
|
|
@@ -1252,7 +1333,7 @@ function SidebarSubItem({ active, icon, badge, className, children, ...rest }) {
|
|
|
1252
1333
|
}
|
|
1253
1334
|
function SidebarFooter({ className, ...rest }) {
|
|
1254
1335
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1255
|
-
className: (
|
|
1336
|
+
className: cn("sidebar-footer", className),
|
|
1256
1337
|
...rest
|
|
1257
1338
|
});
|
|
1258
1339
|
}
|
|
@@ -1261,18 +1342,18 @@ function SidebarCollapseToggle({ label = "Toggle sidebar", className, children,
|
|
|
1261
1342
|
const controlledChecked = ctx?.collapsed;
|
|
1262
1343
|
const isControlled = controlledChecked !== void 0;
|
|
1263
1344
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
|
|
1264
|
-
className: (
|
|
1345
|
+
className: cn("sidebar-collapse-toggle", className),
|
|
1265
1346
|
...rest,
|
|
1266
1347
|
children: [
|
|
1267
1348
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
1268
1349
|
type: "checkbox",
|
|
1269
|
-
className: "sidebar-toggle",
|
|
1350
|
+
className: cn("sidebar-toggle", void 0),
|
|
1270
1351
|
"aria-label": label,
|
|
1271
1352
|
...isControlled ? { checked: controlledChecked } : { defaultChecked: ctx?.defaultCollapsed },
|
|
1272
1353
|
onChange: (event) => ctx?.onCollapsedChange?.(event.currentTarget.checked)
|
|
1273
1354
|
}),
|
|
1274
1355
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
1275
|
-
className: "sr-only",
|
|
1356
|
+
className: cn("sr-only", void 0),
|
|
1276
1357
|
children: label
|
|
1277
1358
|
}),
|
|
1278
1359
|
children
|
|
@@ -1324,6 +1405,7 @@ exports.Switch = Switch;
|
|
|
1324
1405
|
exports.Table = Table;
|
|
1325
1406
|
exports.Tabs = Tabs;
|
|
1326
1407
|
exports.Textarea = Textarea;
|
|
1408
|
+
exports.Tooltip = Tooltip;
|
|
1327
1409
|
exports.getPaginationItems = getPaginationItems;
|
|
1328
1410
|
exports.useAppShell = useAppShell;
|
|
1329
1411
|
|