@loykin/designkit 0.0.1-dev.2 → 0.0.1-dev.4
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 +113 -22
- package/dist/index.cjs +426 -103
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +100 -3
- package/dist/index.d.ts +100 -3
- package/dist/index.js +425 -106
- package/dist/index.js.map +1 -1
- package/dist/styles.css +2 -77
- package/package.json +5 -3
package/dist/index.cjs
CHANGED
|
@@ -133,7 +133,11 @@ function AvatarGroupCount({ className, ...props }) {
|
|
|
133
133
|
);
|
|
134
134
|
}
|
|
135
135
|
var badgeVariants = classVarianceAuthority.cva(
|
|
136
|
-
|
|
136
|
+
// transition-all is replaced with an explicit list to prevent width animation
|
|
137
|
+
// on font swap (e.g. font-display:swap triggering a layout recalc). Inside
|
|
138
|
+
// overflow:clip containers like DataGrid cells, an animated width change makes
|
|
139
|
+
// the pill appear to grow from a clipped state. Color transitions are preserved.
|
|
140
|
+
"group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,background-color,border-color,box-shadow,opacity] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",
|
|
137
141
|
{
|
|
138
142
|
variants: {
|
|
139
143
|
variant: {
|
|
@@ -1752,6 +1756,9 @@ function SidebarMenuSubButton({
|
|
|
1752
1756
|
}
|
|
1753
1757
|
});
|
|
1754
1758
|
}
|
|
1759
|
+
function useSidebarOptional() {
|
|
1760
|
+
return React2__namespace.useContext(SidebarContext);
|
|
1761
|
+
}
|
|
1755
1762
|
function EmptyState({ icon: Icon, title, description, action, className }) {
|
|
1756
1763
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1757
1764
|
"div",
|
|
@@ -2006,10 +2013,10 @@ function Header({ children, className }) {
|
|
|
2006
2013
|
{
|
|
2007
2014
|
"data-slot": "data-page-header",
|
|
2008
2015
|
className: cn(
|
|
2009
|
-
"shrink-0 px-[var(--
|
|
2016
|
+
"shrink-0 px-[var(--designkit-page-padding-x)] pt-[var(--designkit-page-padding-y)]",
|
|
2010
2017
|
className
|
|
2011
2018
|
),
|
|
2012
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-between gap-[var(--
|
|
2019
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center justify-between gap-[var(--designkit-panel-gap)]", children })
|
|
2013
2020
|
}
|
|
2014
2021
|
);
|
|
2015
2022
|
}
|
|
@@ -2027,7 +2034,7 @@ function Actions({ children, className }) {
|
|
|
2027
2034
|
"div",
|
|
2028
2035
|
{
|
|
2029
2036
|
"data-slot": "data-page-actions",
|
|
2030
|
-
className: cn("flex shrink-0 items-center gap-[calc(var(--
|
|
2037
|
+
className: cn("flex shrink-0 items-center gap-[calc(var(--designkit-panel-gap)*0.5)]", className),
|
|
2031
2038
|
children
|
|
2032
2039
|
}
|
|
2033
2040
|
);
|
|
@@ -2065,8 +2072,8 @@ function Content({ children, className, padding = "default" }) {
|
|
|
2065
2072
|
"data-slot": "data-page-content",
|
|
2066
2073
|
className: cn(
|
|
2067
2074
|
"min-h-0 flex-1 overflow-auto",
|
|
2068
|
-
padding === "default" && "px-[var(--
|
|
2069
|
-
padding === "compact" && "p-[calc(var(--
|
|
2075
|
+
padding === "default" && "px-[var(--designkit-page-padding-x)] pb-[var(--designkit-page-padding-y)] pt-[var(--designkit-page-padding-y)]",
|
|
2076
|
+
padding === "compact" && "p-[calc(var(--designkit-page-padding-y)*0.875)]",
|
|
2070
2077
|
padding === "none" && "p-0",
|
|
2071
2078
|
className
|
|
2072
2079
|
),
|
|
@@ -2103,7 +2110,7 @@ function GroupHeader({
|
|
|
2103
2110
|
{
|
|
2104
2111
|
"data-slot": "data-page-group-header",
|
|
2105
2112
|
className: cn(
|
|
2106
|
-
"flex items-start justify-between gap-4 px-0 pb-[calc(var(--
|
|
2113
|
+
"flex items-start justify-between gap-4 px-0 pb-[calc(var(--designkit-panel-gap)*0.75)]",
|
|
2107
2114
|
className
|
|
2108
2115
|
),
|
|
2109
2116
|
children: [
|
|
@@ -2124,7 +2131,7 @@ function GroupToolbar({ children, className }) {
|
|
|
2124
2131
|
{
|
|
2125
2132
|
"data-slot": "data-page-group-toolbar",
|
|
2126
2133
|
className: cn(
|
|
2127
|
-
"flex min-h-[var(--
|
|
2134
|
+
"flex min-h-[var(--designkit-toolbar-height)] items-center justify-between gap-[calc(var(--designkit-panel-gap)*0.75)] pb-[calc(var(--designkit-panel-gap)*0.75)]",
|
|
2128
2135
|
className
|
|
2129
2136
|
),
|
|
2130
2137
|
children
|
|
@@ -2205,15 +2212,224 @@ function DashboardBodyTemplate({
|
|
|
2205
2212
|
}) {
|
|
2206
2213
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-dashboard", className), style: theme, children: [
|
|
2207
2214
|
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
2208
|
-
(title || toolbar) && /* @__PURE__ */ jsxRuntime.jsx("header", { className: "shrink-0 border-b px-(--
|
|
2215
|
+
(title || toolbar) && /* @__PURE__ */ jsxRuntime.jsx("header", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
|
|
2209
2216
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
2210
2217
|
title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-sm font-semibold truncate", children: title }),
|
|
2211
2218
|
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
|
|
2212
2219
|
] }),
|
|
2213
2220
|
toolbar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 shrink-0", children: toolbar })
|
|
2214
2221
|
] }) }),
|
|
2215
|
-
variableBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 flex flex-wrap items-center gap-2 px-(--
|
|
2216
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex-1 min-h-0 overflow-auto px-[calc(var(--
|
|
2222
|
+
variableBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 flex flex-wrap items-center gap-2 px-(--designkit-page-padding-x) py-1.5", children: variableBar }),
|
|
2223
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex-1 min-h-0 overflow-auto px-[calc(var(--designkit-page-padding-x)-0.5rem)] pt-0 pb-(--designkit-page-padding-y)", contentClassName), children })
|
|
2224
|
+
] });
|
|
2225
|
+
}
|
|
2226
|
+
function clamp(value, min, max) {
|
|
2227
|
+
return Math.min(Math.max(value, min), max);
|
|
2228
|
+
}
|
|
2229
|
+
function ResizeHandle({
|
|
2230
|
+
axis,
|
|
2231
|
+
onPointerDown,
|
|
2232
|
+
className
|
|
2233
|
+
}) {
|
|
2234
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2235
|
+
"div",
|
|
2236
|
+
{
|
|
2237
|
+
role: "separator",
|
|
2238
|
+
"aria-orientation": axis === "x" ? "vertical" : "horizontal",
|
|
2239
|
+
className: cn(
|
|
2240
|
+
"group/resize relative z-10 shrink-0 touch-none bg-transparent",
|
|
2241
|
+
axis === "x" ? "-mx-1 w-2 cursor-col-resize" : "-my-1 h-2 cursor-row-resize",
|
|
2242
|
+
className
|
|
2243
|
+
),
|
|
2244
|
+
onPointerDown,
|
|
2245
|
+
children: [
|
|
2246
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2247
|
+
"div",
|
|
2248
|
+
{
|
|
2249
|
+
className: cn(
|
|
2250
|
+
"absolute bg-border transition-colors group-hover/resize:bg-muted-foreground/40",
|
|
2251
|
+
axis === "x" ? "left-1/2 top-0 h-full w-px -translate-x-1/2" : "left-0 top-1/2 h-px w-full -translate-y-1/2"
|
|
2252
|
+
)
|
|
2253
|
+
}
|
|
2254
|
+
),
|
|
2255
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2256
|
+
"div",
|
|
2257
|
+
{
|
|
2258
|
+
className: cn(
|
|
2259
|
+
"absolute rounded-full bg-muted-foreground/35 opacity-0 transition-opacity group-hover/resize:opacity-100",
|
|
2260
|
+
axis === "x" ? "left-1/2 top-1/2 h-10 w-1 -translate-x-1/2 -translate-y-1/2" : "left-1/2 top-1/2 h-1 w-10 -translate-x-1/2 -translate-y-1/2"
|
|
2261
|
+
)
|
|
2262
|
+
}
|
|
2263
|
+
)
|
|
2264
|
+
]
|
|
2265
|
+
}
|
|
2266
|
+
);
|
|
2267
|
+
}
|
|
2268
|
+
function WorkbenchBodyTemplate({
|
|
2269
|
+
theme,
|
|
2270
|
+
className,
|
|
2271
|
+
contentClassName,
|
|
2272
|
+
title,
|
|
2273
|
+
description,
|
|
2274
|
+
topBar,
|
|
2275
|
+
headerRight,
|
|
2276
|
+
toolbar,
|
|
2277
|
+
actions,
|
|
2278
|
+
leftPane,
|
|
2279
|
+
mainPane,
|
|
2280
|
+
rightPane,
|
|
2281
|
+
bottomPane,
|
|
2282
|
+
children,
|
|
2283
|
+
resizable = true,
|
|
2284
|
+
leftPaneCollapsed,
|
|
2285
|
+
rightPaneCollapsed,
|
|
2286
|
+
bottomPaneCollapsed,
|
|
2287
|
+
leftPaneWidth = 260,
|
|
2288
|
+
rightPaneWidth = 320,
|
|
2289
|
+
bottomPaneHeight = 240,
|
|
2290
|
+
minLeftPaneWidth = 180,
|
|
2291
|
+
maxLeftPaneWidth = 440,
|
|
2292
|
+
minRightPaneWidth = 240,
|
|
2293
|
+
maxRightPaneWidth = 520,
|
|
2294
|
+
minBottomPaneHeight = 120,
|
|
2295
|
+
maxBottomPaneHeight = 420,
|
|
2296
|
+
leftPaneClassName,
|
|
2297
|
+
mainPaneClassName,
|
|
2298
|
+
rightPaneClassName,
|
|
2299
|
+
bottomPaneClassName,
|
|
2300
|
+
leftPaneLabel = "Panel",
|
|
2301
|
+
rightPaneLabel = "Inspector"
|
|
2302
|
+
}) {
|
|
2303
|
+
const [leftWidth, setLeftWidth] = React2.useState(leftPaneWidth);
|
|
2304
|
+
const [rightWidth, setRightWidth] = React2.useState(rightPaneWidth);
|
|
2305
|
+
const [bottomHeight, setBottomHeight] = React2.useState(bottomPaneHeight);
|
|
2306
|
+
const startResize = React2.useCallback((event, axis, applyDelta) => {
|
|
2307
|
+
if (!resizable) return;
|
|
2308
|
+
const start = axis === "x" ? event.clientX : event.clientY;
|
|
2309
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
2310
|
+
const previousCursor = document.body.style.cursor;
|
|
2311
|
+
const previousUserSelect = document.body.style.userSelect;
|
|
2312
|
+
document.body.style.cursor = axis === "x" ? "col-resize" : "row-resize";
|
|
2313
|
+
document.body.style.userSelect = "none";
|
|
2314
|
+
const onPointerMove = (moveEvent) => {
|
|
2315
|
+
applyDelta((axis === "x" ? moveEvent.clientX : moveEvent.clientY) - start);
|
|
2316
|
+
};
|
|
2317
|
+
const onPointerUp = () => {
|
|
2318
|
+
document.body.style.cursor = previousCursor;
|
|
2319
|
+
document.body.style.userSelect = previousUserSelect;
|
|
2320
|
+
window.removeEventListener("pointermove", onPointerMove);
|
|
2321
|
+
window.removeEventListener("pointerup", onPointerUp);
|
|
2322
|
+
};
|
|
2323
|
+
window.addEventListener("pointermove", onPointerMove);
|
|
2324
|
+
window.addEventListener("pointerup", onPointerUp, { once: true });
|
|
2325
|
+
}, [resizable]);
|
|
2326
|
+
const headerRightContent = headerRight ?? toolbar;
|
|
2327
|
+
const showHeader = title || description || headerRightContent || actions;
|
|
2328
|
+
const showLeftPane = leftPane && !leftPaneCollapsed;
|
|
2329
|
+
const showRightPane = rightPane && !rightPaneCollapsed;
|
|
2330
|
+
const showBottomPane = bottomPane && !bottomPaneCollapsed;
|
|
2331
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-workbench", className), style: theme, children: [
|
|
2332
|
+
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
2333
|
+
showHeader && /* @__PURE__ */ jsxRuntime.jsx("header", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-[calc(var(--designkit-page-padding-y)*0.75)]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-[var(--designkit-toolbar-height)] items-center justify-between gap-3", children: [
|
|
2334
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
2335
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "truncate text-sm font-semibold", children: title }),
|
|
2336
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-muted-foreground", children: description })
|
|
2337
|
+
] }),
|
|
2338
|
+
(headerRightContent || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
2339
|
+
headerRightContent,
|
|
2340
|
+
actions
|
|
2341
|
+
] })
|
|
2342
|
+
] }) }),
|
|
2343
|
+
(showLeftPane || showRightPane) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-1.5 border-b px-2 py-1.5 md:hidden", children: [
|
|
2344
|
+
showLeftPane && /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
2345
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { render: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm" }), children: leftPaneLabel }),
|
|
2346
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "left", className: "flex flex-col gap-0 p-0", children: [
|
|
2347
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { className: "shrink-0 border-b px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: leftPaneLabel }) }),
|
|
2348
|
+
/* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { className: "flex-1", children: leftPane })
|
|
2349
|
+
] })
|
|
2350
|
+
] }),
|
|
2351
|
+
showRightPane && /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
2352
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { render: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm" }), children: rightPaneLabel }),
|
|
2353
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "right", className: "flex flex-col gap-0 p-0", children: [
|
|
2354
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { className: "shrink-0 border-b px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: rightPaneLabel }) }),
|
|
2355
|
+
/* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { className: "flex-1", children: rightPane })
|
|
2356
|
+
] })
|
|
2357
|
+
] })
|
|
2358
|
+
] }),
|
|
2359
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex min-h-0 flex-1 overflow-hidden", contentClassName), children: [
|
|
2360
|
+
showLeftPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2361
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2362
|
+
"aside",
|
|
2363
|
+
{
|
|
2364
|
+
className: cn("hidden min-h-0 shrink-0 overflow-hidden border-r bg-card/45 md:flex md:flex-col", leftPaneClassName),
|
|
2365
|
+
style: { width: leftWidth },
|
|
2366
|
+
children: leftPane
|
|
2367
|
+
}
|
|
2368
|
+
),
|
|
2369
|
+
resizable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2370
|
+
ResizeHandle,
|
|
2371
|
+
{
|
|
2372
|
+
axis: "x",
|
|
2373
|
+
className: "hidden md:flex",
|
|
2374
|
+
onPointerDown: (event) => {
|
|
2375
|
+
const start = leftWidth;
|
|
2376
|
+
startResize(event, "x", (delta) => {
|
|
2377
|
+
setLeftWidth(clamp(start + delta, minLeftPaneWidth, maxLeftPaneWidth));
|
|
2378
|
+
});
|
|
2379
|
+
}
|
|
2380
|
+
}
|
|
2381
|
+
)
|
|
2382
|
+
] }),
|
|
2383
|
+
/* @__PURE__ */ jsxRuntime.jsxs("main", { className: cn("flex min-w-0 flex-1 flex-col overflow-hidden", mainPaneClassName), children: [
|
|
2384
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-hidden", children: mainPane ?? children }),
|
|
2385
|
+
showBottomPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2386
|
+
resizable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2387
|
+
ResizeHandle,
|
|
2388
|
+
{
|
|
2389
|
+
axis: "y",
|
|
2390
|
+
className: "hidden md:flex",
|
|
2391
|
+
onPointerDown: (event) => {
|
|
2392
|
+
const start = bottomHeight;
|
|
2393
|
+
startResize(event, "y", (delta) => {
|
|
2394
|
+
setBottomHeight(clamp(start - delta, minBottomPaneHeight, maxBottomPaneHeight));
|
|
2395
|
+
});
|
|
2396
|
+
}
|
|
2397
|
+
}
|
|
2398
|
+
),
|
|
2399
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2400
|
+
"section",
|
|
2401
|
+
{
|
|
2402
|
+
className: cn("min-h-0 shrink-0 overflow-auto border-t bg-card/40 md:overflow-hidden", bottomPaneClassName),
|
|
2403
|
+
style: { height: bottomHeight },
|
|
2404
|
+
children: bottomPane
|
|
2405
|
+
}
|
|
2406
|
+
)
|
|
2407
|
+
] })
|
|
2408
|
+
] }),
|
|
2409
|
+
showRightPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2410
|
+
resizable && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2411
|
+
ResizeHandle,
|
|
2412
|
+
{
|
|
2413
|
+
axis: "x",
|
|
2414
|
+
className: "hidden md:flex",
|
|
2415
|
+
onPointerDown: (event) => {
|
|
2416
|
+
const start = rightWidth;
|
|
2417
|
+
startResize(event, "x", (delta) => {
|
|
2418
|
+
setRightWidth(clamp(start - delta, minRightPaneWidth, maxRightPaneWidth));
|
|
2419
|
+
});
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
),
|
|
2423
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2424
|
+
"aside",
|
|
2425
|
+
{
|
|
2426
|
+
className: cn("hidden min-h-0 shrink-0 overflow-hidden border-l bg-card/45 md:flex md:flex-col", rightPaneClassName),
|
|
2427
|
+
style: { width: rightWidth },
|
|
2428
|
+
children: rightPane
|
|
2429
|
+
}
|
|
2430
|
+
)
|
|
2431
|
+
] })
|
|
2432
|
+
] })
|
|
2217
2433
|
] });
|
|
2218
2434
|
}
|
|
2219
2435
|
function DataBodyTab(_props) {
|
|
@@ -2262,13 +2478,13 @@ function GroupWrapper({
|
|
|
2262
2478
|
children
|
|
2263
2479
|
}) {
|
|
2264
2480
|
if (variant === "card") {
|
|
2265
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-(--
|
|
2481
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-(--designkit-panel-gap)", children }) });
|
|
2266
2482
|
}
|
|
2267
2483
|
if (variant === "bordered") {
|
|
2268
2484
|
if (layout === "inline") {
|
|
2269
2485
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-(--radius) border divide-y", children });
|
|
2270
2486
|
}
|
|
2271
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-(--radius) border p-(--
|
|
2487
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-(--radius) border p-(--designkit-panel-gap)", children });
|
|
2272
2488
|
}
|
|
2273
2489
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
2274
2490
|
}
|
|
@@ -2288,12 +2504,13 @@ function renderGroupProps(props) {
|
|
|
2288
2504
|
description,
|
|
2289
2505
|
actions,
|
|
2290
2506
|
danger,
|
|
2507
|
+
className,
|
|
2291
2508
|
children
|
|
2292
2509
|
} = props;
|
|
2293
2510
|
const variant = variantProp ?? layoutDefaultVariant[layout];
|
|
2294
2511
|
if (layout === "split") {
|
|
2295
2512
|
const panes = React2.Children.toArray(children);
|
|
2296
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-(--
|
|
2513
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2297
2514
|
(title || description || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-start justify-between", children: [
|
|
2298
2515
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2299
2516
|
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2301,21 +2518,21 @@ function renderGroupProps(props) {
|
|
|
2301
2518
|
] }),
|
|
2302
2519
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { children: actions })
|
|
2303
2520
|
] }),
|
|
2304
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid min-h-104 gap-(--
|
|
2521
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid min-h-104 gap-(--designkit-panel-gap) lg:grid-cols-[20rem_minmax(0,1fr)]", children: panes.map((pane, i) => /* @__PURE__ */ jsxRuntime.jsx(GroupWrapper, { layout, variant, children: pane }, i)) })
|
|
2305
2522
|
] });
|
|
2306
2523
|
}
|
|
2307
2524
|
if (layout === "horizontal") {
|
|
2308
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-
|
|
2525
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid grid-cols-1 gap-(--designkit-panel-gap) py-(--designkit-panel-gap) sm:grid-cols-3 sm:gap-[calc(var(--designkit-panel-gap)*2)]", className), children: [
|
|
2309
2526
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2310
2527
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm font-medium", danger && "text-destructive"), children: title }),
|
|
2311
2528
|
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: description }),
|
|
2312
2529
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: actions })
|
|
2313
2530
|
] }),
|
|
2314
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(GroupWrapper, { layout, variant, children }) })
|
|
2531
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sm:col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(GroupWrapper, { layout, variant, children }) })
|
|
2315
2532
|
] });
|
|
2316
2533
|
}
|
|
2317
2534
|
if (layout === "inline") {
|
|
2318
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-(--
|
|
2535
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2319
2536
|
(title || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-start justify-between", children: [
|
|
2320
2537
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2321
2538
|
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2326,7 +2543,7 @@ function renderGroupProps(props) {
|
|
|
2326
2543
|
/* @__PURE__ */ jsxRuntime.jsx(GroupWrapper, { layout, variant, children })
|
|
2327
2544
|
] });
|
|
2328
2545
|
}
|
|
2329
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-(--
|
|
2546
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2330
2547
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between", children: [
|
|
2331
2548
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2332
2549
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2341,8 +2558,8 @@ function DataBodyField({ label, description, children }) {
|
|
|
2341
2558
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2342
2559
|
"div",
|
|
2343
2560
|
{
|
|
2344
|
-
className: "grid items-start gap-x-4
|
|
2345
|
-
style: { gridTemplateColumns: "var(--
|
|
2561
|
+
className: "flex flex-col gap-y-1 px-4 py-3 sm:grid sm:items-start sm:gap-x-4 sm:gap-y-0",
|
|
2562
|
+
style: { gridTemplateColumns: "var(--designkit-form-label-w, 11rem) 1fr" },
|
|
2346
2563
|
children: [
|
|
2347
2564
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-0.5", children: [
|
|
2348
2565
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: label }),
|
|
@@ -2357,8 +2574,8 @@ function DataBodyRow({ label, description, required, children }) {
|
|
|
2357
2574
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2358
2575
|
"div",
|
|
2359
2576
|
{
|
|
2360
|
-
className: "grid items-start gap-x-4
|
|
2361
|
-
style: { gridTemplateColumns: "var(--
|
|
2577
|
+
className: "flex flex-col gap-y-1.5 px-4 py-3 sm:grid sm:items-start sm:gap-x-4 sm:gap-y-0",
|
|
2578
|
+
style: { gridTemplateColumns: "var(--designkit-form-label-w, 11rem) 1fr" },
|
|
2362
2579
|
children: [
|
|
2363
2580
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-1", children: [
|
|
2364
2581
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
@@ -2418,7 +2635,7 @@ function Root2({
|
|
|
2418
2635
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description }),
|
|
2419
2636
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2420
2637
|
] }),
|
|
2421
|
-
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--
|
|
2638
|
+
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2422
2639
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { className: contentClassName, children: /* @__PURE__ */ jsxRuntime.jsx(DataPage.Group, { className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsx(DataPage.GroupBody, { className: cn("h-full", bodyEl.props.className), children: bodyEl.props.children }) }) })
|
|
2423
2640
|
] });
|
|
2424
2641
|
}
|
|
@@ -2430,8 +2647,8 @@ function Root2({
|
|
|
2430
2647
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description }),
|
|
2431
2648
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2432
2649
|
] }),
|
|
2433
|
-
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--
|
|
2434
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { className: contentClassName, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-(--
|
|
2650
|
+
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2651
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { className: contentClassName, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-(--designkit-panel-gap) lg:grid-cols-[16rem_minmax(0,1fr)]", children: [
|
|
2435
2652
|
/* @__PURE__ */ jsxRuntime.jsx("nav", { className: "space-y-1", children: sections.map((section) => {
|
|
2436
2653
|
const active = section.props.id === activeSection?.props.id;
|
|
2437
2654
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2453,7 +2670,7 @@ function Root2({
|
|
|
2453
2670
|
section.props.id
|
|
2454
2671
|
);
|
|
2455
2672
|
}) }),
|
|
2456
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 space-y-(--
|
|
2673
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 space-y-(--designkit-panel-gap)", children: renderGroups(activeSection?.props.children) })
|
|
2457
2674
|
] }) })
|
|
2458
2675
|
] });
|
|
2459
2676
|
}
|
|
@@ -2464,7 +2681,7 @@ function Root2({
|
|
|
2464
2681
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description }),
|
|
2465
2682
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2466
2683
|
] }),
|
|
2467
|
-
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--
|
|
2684
|
+
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2468
2685
|
hasTabs && /* @__PURE__ */ jsxRuntime.jsx(DataPage.Tabs, { children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2469
2686
|
DataPage.Tab,
|
|
2470
2687
|
{
|
|
@@ -2529,7 +2746,7 @@ function BrowseBodyTemplate({
|
|
|
2529
2746
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2530
2747
|
] }),
|
|
2531
2748
|
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { padding: "none", className: "flex flex-col overflow-hidden", children: [
|
|
2532
|
-
(toolbar || isNarrow) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b px-(--
|
|
2749
|
+
(toolbar || isNarrow) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b px-(--designkit-page-padding-x) py-2", children: [
|
|
2533
2750
|
isNarrow && /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
2534
2751
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2535
2752
|
SheetTrigger,
|
|
@@ -2554,16 +2771,16 @@ function BrowseBodyTemplate({
|
|
|
2554
2771
|
{
|
|
2555
2772
|
className: "shrink-0 overflow-hidden border-r",
|
|
2556
2773
|
style: { width: sidebarWidth },
|
|
2557
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-(--
|
|
2774
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)", children: sidebar }) })
|
|
2558
2775
|
}
|
|
2559
2776
|
),
|
|
2560
2777
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2561
2778
|
"div",
|
|
2562
2779
|
{
|
|
2563
2780
|
className: cn(
|
|
2564
|
-
"min-w-0 flex-1 overflow-hidden px-(--
|
|
2565
|
-
"[&_.
|
|
2566
|
-
"[&_.
|
|
2781
|
+
"min-w-0 flex-1 overflow-hidden px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
2782
|
+
"[&_.gridkit-shell]:h-full [&_.gridkit-table-stack]:flex-1 [&_.gridkit-table-stack]:min-h-0",
|
|
2783
|
+
"[&_.gridkit-frame]:flex-1 [&_.gridkit-frame]:min-h-0 [&_.gridkit-frame]:overflow-auto",
|
|
2567
2784
|
contentClassName
|
|
2568
2785
|
),
|
|
2569
2786
|
children
|
|
@@ -2614,8 +2831,8 @@ function DetailBodySection({
|
|
|
2614
2831
|
{
|
|
2615
2832
|
className: cn(
|
|
2616
2833
|
"min-h-0",
|
|
2617
|
-
surface === "card" && "rounded-(--radius) border bg-card p-(--
|
|
2618
|
-
surface === "bordered" && "rounded-(--radius) border p-(--
|
|
2834
|
+
surface === "card" && "rounded-(--radius) border bg-card p-(--designkit-panel-gap) text-card-foreground shadow-sm",
|
|
2835
|
+
surface === "bordered" && "rounded-(--radius) border p-(--designkit-panel-gap)",
|
|
2619
2836
|
className
|
|
2620
2837
|
),
|
|
2621
2838
|
children: [
|
|
@@ -2660,7 +2877,7 @@ function DetailBodyTemplateRoot({
|
|
|
2660
2877
|
const hasTabs = tabs.length > 0;
|
|
2661
2878
|
const [activeTab, setActiveTab] = React2.useState(() => tabs[0]?.props.id ?? "");
|
|
2662
2879
|
const selectedTab = tabs.find((tab) => tab.props.id === activeTab) ?? tabs[0];
|
|
2663
|
-
const summarySlot = summary ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 rounded-(--radius) border bg-card p-(--
|
|
2880
|
+
const summarySlot = summary ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 rounded-(--radius) border bg-card p-(--designkit-panel-gap) text-card-foreground", children: summary }) : null;
|
|
2664
2881
|
const mediaSlot = media ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("min-h-0 overflow-hidden rounded-(--radius) border bg-card", mediaClassName), children: media }) : null;
|
|
2665
2882
|
const leadGridClass = variant === "media" ? "xl:grid-cols-[minmax(0,1.35fr)_minmax(18rem,0.65fr)]" : "xl:grid-cols-2";
|
|
2666
2883
|
const defaultHeader = eyebrow || title || description || status || actions ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -2673,7 +2890,7 @@ function DetailBodyTemplateRoot({
|
|
|
2673
2890
|
actions
|
|
2674
2891
|
}
|
|
2675
2892
|
) : null;
|
|
2676
|
-
const defaultLead = media || summary ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-(--
|
|
2893
|
+
const defaultLead = media || summary ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-(--designkit-panel-gap)", leadGridClass), children: [
|
|
2677
2894
|
mediaSlot,
|
|
2678
2895
|
summarySlot
|
|
2679
2896
|
] }) : null;
|
|
@@ -2689,8 +2906,8 @@ function DetailBodyTemplateRoot({
|
|
|
2689
2906
|
},
|
|
2690
2907
|
tab.props.id
|
|
2691
2908
|
)) }),
|
|
2692
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-(--
|
|
2693
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--
|
|
2909
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-(--designkit-panel-gap)", children: selectedTab?.props.children })
|
|
2910
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--designkit-panel-gap)", children: renderChildren(children) });
|
|
2694
2911
|
const leadSlot = lead ?? defaultLead;
|
|
2695
2912
|
const outsideAsideSlot = variant === "full" ? null : aside;
|
|
2696
2913
|
const insideAsideSlot = variant === "full" ? aside : null;
|
|
@@ -2698,19 +2915,19 @@ function DetailBodyTemplateRoot({
|
|
|
2698
2915
|
const hasFullLeadArea = Boolean(leadSlot || insideAsideSlot);
|
|
2699
2916
|
const layout = {
|
|
2700
2917
|
media: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2701
|
-
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-(--
|
|
2918
|
+
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-(--designkit-panel-gap)", children: leadSlot }),
|
|
2702
2919
|
body
|
|
2703
2920
|
] }),
|
|
2704
2921
|
record: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2705
2922
|
"div",
|
|
2706
2923
|
{
|
|
2707
2924
|
className: cn(
|
|
2708
|
-
"grid gap-(--
|
|
2925
|
+
"grid gap-(--designkit-panel-gap)",
|
|
2709
2926
|
hasRecordInspector && "xl:grid-cols-[minmax(28rem,1fr)_minmax(14rem,18rem)]"
|
|
2710
2927
|
),
|
|
2711
2928
|
children: [
|
|
2712
2929
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: body }),
|
|
2713
|
-
hasRecordInspector && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--
|
|
2930
|
+
hasRecordInspector && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--designkit-panel-gap)", children: leadSlot })
|
|
2714
2931
|
]
|
|
2715
2932
|
}
|
|
2716
2933
|
),
|
|
@@ -2719,12 +2936,12 @@ function DetailBodyTemplateRoot({
|
|
|
2719
2936
|
"div",
|
|
2720
2937
|
{
|
|
2721
2938
|
className: cn(
|
|
2722
|
-
"mb-(--
|
|
2939
|
+
"mb-(--designkit-panel-gap) grid gap-(--designkit-panel-gap)",
|
|
2723
2940
|
insideAsideSlot && "xl:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]"
|
|
2724
2941
|
),
|
|
2725
2942
|
children: [
|
|
2726
|
-
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--
|
|
2727
|
-
insideAsideSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("min-h-0 rounded-(--radius) border bg-card p-(--
|
|
2943
|
+
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--designkit-panel-gap)", children: leadSlot }),
|
|
2944
|
+
insideAsideSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("min-h-0 rounded-(--radius) border bg-card p-(--designkit-panel-gap)", asideClassName), children: insideAsideSlot })
|
|
2728
2945
|
]
|
|
2729
2946
|
}
|
|
2730
2947
|
),
|
|
@@ -2746,7 +2963,7 @@ function DetailBodyTemplateRoot({
|
|
|
2746
2963
|
"main",
|
|
2747
2964
|
{
|
|
2748
2965
|
className: cn(
|
|
2749
|
-
"min-h-0 overflow-auto px-(--
|
|
2966
|
+
"min-h-0 overflow-auto px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
2750
2967
|
contentClassName
|
|
2751
2968
|
),
|
|
2752
2969
|
children: layout[variant]
|
|
@@ -2756,7 +2973,7 @@ function DetailBodyTemplateRoot({
|
|
|
2756
2973
|
"div",
|
|
2757
2974
|
{
|
|
2758
2975
|
className: cn(
|
|
2759
|
-
"px-(--
|
|
2976
|
+
"px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
2760
2977
|
stickyAside && "lg:sticky lg:top-0"
|
|
2761
2978
|
),
|
|
2762
2979
|
children: outsideAsideSlot
|
|
@@ -2772,6 +2989,102 @@ var DetailBodyTemplate = Object.assign(DetailBodyTemplateRoot, {
|
|
|
2772
2989
|
Tab: DetailBodyTab,
|
|
2773
2990
|
Section: DetailBodySection
|
|
2774
2991
|
});
|
|
2992
|
+
function ListDetailBodyTemplate({
|
|
2993
|
+
theme,
|
|
2994
|
+
className,
|
|
2995
|
+
topBar,
|
|
2996
|
+
list,
|
|
2997
|
+
detail,
|
|
2998
|
+
emptyDetail,
|
|
2999
|
+
listWidth = 320,
|
|
3000
|
+
listClassName,
|
|
3001
|
+
detailClassName,
|
|
3002
|
+
onBack,
|
|
3003
|
+
backLabel = "Back"
|
|
3004
|
+
}) {
|
|
3005
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3006
|
+
DataPage,
|
|
3007
|
+
{
|
|
3008
|
+
className: cn("layout-list-detail", className),
|
|
3009
|
+
style: { "--ld-list-width": `${listWidth}px`, ...theme },
|
|
3010
|
+
children: [
|
|
3011
|
+
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
3012
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 overflow-hidden", children: [
|
|
3013
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3014
|
+
"aside",
|
|
3015
|
+
{
|
|
3016
|
+
className: cn(
|
|
3017
|
+
"min-h-0 shrink-0 overflow-hidden border-r",
|
|
3018
|
+
detail ? "hidden lg:flex lg:w-[var(--ld-list-width)] lg:flex-col" : "flex w-full flex-col lg:w-[var(--ld-list-width)]",
|
|
3019
|
+
listClassName
|
|
3020
|
+
),
|
|
3021
|
+
children: list
|
|
3022
|
+
}
|
|
3023
|
+
),
|
|
3024
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3025
|
+
"main",
|
|
3026
|
+
{
|
|
3027
|
+
className: cn(
|
|
3028
|
+
"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",
|
|
3029
|
+
!detail && "hidden lg:flex",
|
|
3030
|
+
detailClassName
|
|
3031
|
+
),
|
|
3032
|
+
children: [
|
|
3033
|
+
detail && onBack && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center border-b px-3 py-2 lg:hidden", children: /* @__PURE__ */ jsxRuntime.jsxs(Button, { variant: "ghost", size: "sm", className: "-ml-1 gap-1", onClick: onBack, children: [
|
|
3034
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" }),
|
|
3035
|
+
backLabel
|
|
3036
|
+
] }) }),
|
|
3037
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: detail ?? emptyDetail })
|
|
3038
|
+
]
|
|
3039
|
+
}
|
|
3040
|
+
)
|
|
3041
|
+
] })
|
|
3042
|
+
]
|
|
3043
|
+
}
|
|
3044
|
+
);
|
|
3045
|
+
}
|
|
3046
|
+
function PanelTemplateSection({
|
|
3047
|
+
title,
|
|
3048
|
+
description,
|
|
3049
|
+
actions,
|
|
3050
|
+
className,
|
|
3051
|
+
children
|
|
3052
|
+
}) {
|
|
3053
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: cn("space-y-2.5", className), children: [
|
|
3054
|
+
(title || description || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
3055
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
3056
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
3057
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
|
|
3058
|
+
] }),
|
|
3059
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: actions })
|
|
3060
|
+
] }),
|
|
3061
|
+
children
|
|
3062
|
+
] });
|
|
3063
|
+
}
|
|
3064
|
+
function PanelTemplateRoot({
|
|
3065
|
+
title,
|
|
3066
|
+
eyebrow,
|
|
3067
|
+
actions,
|
|
3068
|
+
footer,
|
|
3069
|
+
children,
|
|
3070
|
+
className,
|
|
3071
|
+
bodyClassName
|
|
3072
|
+
}) {
|
|
3073
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-full flex-col overflow-hidden", className), children: [
|
|
3074
|
+
(title || eyebrow || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "shrink-0 px-4 py-3", children: [
|
|
3075
|
+
eyebrow && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-0.5 text-[10px] font-medium uppercase tracking-wider text-muted-foreground", children: eyebrow }),
|
|
3076
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3077
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "min-w-0 flex-1 truncate text-sm font-semibold", children: title }),
|
|
3078
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-1", children: actions })
|
|
3079
|
+
] })
|
|
3080
|
+
] }),
|
|
3081
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("min-h-0 flex-1 overflow-y-auto px-4 py-4", bodyClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-5", children }) }),
|
|
3082
|
+
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-t px-4 py-3", children: footer })
|
|
3083
|
+
] });
|
|
3084
|
+
}
|
|
3085
|
+
var PanelTemplate = Object.assign(PanelTemplateRoot, {
|
|
3086
|
+
Section: PanelTemplateSection
|
|
3087
|
+
});
|
|
2775
3088
|
function FormWizardBodyTemplate({
|
|
2776
3089
|
theme,
|
|
2777
3090
|
title,
|
|
@@ -2793,7 +3106,7 @@ function FormWizardBodyTemplate({
|
|
|
2793
3106
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: "layout-form-wizard", style: theme, children: [
|
|
2794
3107
|
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
2795
3108
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title }) }),
|
|
2796
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 px-(--
|
|
3109
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 px-(--designkit-page-padding-x) pb-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center", children: steps.map((step, i) => /* @__PURE__ */ jsxRuntime.jsxs(React2.Fragment, { children: [
|
|
2797
3110
|
i > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2798
3111
|
"div",
|
|
2799
3112
|
{
|
|
@@ -2826,7 +3139,7 @@ function FormWizardBodyTemplate({
|
|
|
2826
3139
|
)
|
|
2827
3140
|
] })
|
|
2828
3141
|
] }, step.key)) }) }),
|
|
2829
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { children: current && (variant === "card" ? /* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-(--
|
|
3142
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { children: current && (variant === "card" ? /* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-(--designkit-panel-gap)", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { id: current.key, onSubmit: handleStepSubmit, children: [
|
|
2830
3143
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-5", children: [
|
|
2831
3144
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-semibold", children: current.title }),
|
|
2832
3145
|
current.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: current.description })
|
|
@@ -2884,8 +3197,8 @@ function TypographyBodyTemplate({ theme, breadcrumb }) {
|
|
|
2884
3197
|
description: "Global type scale preview for shell, template, and grid content"
|
|
2885
3198
|
}
|
|
2886
3199
|
) }),
|
|
2887
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "grid gap-[var(--
|
|
2888
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-[var(--
|
|
3200
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "grid gap-[var(--designkit-panel-gap)] lg:grid-cols-[1fr_22rem]", children: [
|
|
3201
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-[var(--designkit-panel-gap)]", children: [
|
|
2889
3202
|
/* @__PURE__ */ jsxRuntime.jsxs(Card, { className: "rounded-lg border border-border ring-0", children: [
|
|
2890
3203
|
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { children: "Type Scale" }) }),
|
|
2891
3204
|
/* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "space-y-4", children: scaleRows.map((row) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[8rem_1fr] items-baseline gap-4", children: [
|
|
@@ -3076,7 +3389,7 @@ function ColorsBodyTemplate({ theme, breadcrumb }) {
|
|
|
3076
3389
|
description: "Design token color palette and derivation rules for the active theme"
|
|
3077
3390
|
}
|
|
3078
3391
|
) }),
|
|
3079
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "space-y-[var(--
|
|
3392
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "space-y-[var(--designkit-panel-gap)]", children: [
|
|
3080
3393
|
/* @__PURE__ */ jsxRuntime.jsxs(Card, { className: "rounded-lg border border-border ring-0", children: [
|
|
3081
3394
|
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { children: "Primary \u2014 controlled by hue & chroma" }) }),
|
|
3082
3395
|
/* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-3", children: [
|
|
@@ -3363,26 +3676,36 @@ function buildTopBar(opts) {
|
|
|
3363
3676
|
}
|
|
3364
3677
|
);
|
|
3365
3678
|
}
|
|
3679
|
+
function AutoSidebarTrigger() {
|
|
3680
|
+
const ctx = useSidebarOptional();
|
|
3681
|
+
if (!ctx?.isMobile) return null;
|
|
3682
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SidebarTrigger, { className: "-ml-1 shrink-0" });
|
|
3683
|
+
}
|
|
3366
3684
|
function PageTopBar({
|
|
3367
3685
|
left,
|
|
3368
3686
|
right,
|
|
3369
3687
|
variant = "ghost",
|
|
3370
|
-
height = "var(--
|
|
3688
|
+
height = "var(--designkit-toolbar-height)",
|
|
3371
3689
|
className,
|
|
3372
3690
|
style,
|
|
3373
|
-
children
|
|
3691
|
+
children,
|
|
3692
|
+
sidebarTrigger
|
|
3374
3693
|
}) {
|
|
3694
|
+
const trigger = sidebarTrigger === false ? null : sidebarTrigger !== void 0 ? sidebarTrigger : /* @__PURE__ */ jsxRuntime.jsx(AutoSidebarTrigger, {});
|
|
3375
3695
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3376
3696
|
"div",
|
|
3377
3697
|
{
|
|
3378
3698
|
className: cn(
|
|
3379
|
-
"flex shrink-0 items-center justify-between gap-4 px-(--
|
|
3699
|
+
"flex shrink-0 items-center justify-between gap-4 px-(--designkit-page-padding-x)",
|
|
3380
3700
|
variant === "default" && "border-b",
|
|
3381
3701
|
className
|
|
3382
3702
|
),
|
|
3383
3703
|
style: { height, ...style },
|
|
3384
3704
|
children: [
|
|
3385
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3705
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2 text-xs text-muted-foreground", children: [
|
|
3706
|
+
trigger,
|
|
3707
|
+
normalizeBreadcrumb(left ?? children)
|
|
3708
|
+
] }),
|
|
3386
3709
|
right && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: right })
|
|
3387
3710
|
]
|
|
3388
3711
|
}
|
|
@@ -3422,8 +3745,7 @@ function buildTokenMap({
|
|
|
3422
3745
|
}[density];
|
|
3423
3746
|
const c = (factor) => (primaryChroma * factor).toFixed(4);
|
|
3424
3747
|
return {
|
|
3425
|
-
"--
|
|
3426
|
-
"--dg-radius": `${radius}rem`,
|
|
3748
|
+
"--designkit-radius": `${radius}rem`,
|
|
3427
3749
|
"--radius": `${radius}rem`,
|
|
3428
3750
|
"--radius-sm": `${(radius * 0.6).toFixed(4)}rem`,
|
|
3429
3751
|
"--radius-md": `${(radius * 0.8).toFixed(4)}rem`,
|
|
@@ -3431,12 +3753,9 @@ function buildTokenMap({
|
|
|
3431
3753
|
"--radius-xl": `${(radius * 1.4).toFixed(4)}rem`,
|
|
3432
3754
|
"--radius-2xl": `${(radius * 1.8).toFixed(4)}rem`,
|
|
3433
3755
|
// primary — fully controlled
|
|
3434
|
-
"--
|
|
3435
|
-
"--
|
|
3436
|
-
"--
|
|
3437
|
-
"--dg-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3438
|
-
"--dg-primary-foreground": "oklch(0.985 0 0)",
|
|
3439
|
-
"--dg-ring": `oklch(0.50 ${primaryChroma} ${primaryHue})`,
|
|
3756
|
+
"--designkit-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3757
|
+
"--designkit-primary-foreground": "oklch(0.985 0 0)",
|
|
3758
|
+
"--designkit-ring": `oklch(0.50 ${primaryChroma} ${primaryHue})`,
|
|
3440
3759
|
"--primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3441
3760
|
"--primary-foreground": "oklch(0.985 0 0)",
|
|
3442
3761
|
"--color-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
@@ -3456,37 +3775,35 @@ function buildTokenMap({
|
|
|
3456
3775
|
"--color-muted": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3457
3776
|
"--color-secondary": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3458
3777
|
"--color-accent": `oklch(0.970 ${c(0.04)} ${primaryHue})`,
|
|
3459
|
-
"--
|
|
3460
|
-
"--
|
|
3461
|
-
"--
|
|
3462
|
-
"--
|
|
3463
|
-
"--
|
|
3464
|
-
"--
|
|
3465
|
-
"--
|
|
3466
|
-
"--
|
|
3467
|
-
"--
|
|
3468
|
-
"--
|
|
3469
|
-
"--
|
|
3470
|
-
"--
|
|
3471
|
-
"--
|
|
3472
|
-
"--
|
|
3473
|
-
"--
|
|
3474
|
-
"--
|
|
3475
|
-
"--
|
|
3476
|
-
"--
|
|
3477
|
-
"--
|
|
3478
|
-
"--
|
|
3479
|
-
"--
|
|
3480
|
-
"--text-
|
|
3481
|
-
"--text-
|
|
3482
|
-
"--text-
|
|
3483
|
-
"--text-
|
|
3484
|
-
"--text-
|
|
3485
|
-
"--text-
|
|
3486
|
-
"--text-
|
|
3487
|
-
"--text-
|
|
3488
|
-
"--text-lg--line-height": "var(--dk-leading-lg)",
|
|
3489
|
-
"--text-xl--line-height": "var(--dk-leading-xl)"
|
|
3778
|
+
"--designkit-border": `oklch(0.922 ${c(0.04)} ${primaryHue})`,
|
|
3779
|
+
"--designkit-input": `oklch(0.922 ${c(0.04)} ${primaryHue})`,
|
|
3780
|
+
"--designkit-muted": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3781
|
+
"--designkit-font-scale": fontScale,
|
|
3782
|
+
"--designkit-line-height": lineHeight,
|
|
3783
|
+
"--designkit-density": densityValues.density,
|
|
3784
|
+
"--designkit-page-padding-y": pagePaddingY ?? densityValues.pagePaddingY,
|
|
3785
|
+
"--designkit-panel-gap": panelGap ?? densityValues.panelGap,
|
|
3786
|
+
"--designkit-toolbar-height": toolbarHeight ?? densityValues.toolbarHeight,
|
|
3787
|
+
"--designkit-text-xs": `calc(0.75rem * ${fontScale})`,
|
|
3788
|
+
"--designkit-text-sm": `calc(0.875rem * ${fontScale})`,
|
|
3789
|
+
"--designkit-text-base": `calc(1rem * ${fontScale})`,
|
|
3790
|
+
"--designkit-text-lg": `calc(1.125rem * ${fontScale})`,
|
|
3791
|
+
"--designkit-text-xl": `calc(1.25rem * ${fontScale})`,
|
|
3792
|
+
"--designkit-leading-xs": `calc(1rem * ${lineHeight})`,
|
|
3793
|
+
"--designkit-leading-sm": `calc(1.25rem * ${lineHeight})`,
|
|
3794
|
+
"--designkit-leading-base": `calc(1.5rem * ${lineHeight})`,
|
|
3795
|
+
"--designkit-leading-lg": `calc(1.75rem * ${lineHeight})`,
|
|
3796
|
+
"--designkit-leading-xl": `calc(1.75rem * ${lineHeight})`,
|
|
3797
|
+
"--text-xs": "var(--designkit-text-xs)",
|
|
3798
|
+
"--text-sm": "var(--designkit-text-sm)",
|
|
3799
|
+
"--text-base": "var(--designkit-text-base)",
|
|
3800
|
+
"--text-lg": "var(--designkit-text-lg)",
|
|
3801
|
+
"--text-xl": "var(--designkit-text-xl)",
|
|
3802
|
+
"--text-xs--line-height": "var(--designkit-leading-xs)",
|
|
3803
|
+
"--text-sm--line-height": "var(--designkit-leading-sm)",
|
|
3804
|
+
"--text-base--line-height": "var(--designkit-leading-base)",
|
|
3805
|
+
"--text-lg--line-height": "var(--designkit-leading-lg)",
|
|
3806
|
+
"--text-xl--line-height": "var(--designkit-leading-xl)"
|
|
3490
3807
|
};
|
|
3491
3808
|
}
|
|
3492
3809
|
function buildDarkTonalTokens(primaryHue, primaryChroma) {
|
|
@@ -3502,11 +3819,9 @@ function buildDarkTonalTokens(primaryHue, primaryChroma) {
|
|
|
3502
3819
|
"--color-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`,
|
|
3503
3820
|
"--color-secondary": `oklch(0.269 ${c(0.02)} ${primaryHue})`,
|
|
3504
3821
|
"--color-accent": `oklch(0.320 ${c(0.04)} ${primaryHue})`,
|
|
3505
|
-
"--
|
|
3506
|
-
"--
|
|
3507
|
-
"--
|
|
3508
|
-
"--dg-border": `oklch(0.32 ${c(0.06)} ${primaryHue})`,
|
|
3509
|
-
"--dg-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`
|
|
3822
|
+
"--designkit-border": `oklch(0.32 ${c(0.06)} ${primaryHue})`,
|
|
3823
|
+
"--designkit-input": `oklch(0.35 ${c(0.06)} ${primaryHue})`,
|
|
3824
|
+
"--designkit-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`
|
|
3510
3825
|
};
|
|
3511
3826
|
}
|
|
3512
3827
|
function tokenMapToCss(tokens) {
|
|
@@ -3552,14 +3867,14 @@ ${tokenMapToCss(tokens)}
|
|
|
3552
3867
|
}, [g.darkMode]);
|
|
3553
3868
|
React2.useEffect(() => {
|
|
3554
3869
|
if (g.density === "default") {
|
|
3555
|
-
document.documentElement.removeAttribute("data-
|
|
3870
|
+
document.documentElement.removeAttribute("data-designkit-density");
|
|
3556
3871
|
return;
|
|
3557
3872
|
}
|
|
3558
|
-
document.documentElement.dataset.
|
|
3873
|
+
document.documentElement.dataset.designkitDensity = g.density;
|
|
3559
3874
|
}, [g.density]);
|
|
3560
3875
|
}
|
|
3561
3876
|
function buildTemplateTheme(g, ov = {}) {
|
|
3562
|
-
|
|
3877
|
+
const tokens = buildTokenMap({
|
|
3563
3878
|
radius: ov.radius ?? g.radius,
|
|
3564
3879
|
primaryHue: g.primaryHue,
|
|
3565
3880
|
primaryChroma: ov.primaryChroma ?? g.primaryChroma,
|
|
@@ -3570,6 +3885,10 @@ function buildTemplateTheme(g, ov = {}) {
|
|
|
3570
3885
|
fontScale: g.fontScale ?? 1,
|
|
3571
3886
|
lineHeight: g.lineHeight ?? 1
|
|
3572
3887
|
});
|
|
3888
|
+
if (g.darkMode) {
|
|
3889
|
+
Object.assign(tokens, buildDarkTonalTokens(g.primaryHue, ov.primaryChroma ?? g.primaryChroma));
|
|
3890
|
+
}
|
|
3891
|
+
return tokens;
|
|
3573
3892
|
}
|
|
3574
3893
|
|
|
3575
3894
|
exports.Avatar = Avatar;
|
|
@@ -3614,6 +3933,7 @@ exports.EmptyState = EmptyState;
|
|
|
3614
3933
|
exports.FormWizardBodyTemplate = FormWizardBodyTemplate;
|
|
3615
3934
|
exports.Input = Input;
|
|
3616
3935
|
exports.Label = Label;
|
|
3936
|
+
exports.ListDetailBodyTemplate = ListDetailBodyTemplate;
|
|
3617
3937
|
exports.LoginBodyTemplate = LoginBodyTemplate;
|
|
3618
3938
|
exports.NavigationMenu = NavigationMenu;
|
|
3619
3939
|
exports.NavigationMenuContent = NavigationMenuContent;
|
|
@@ -3625,6 +3945,7 @@ exports.NavigationMenuPositioner = NavigationMenuPositioner;
|
|
|
3625
3945
|
exports.NavigationMenuTrigger = NavigationMenuTrigger;
|
|
3626
3946
|
exports.PageBreadcrumb = PageBreadcrumb;
|
|
3627
3947
|
exports.PageTopBar = PageTopBar;
|
|
3948
|
+
exports.PanelTemplate = PanelTemplate;
|
|
3628
3949
|
exports.Popover = Popover;
|
|
3629
3950
|
exports.PopoverContent = PopoverContent;
|
|
3630
3951
|
exports.PopoverDescription = PopoverDescription;
|
|
@@ -3695,6 +4016,7 @@ exports.TooltipContent = TooltipContent;
|
|
|
3695
4016
|
exports.TooltipProvider = TooltipProvider;
|
|
3696
4017
|
exports.TooltipTrigger = TooltipTrigger;
|
|
3697
4018
|
exports.TypographyBodyTemplate = TypographyBodyTemplate;
|
|
4019
|
+
exports.WorkbenchBodyTemplate = WorkbenchBodyTemplate;
|
|
3698
4020
|
exports.badgeVariants = badgeVariants;
|
|
3699
4021
|
exports.buildTemplateTheme = buildTemplateTheme;
|
|
3700
4022
|
exports.buildTopBar = buildTopBar;
|
|
@@ -3704,6 +4026,7 @@ exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
|
|
|
3704
4026
|
exports.tabsListVariants = tabsListVariants;
|
|
3705
4027
|
exports.useIsMobile = useIsMobile;
|
|
3706
4028
|
exports.useSidebar = useSidebar;
|
|
4029
|
+
exports.useSidebarOptional = useSidebarOptional;
|
|
3707
4030
|
exports.useStyleInjector = useStyleInjector;
|
|
3708
4031
|
exports.useThemeStore = useThemeStore;
|
|
3709
4032
|
//# sourceMappingURL=index.cjs.map
|