@loykin/designkit 0.0.1-dev.3 → 0.0.1-dev.5
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 +58 -18
- package/dist/index.cjs +384 -246
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +53 -9
- package/dist/index.d.ts +53 -9
- package/dist/index.js +384 -248
- package/dist/index.js.map +1 -1
- package/dist/styles.css +133 -2
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -1756,6 +1756,9 @@ function SidebarMenuSubButton({
|
|
|
1756
1756
|
}
|
|
1757
1757
|
});
|
|
1758
1758
|
}
|
|
1759
|
+
function useSidebarOptional() {
|
|
1760
|
+
return React2__namespace.useContext(SidebarContext);
|
|
1761
|
+
}
|
|
1759
1762
|
function EmptyState({ icon: Icon, title, description, action, className }) {
|
|
1760
1763
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1761
1764
|
"div",
|
|
@@ -2010,18 +2013,21 @@ function Header({ children, className }) {
|
|
|
2010
2013
|
{
|
|
2011
2014
|
"data-slot": "data-page-header",
|
|
2012
2015
|
className: cn(
|
|
2013
|
-
"shrink-0 px-[var(--
|
|
2016
|
+
"shrink-0 px-[var(--designkit-page-padding-x)] pt-[var(--designkit-page-padding-y)]",
|
|
2014
2017
|
className
|
|
2015
2018
|
),
|
|
2016
|
-
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 })
|
|
2017
2020
|
}
|
|
2018
2021
|
);
|
|
2019
2022
|
}
|
|
2020
|
-
function TitleBlock({ title, description, breadcrumb, className }) {
|
|
2021
|
-
if (!title && !description && !breadcrumb) return null;
|
|
2023
|
+
function TitleBlock({ title, description, breadcrumb, status, className }) {
|
|
2024
|
+
if (!title && !description && !breadcrumb && !status) return null;
|
|
2022
2025
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-slot": "data-page-title-block", className: cn("min-w-0 flex-1", className), children: [
|
|
2023
2026
|
breadcrumb && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-2 text-xs text-muted-foreground", children: breadcrumb }),
|
|
2024
|
-
title && /* @__PURE__ */ jsxRuntime.
|
|
2027
|
+
(title || status) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
2028
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "min-w-0 truncate text-xl font-semibold", children: title }),
|
|
2029
|
+
status && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: status })
|
|
2030
|
+
] }),
|
|
2025
2031
|
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1.5 text-sm text-muted-foreground", children: description })
|
|
2026
2032
|
] });
|
|
2027
2033
|
}
|
|
@@ -2031,7 +2037,10 @@ function Actions({ children, className }) {
|
|
|
2031
2037
|
"div",
|
|
2032
2038
|
{
|
|
2033
2039
|
"data-slot": "data-page-actions",
|
|
2034
|
-
className: cn(
|
|
2040
|
+
className: cn(
|
|
2041
|
+
"flex shrink-0 items-center gap-[calc(var(--designkit-panel-gap)*0.5)]",
|
|
2042
|
+
className
|
|
2043
|
+
),
|
|
2035
2044
|
children
|
|
2036
2045
|
}
|
|
2037
2046
|
);
|
|
@@ -2069,8 +2078,8 @@ function Content({ children, className, padding = "default" }) {
|
|
|
2069
2078
|
"data-slot": "data-page-content",
|
|
2070
2079
|
className: cn(
|
|
2071
2080
|
"min-h-0 flex-1 overflow-auto",
|
|
2072
|
-
padding === "default" && "px-[var(--
|
|
2073
|
-
padding === "compact" && "p-[calc(var(--
|
|
2081
|
+
padding === "default" && "px-[var(--designkit-page-padding-x)] pb-[var(--designkit-page-padding-y)] pt-[var(--designkit-page-padding-y)]",
|
|
2082
|
+
padding === "compact" && "p-[calc(var(--designkit-page-padding-y)*0.875)]",
|
|
2074
2083
|
padding === "none" && "p-0",
|
|
2075
2084
|
className
|
|
2076
2085
|
),
|
|
@@ -2107,7 +2116,7 @@ function GroupHeader({
|
|
|
2107
2116
|
{
|
|
2108
2117
|
"data-slot": "data-page-group-header",
|
|
2109
2118
|
className: cn(
|
|
2110
|
-
"flex items-start justify-between gap-4 px-0 pb-[calc(var(--
|
|
2119
|
+
"flex items-start justify-between gap-4 px-0 pb-[calc(var(--designkit-panel-gap)*0.75)]",
|
|
2111
2120
|
className
|
|
2112
2121
|
),
|
|
2113
2122
|
children: [
|
|
@@ -2128,7 +2137,7 @@ function GroupToolbar({ children, className }) {
|
|
|
2128
2137
|
{
|
|
2129
2138
|
"data-slot": "data-page-group-toolbar",
|
|
2130
2139
|
className: cn(
|
|
2131
|
-
"flex min-h-[var(--
|
|
2140
|
+
"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)]",
|
|
2132
2141
|
className
|
|
2133
2142
|
),
|
|
2134
2143
|
children
|
|
@@ -2155,47 +2164,49 @@ var DataPage = Object.assign(Root, {
|
|
|
2155
2164
|
GroupBody,
|
|
2156
2165
|
Footer
|
|
2157
2166
|
});
|
|
2158
|
-
var DashboardPanel = React2.forwardRef(
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2181
|
-
|
|
2182
|
-
|
|
2183
|
-
editable && /* @__PURE__ */ jsxRuntime.
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
|
|
2167
|
+
var DashboardPanel = React2.forwardRef(
|
|
2168
|
+
function DashboardPanel2({
|
|
2169
|
+
title,
|
|
2170
|
+
description,
|
|
2171
|
+
loading,
|
|
2172
|
+
error,
|
|
2173
|
+
transparent,
|
|
2174
|
+
editable,
|
|
2175
|
+
className,
|
|
2176
|
+
style,
|
|
2177
|
+
children,
|
|
2178
|
+
headerRight
|
|
2179
|
+
}, ref) {
|
|
2180
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2181
|
+
"div",
|
|
2182
|
+
{
|
|
2183
|
+
ref,
|
|
2184
|
+
className: cn(
|
|
2185
|
+
"group flex h-full flex-col overflow-hidden",
|
|
2186
|
+
transparent ? "" : "rounded-(--radius) border bg-card text-card-foreground",
|
|
2187
|
+
editable && "ring-1 ring-border/60 ring-inset",
|
|
2188
|
+
className
|
|
2189
|
+
),
|
|
2190
|
+
style,
|
|
2191
|
+
children: [
|
|
2192
|
+
(title || headerRight || editable) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2 pl-3 pr-1.5 py-2", children: [
|
|
2193
|
+
editable && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 cursor-grab active:cursor-grabbing select-none text-muted-foreground/40 hover:text-muted-foreground/70 transition-colors -ml-1 px-0.5", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GripHorizontal, { className: "h-3.5 w-3.5" }) }),
|
|
2194
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2195
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-xs font-medium text-card-foreground", children: title }),
|
|
2196
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[11px] text-muted-foreground", children: description })
|
|
2197
|
+
] }),
|
|
2198
|
+
headerRight && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity duration-150", children: headerRight })
|
|
2187
2199
|
] }),
|
|
2188
|
-
|
|
2189
|
-
|
|
2190
|
-
|
|
2191
|
-
|
|
2192
|
-
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
});
|
|
2200
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-1 min-h-0 p-3", children: [
|
|
2201
|
+
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-card/70 z-10", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }) }),
|
|
2202
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-destructive", children: error }) }),
|
|
2203
|
+
!error && children
|
|
2204
|
+
] })
|
|
2205
|
+
]
|
|
2206
|
+
}
|
|
2207
|
+
);
|
|
2208
|
+
}
|
|
2209
|
+
);
|
|
2199
2210
|
function DashboardBodyTemplate({
|
|
2200
2211
|
theme,
|
|
2201
2212
|
className,
|
|
@@ -2209,15 +2220,24 @@ function DashboardBodyTemplate({
|
|
|
2209
2220
|
}) {
|
|
2210
2221
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-dashboard", className), style: theme, children: [
|
|
2211
2222
|
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
2212
|
-
(title || toolbar) && /* @__PURE__ */ jsxRuntime.jsx("header", { className: "shrink-0 border-b px-(--
|
|
2223
|
+
(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: [
|
|
2213
2224
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
2214
2225
|
title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-sm font-semibold truncate", children: title }),
|
|
2215
2226
|
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
|
|
2216
2227
|
] }),
|
|
2217
2228
|
toolbar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 shrink-0", children: toolbar })
|
|
2218
2229
|
] }) }),
|
|
2219
|
-
variableBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 flex flex-wrap items-center gap-2 px-(--
|
|
2220
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2230
|
+
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 }),
|
|
2231
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2232
|
+
"div",
|
|
2233
|
+
{
|
|
2234
|
+
className: cn(
|
|
2235
|
+
"flex-1 min-h-0 overflow-auto px-[calc(var(--designkit-page-padding-x)-0.5rem)] pt-0 pb-(--designkit-page-padding-y)",
|
|
2236
|
+
contentClassName
|
|
2237
|
+
),
|
|
2238
|
+
children
|
|
2239
|
+
}
|
|
2240
|
+
)
|
|
2221
2241
|
] });
|
|
2222
2242
|
}
|
|
2223
2243
|
function clamp(value, min, max) {
|
|
@@ -2268,6 +2288,7 @@ function WorkbenchBodyTemplate({
|
|
|
2268
2288
|
contentClassName,
|
|
2269
2289
|
title,
|
|
2270
2290
|
description,
|
|
2291
|
+
status,
|
|
2271
2292
|
topBar,
|
|
2272
2293
|
headerRight,
|
|
2273
2294
|
toolbar,
|
|
@@ -2293,41 +2314,49 @@ function WorkbenchBodyTemplate({
|
|
|
2293
2314
|
leftPaneClassName,
|
|
2294
2315
|
mainPaneClassName,
|
|
2295
2316
|
rightPaneClassName,
|
|
2296
|
-
bottomPaneClassName
|
|
2317
|
+
bottomPaneClassName,
|
|
2318
|
+
leftPaneLabel = "Panel",
|
|
2319
|
+
rightPaneLabel = "Inspector"
|
|
2297
2320
|
}) {
|
|
2298
2321
|
const [leftWidth, setLeftWidth] = React2.useState(leftPaneWidth);
|
|
2299
2322
|
const [rightWidth, setRightWidth] = React2.useState(rightPaneWidth);
|
|
2300
2323
|
const [bottomHeight, setBottomHeight] = React2.useState(bottomPaneHeight);
|
|
2301
|
-
const startResize = React2.useCallback(
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2324
|
+
const startResize = React2.useCallback(
|
|
2325
|
+
(event, axis, applyDelta) => {
|
|
2326
|
+
if (!resizable) return;
|
|
2327
|
+
const start = axis === "x" ? event.clientX : event.clientY;
|
|
2328
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
2329
|
+
const previousCursor = document.body.style.cursor;
|
|
2330
|
+
const previousUserSelect = document.body.style.userSelect;
|
|
2331
|
+
document.body.style.cursor = axis === "x" ? "col-resize" : "row-resize";
|
|
2332
|
+
document.body.style.userSelect = "none";
|
|
2333
|
+
const onPointerMove = (moveEvent) => {
|
|
2334
|
+
applyDelta((axis === "x" ? moveEvent.clientX : moveEvent.clientY) - start);
|
|
2335
|
+
};
|
|
2336
|
+
const onPointerUp = () => {
|
|
2337
|
+
document.body.style.cursor = previousCursor;
|
|
2338
|
+
document.body.style.userSelect = previousUserSelect;
|
|
2339
|
+
window.removeEventListener("pointermove", onPointerMove);
|
|
2340
|
+
window.removeEventListener("pointerup", onPointerUp);
|
|
2341
|
+
};
|
|
2342
|
+
window.addEventListener("pointermove", onPointerMove);
|
|
2343
|
+
window.addEventListener("pointerup", onPointerUp, { once: true });
|
|
2344
|
+
},
|
|
2345
|
+
[resizable]
|
|
2346
|
+
);
|
|
2321
2347
|
const headerRightContent = headerRight ?? toolbar;
|
|
2322
|
-
const showHeader = title || description || headerRightContent || actions;
|
|
2348
|
+
const showHeader = title || description || status || headerRightContent || actions;
|
|
2323
2349
|
const showLeftPane = leftPane && !leftPaneCollapsed;
|
|
2324
2350
|
const showRightPane = rightPane && !rightPaneCollapsed;
|
|
2325
2351
|
const showBottomPane = bottomPane && !bottomPaneCollapsed;
|
|
2326
2352
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-workbench", className), style: theme, children: [
|
|
2327
2353
|
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
2328
|
-
showHeader && /* @__PURE__ */ jsxRuntime.jsx("header", { className: "shrink-0 border-b px-(--
|
|
2354
|
+
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: [
|
|
2329
2355
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
2330
|
-
title && /* @__PURE__ */ jsxRuntime.
|
|
2356
|
+
(title || status) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
2357
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "min-w-0 truncate text-sm font-semibold", children: title }),
|
|
2358
|
+
status && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: status })
|
|
2359
|
+
] }),
|
|
2331
2360
|
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 truncate text-xs text-muted-foreground", children: description })
|
|
2332
2361
|
] }),
|
|
2333
2362
|
(headerRightContent || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
@@ -2335,12 +2364,31 @@ function WorkbenchBodyTemplate({
|
|
|
2335
2364
|
actions
|
|
2336
2365
|
] })
|
|
2337
2366
|
] }) }),
|
|
2367
|
+
(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: [
|
|
2368
|
+
showLeftPane && /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
2369
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { render: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm" }), children: leftPaneLabel }),
|
|
2370
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "left", className: "flex flex-col gap-0 p-0", children: [
|
|
2371
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { className: "shrink-0 border-b px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: leftPaneLabel }) }),
|
|
2372
|
+
/* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { className: "flex-1", children: leftPane })
|
|
2373
|
+
] })
|
|
2374
|
+
] }),
|
|
2375
|
+
showRightPane && /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
2376
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetTrigger, { render: /* @__PURE__ */ jsxRuntime.jsx(Button, { variant: "outline", size: "sm" }), children: rightPaneLabel }),
|
|
2377
|
+
/* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "right", className: "flex flex-col gap-0 p-0", children: [
|
|
2378
|
+
/* @__PURE__ */ jsxRuntime.jsx(SheetHeader, { className: "shrink-0 border-b px-4 py-3", children: /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { children: rightPaneLabel }) }),
|
|
2379
|
+
/* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { className: "flex-1", children: rightPane })
|
|
2380
|
+
] })
|
|
2381
|
+
] })
|
|
2382
|
+
] }),
|
|
2338
2383
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex min-h-0 flex-1 overflow-hidden", contentClassName), children: [
|
|
2339
2384
|
showLeftPane && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2340
2385
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2341
2386
|
"aside",
|
|
2342
2387
|
{
|
|
2343
|
-
className: cn(
|
|
2388
|
+
className: cn(
|
|
2389
|
+
"hidden min-h-0 shrink-0 overflow-hidden border-r bg-card/45 md:flex md:flex-col",
|
|
2390
|
+
leftPaneClassName
|
|
2391
|
+
),
|
|
2344
2392
|
style: { width: leftWidth },
|
|
2345
2393
|
children: leftPane
|
|
2346
2394
|
}
|
|
@@ -2349,6 +2397,7 @@ function WorkbenchBodyTemplate({
|
|
|
2349
2397
|
ResizeHandle,
|
|
2350
2398
|
{
|
|
2351
2399
|
axis: "x",
|
|
2400
|
+
className: "hidden md:flex",
|
|
2352
2401
|
onPointerDown: (event) => {
|
|
2353
2402
|
const start = leftWidth;
|
|
2354
2403
|
startResize(event, "x", (delta) => {
|
|
@@ -2365,10 +2414,13 @@ function WorkbenchBodyTemplate({
|
|
|
2365
2414
|
ResizeHandle,
|
|
2366
2415
|
{
|
|
2367
2416
|
axis: "y",
|
|
2417
|
+
className: "hidden md:flex",
|
|
2368
2418
|
onPointerDown: (event) => {
|
|
2369
2419
|
const start = bottomHeight;
|
|
2370
2420
|
startResize(event, "y", (delta) => {
|
|
2371
|
-
setBottomHeight(
|
|
2421
|
+
setBottomHeight(
|
|
2422
|
+
clamp(start - delta, minBottomPaneHeight, maxBottomPaneHeight)
|
|
2423
|
+
);
|
|
2372
2424
|
});
|
|
2373
2425
|
}
|
|
2374
2426
|
}
|
|
@@ -2376,7 +2428,10 @@ function WorkbenchBodyTemplate({
|
|
|
2376
2428
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2377
2429
|
"section",
|
|
2378
2430
|
{
|
|
2379
|
-
className: cn(
|
|
2431
|
+
className: cn(
|
|
2432
|
+
"min-h-0 shrink-0 overflow-auto border-t bg-card/40 md:overflow-hidden",
|
|
2433
|
+
bottomPaneClassName
|
|
2434
|
+
),
|
|
2380
2435
|
style: { height: bottomHeight },
|
|
2381
2436
|
children: bottomPane
|
|
2382
2437
|
}
|
|
@@ -2388,6 +2443,7 @@ function WorkbenchBodyTemplate({
|
|
|
2388
2443
|
ResizeHandle,
|
|
2389
2444
|
{
|
|
2390
2445
|
axis: "x",
|
|
2446
|
+
className: "hidden md:flex",
|
|
2391
2447
|
onPointerDown: (event) => {
|
|
2392
2448
|
const start = rightWidth;
|
|
2393
2449
|
startResize(event, "x", (delta) => {
|
|
@@ -2399,7 +2455,10 @@ function WorkbenchBodyTemplate({
|
|
|
2399
2455
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2400
2456
|
"aside",
|
|
2401
2457
|
{
|
|
2402
|
-
className: cn(
|
|
2458
|
+
className: cn(
|
|
2459
|
+
"hidden min-h-0 shrink-0 overflow-hidden border-l bg-card/45 md:flex md:flex-col",
|
|
2460
|
+
rightPaneClassName
|
|
2461
|
+
),
|
|
2403
2462
|
style: { width: rightWidth },
|
|
2404
2463
|
children: rightPane
|
|
2405
2464
|
}
|
|
@@ -2454,13 +2513,13 @@ function GroupWrapper({
|
|
|
2454
2513
|
children
|
|
2455
2514
|
}) {
|
|
2456
2515
|
if (variant === "card") {
|
|
2457
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-(--
|
|
2516
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-(--designkit-panel-gap)", children }) });
|
|
2458
2517
|
}
|
|
2459
2518
|
if (variant === "bordered") {
|
|
2460
2519
|
if (layout === "inline") {
|
|
2461
2520
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-(--radius) border divide-y", children });
|
|
2462
2521
|
}
|
|
2463
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-(--radius) border p-(--
|
|
2522
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-(--radius) border p-(--designkit-panel-gap)", children });
|
|
2464
2523
|
}
|
|
2465
2524
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
|
|
2466
2525
|
}
|
|
@@ -2486,7 +2545,7 @@ function renderGroupProps(props) {
|
|
|
2486
2545
|
const variant = variantProp ?? layoutDefaultVariant[layout];
|
|
2487
2546
|
if (layout === "split") {
|
|
2488
2547
|
const panes = React2.Children.toArray(children);
|
|
2489
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--
|
|
2548
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2490
2549
|
(title || description || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-3 flex items-start justify-between", children: [
|
|
2491
2550
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2492
2551
|
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2494,21 +2553,30 @@ function renderGroupProps(props) {
|
|
|
2494
2553
|
] }),
|
|
2495
2554
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { children: actions })
|
|
2496
2555
|
] }),
|
|
2497
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid min-h-104 gap-(--
|
|
2556
|
+
/* @__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)) })
|
|
2498
2557
|
] });
|
|
2499
2558
|
}
|
|
2500
2559
|
if (layout === "horizontal") {
|
|
2501
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2560
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2561
|
+
"div",
|
|
2562
|
+
{
|
|
2563
|
+
className: cn(
|
|
2564
|
+
"grid grid-cols-1 gap-(--designkit-panel-gap) py-(--designkit-panel-gap) sm:grid-cols-3 sm:gap-[calc(var(--designkit-panel-gap)*2)]",
|
|
2565
|
+
className
|
|
2566
|
+
),
|
|
2567
|
+
children: [
|
|
2568
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2569
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-sm font-medium", danger && "text-destructive"), children: title }),
|
|
2570
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: description }),
|
|
2571
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: actions })
|
|
2572
|
+
] }),
|
|
2573
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sm:col-span-2", children: /* @__PURE__ */ jsxRuntime.jsx(GroupWrapper, { layout, variant, children }) })
|
|
2574
|
+
]
|
|
2575
|
+
}
|
|
2576
|
+
);
|
|
2509
2577
|
}
|
|
2510
2578
|
if (layout === "inline") {
|
|
2511
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--
|
|
2579
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2512
2580
|
(title || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-start justify-between", children: [
|
|
2513
2581
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2514
2582
|
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2519,7 +2587,7 @@ function renderGroupProps(props) {
|
|
|
2519
2587
|
/* @__PURE__ */ jsxRuntime.jsx(GroupWrapper, { layout, variant, children })
|
|
2520
2588
|
] });
|
|
2521
2589
|
}
|
|
2522
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--
|
|
2590
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2523
2591
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between", children: [
|
|
2524
2592
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
2525
2593
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2534,8 +2602,8 @@ function DataBodyField({ label, description, children }) {
|
|
|
2534
2602
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2535
2603
|
"div",
|
|
2536
2604
|
{
|
|
2537
|
-
className: "grid items-start gap-x-4
|
|
2538
|
-
style: { gridTemplateColumns: "var(--
|
|
2605
|
+
className: "flex flex-col gap-y-1 px-4 py-3 sm:grid sm:items-start sm:gap-x-4 sm:gap-y-0",
|
|
2606
|
+
style: { gridTemplateColumns: "var(--designkit-form-label-w, 11rem) 1fr" },
|
|
2539
2607
|
children: [
|
|
2540
2608
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-0.5", children: [
|
|
2541
2609
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: label }),
|
|
@@ -2550,8 +2618,8 @@ function DataBodyRow({ label, description, required, children }) {
|
|
|
2550
2618
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2551
2619
|
"div",
|
|
2552
2620
|
{
|
|
2553
|
-
className: "grid items-start gap-x-4
|
|
2554
|
-
style: { gridTemplateColumns: "var(--
|
|
2621
|
+
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",
|
|
2622
|
+
style: { gridTemplateColumns: "var(--designkit-form-label-w, 11rem) 1fr" },
|
|
2555
2623
|
children: [
|
|
2556
2624
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-1", children: [
|
|
2557
2625
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
|
|
@@ -2575,6 +2643,7 @@ function Root2({
|
|
|
2575
2643
|
topBar,
|
|
2576
2644
|
title,
|
|
2577
2645
|
description,
|
|
2646
|
+
status,
|
|
2578
2647
|
actions,
|
|
2579
2648
|
toolbarLeft,
|
|
2580
2649
|
toolbarRight,
|
|
@@ -2608,10 +2677,10 @@ function Root2({
|
|
|
2608
2677
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-databody", className), style: theme, children: [
|
|
2609
2678
|
/* @__PURE__ */ jsxRuntime.jsx(TopBarSlot, { topBar }),
|
|
2610
2679
|
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Header, { children: [
|
|
2611
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description }),
|
|
2680
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2612
2681
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2613
2682
|
] }),
|
|
2614
|
-
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--
|
|
2683
|
+
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2615
2684
|
/* @__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 }) }) })
|
|
2616
2685
|
] });
|
|
2617
2686
|
}
|
|
@@ -2620,11 +2689,11 @@ function Root2({
|
|
|
2620
2689
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-sectioned", className), style: theme, children: [
|
|
2621
2690
|
/* @__PURE__ */ jsxRuntime.jsx(TopBarSlot, { topBar }),
|
|
2622
2691
|
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Header, { children: [
|
|
2623
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description }),
|
|
2692
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2624
2693
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2625
2694
|
] }),
|
|
2626
|
-
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--
|
|
2627
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { className: contentClassName, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-(--
|
|
2695
|
+
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2696
|
+
/* @__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: [
|
|
2628
2697
|
/* @__PURE__ */ jsxRuntime.jsx("nav", { className: "space-y-1", children: sections.map((section) => {
|
|
2629
2698
|
const active = section.props.id === activeSection?.props.id;
|
|
2630
2699
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -2646,7 +2715,7 @@ function Root2({
|
|
|
2646
2715
|
section.props.id
|
|
2647
2716
|
);
|
|
2648
2717
|
}) }),
|
|
2649
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 space-y-(--
|
|
2718
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 space-y-(--designkit-panel-gap)", children: renderGroups(activeSection?.props.children) })
|
|
2650
2719
|
] }) })
|
|
2651
2720
|
] });
|
|
2652
2721
|
}
|
|
@@ -2654,10 +2723,10 @@ function Root2({
|
|
|
2654
2723
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-databody", className), style: theme, children: [
|
|
2655
2724
|
/* @__PURE__ */ jsxRuntime.jsx(TopBarSlot, { topBar }),
|
|
2656
2725
|
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Header, { children: [
|
|
2657
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description }),
|
|
2726
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2658
2727
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2659
2728
|
] }),
|
|
2660
|
-
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--
|
|
2729
|
+
summaryEl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2661
2730
|
hasTabs && /* @__PURE__ */ jsxRuntime.jsx(DataPage.Tabs, { children: tabs.map((tab) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2662
2731
|
DataPage.Tab,
|
|
2663
2732
|
{
|
|
@@ -2704,6 +2773,7 @@ function BrowseBodyTemplate({
|
|
|
2704
2773
|
topBar,
|
|
2705
2774
|
title,
|
|
2706
2775
|
description,
|
|
2776
|
+
status,
|
|
2707
2777
|
actions,
|
|
2708
2778
|
sidebar,
|
|
2709
2779
|
sidebarTitle = "Filters",
|
|
@@ -2714,15 +2784,15 @@ function BrowseBodyTemplate({
|
|
|
2714
2784
|
children
|
|
2715
2785
|
}) {
|
|
2716
2786
|
const isNarrow = useIsNarrow();
|
|
2717
|
-
const hasHeader = title || description || actions;
|
|
2787
|
+
const hasHeader = title || description || status || actions;
|
|
2718
2788
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: cn("layout-browse", className), style: theme, children: [
|
|
2719
2789
|
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
2720
2790
|
hasHeader && /* @__PURE__ */ jsxRuntime.jsxs(DataPage.Header, { children: [
|
|
2721
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description }),
|
|
2791
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2722
2792
|
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Actions, { children: actions })
|
|
2723
2793
|
] }),
|
|
2724
2794
|
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { padding: "none", className: "flex flex-col overflow-hidden", children: [
|
|
2725
|
-
(toolbar || isNarrow) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b px-(--
|
|
2795
|
+
(toolbar || isNarrow) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b px-(--designkit-page-padding-x) py-2", children: [
|
|
2726
2796
|
isNarrow && /* @__PURE__ */ jsxRuntime.jsxs(Sheet, { children: [
|
|
2727
2797
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2728
2798
|
SheetTrigger,
|
|
@@ -2742,19 +2812,12 @@ function BrowseBodyTemplate({
|
|
|
2742
2812
|
toolbar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: toolbar })
|
|
2743
2813
|
] }),
|
|
2744
2814
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-0 flex-1 overflow-hidden", children: [
|
|
2745
|
-
!isNarrow && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2746
|
-
"aside",
|
|
2747
|
-
{
|
|
2748
|
-
className: "shrink-0 overflow-hidden border-r",
|
|
2749
|
-
style: { width: sidebarWidth },
|
|
2750
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-(--dk-page-padding-x) py-(--dk-page-padding-y)", children: sidebar }) })
|
|
2751
|
-
}
|
|
2752
|
-
),
|
|
2815
|
+
!isNarrow && /* @__PURE__ */ jsxRuntime.jsx("aside", { className: "shrink-0 overflow-hidden border-r", style: { width: sidebarWidth }, 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 }) }) }),
|
|
2753
2816
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2754
2817
|
"div",
|
|
2755
2818
|
{
|
|
2756
2819
|
className: cn(
|
|
2757
|
-
"min-w-0 flex-1 overflow-hidden px-(--
|
|
2820
|
+
"min-w-0 flex-1 overflow-hidden px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
2758
2821
|
"[&_.gridkit-shell]:h-full [&_.gridkit-table-stack]:flex-1 [&_.gridkit-table-stack]:min-h-0",
|
|
2759
2822
|
"[&_.gridkit-frame]:flex-1 [&_.gridkit-frame]:min-h-0 [&_.gridkit-frame]:overflow-auto",
|
|
2760
2823
|
contentClassName
|
|
@@ -2807,8 +2870,8 @@ function DetailBodySection({
|
|
|
2807
2870
|
{
|
|
2808
2871
|
className: cn(
|
|
2809
2872
|
"min-h-0",
|
|
2810
|
-
surface === "card" && "rounded-(--radius) border bg-card p-(--
|
|
2811
|
-
surface === "bordered" && "rounded-(--radius) border p-(--
|
|
2873
|
+
surface === "card" && "rounded-(--radius) border bg-card p-(--designkit-panel-gap) text-card-foreground shadow-sm",
|
|
2874
|
+
surface === "bordered" && "rounded-(--radius) border p-(--designkit-panel-gap)",
|
|
2812
2875
|
className
|
|
2813
2876
|
),
|
|
2814
2877
|
children: [
|
|
@@ -2853,8 +2916,14 @@ function DetailBodyTemplateRoot({
|
|
|
2853
2916
|
const hasTabs = tabs.length > 0;
|
|
2854
2917
|
const [activeTab, setActiveTab] = React2.useState(() => tabs[0]?.props.id ?? "");
|
|
2855
2918
|
const selectedTab = tabs.find((tab) => tab.props.id === activeTab) ?? tabs[0];
|
|
2856
|
-
const summarySlot = summary ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 rounded-(--radius) border bg-card p-(--
|
|
2857
|
-
const mediaSlot = media ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2919
|
+
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;
|
|
2920
|
+
const mediaSlot = media ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2921
|
+
"div",
|
|
2922
|
+
{
|
|
2923
|
+
className: cn("min-h-0 overflow-hidden rounded-(--radius) border bg-card", mediaClassName),
|
|
2924
|
+
children: media
|
|
2925
|
+
}
|
|
2926
|
+
) : null;
|
|
2858
2927
|
const leadGridClass = variant === "media" ? "xl:grid-cols-[minmax(0,1.35fr)_minmax(18rem,0.65fr)]" : "xl:grid-cols-2";
|
|
2859
2928
|
const defaultHeader = eyebrow || title || description || status || actions ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
2860
2929
|
DetailBodyHeader,
|
|
@@ -2866,7 +2935,7 @@ function DetailBodyTemplateRoot({
|
|
|
2866
2935
|
actions
|
|
2867
2936
|
}
|
|
2868
2937
|
) : null;
|
|
2869
|
-
const defaultLead = media || summary ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-(--
|
|
2938
|
+
const defaultLead = media || summary ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("grid gap-(--designkit-panel-gap)", leadGridClass), children: [
|
|
2870
2939
|
mediaSlot,
|
|
2871
2940
|
summarySlot
|
|
2872
2941
|
] }) : null;
|
|
@@ -2882,8 +2951,8 @@ function DetailBodyTemplateRoot({
|
|
|
2882
2951
|
},
|
|
2883
2952
|
tab.props.id
|
|
2884
2953
|
)) }),
|
|
2885
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-(--
|
|
2886
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--
|
|
2954
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-(--designkit-panel-gap)", children: selectedTab?.props.children })
|
|
2955
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--designkit-panel-gap)", children: renderChildren(children) });
|
|
2887
2956
|
const leadSlot = lead ?? defaultLead;
|
|
2888
2957
|
const outsideAsideSlot = variant === "full" ? null : aside;
|
|
2889
2958
|
const insideAsideSlot = variant === "full" ? aside : null;
|
|
@@ -2891,19 +2960,19 @@ function DetailBodyTemplateRoot({
|
|
|
2891
2960
|
const hasFullLeadArea = Boolean(leadSlot || insideAsideSlot);
|
|
2892
2961
|
const layout = {
|
|
2893
2962
|
media: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2894
|
-
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-(--
|
|
2963
|
+
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-(--designkit-panel-gap)", children: leadSlot }),
|
|
2895
2964
|
body
|
|
2896
2965
|
] }),
|
|
2897
2966
|
record: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2898
2967
|
"div",
|
|
2899
2968
|
{
|
|
2900
2969
|
className: cn(
|
|
2901
|
-
"grid gap-(--
|
|
2970
|
+
"grid gap-(--designkit-panel-gap)",
|
|
2902
2971
|
hasRecordInspector && "xl:grid-cols-[minmax(28rem,1fr)_minmax(14rem,18rem)]"
|
|
2903
2972
|
),
|
|
2904
2973
|
children: [
|
|
2905
2974
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: body }),
|
|
2906
|
-
hasRecordInspector && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--
|
|
2975
|
+
hasRecordInspector && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--designkit-panel-gap)", children: leadSlot })
|
|
2907
2976
|
]
|
|
2908
2977
|
}
|
|
2909
2978
|
),
|
|
@@ -2912,53 +2981,79 @@ function DetailBodyTemplateRoot({
|
|
|
2912
2981
|
"div",
|
|
2913
2982
|
{
|
|
2914
2983
|
className: cn(
|
|
2915
|
-
"mb-(--
|
|
2984
|
+
"mb-(--designkit-panel-gap) grid gap-(--designkit-panel-gap)",
|
|
2916
2985
|
insideAsideSlot && "xl:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]"
|
|
2917
2986
|
),
|
|
2918
2987
|
children: [
|
|
2919
|
-
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--
|
|
2920
|
-
insideAsideSlot && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2988
|
+
leadSlot && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-(--designkit-panel-gap)", children: leadSlot }),
|
|
2989
|
+
insideAsideSlot && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2990
|
+
"div",
|
|
2991
|
+
{
|
|
2992
|
+
className: cn(
|
|
2993
|
+
"min-h-0 rounded-(--radius) border bg-card p-(--designkit-panel-gap)",
|
|
2994
|
+
asideClassName
|
|
2995
|
+
),
|
|
2996
|
+
children: insideAsideSlot
|
|
2997
|
+
}
|
|
2998
|
+
)
|
|
2921
2999
|
]
|
|
2922
3000
|
}
|
|
2923
3001
|
),
|
|
2924
3002
|
body
|
|
2925
3003
|
] })
|
|
2926
3004
|
};
|
|
2927
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
-
|
|
2942
|
-
|
|
2943
|
-
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2947
|
-
|
|
2948
|
-
|
|
2949
|
-
|
|
2950
|
-
|
|
2951
|
-
|
|
2952
|
-
|
|
2953
|
-
stickyAside && "lg:sticky lg:top-0"
|
|
3005
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3006
|
+
DataPage,
|
|
3007
|
+
{
|
|
3008
|
+
className: cn("layout-detail", className),
|
|
3009
|
+
style: theme,
|
|
3010
|
+
"data-detail-variant": variant,
|
|
3011
|
+
children: [
|
|
3012
|
+
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
3013
|
+
header ?? defaultHeader,
|
|
3014
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { padding: "none", className: "overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3015
|
+
"div",
|
|
3016
|
+
{
|
|
3017
|
+
className: cn(
|
|
3018
|
+
"grid h-full min-h-0 grid-cols-1 overflow-hidden",
|
|
3019
|
+
outsideAsideSlot && "lg:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]"
|
|
3020
|
+
),
|
|
3021
|
+
children: [
|
|
3022
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3023
|
+
"main",
|
|
3024
|
+
{
|
|
3025
|
+
className: cn(
|
|
3026
|
+
"min-h-0 overflow-auto px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
3027
|
+
contentClassName
|
|
3028
|
+
),
|
|
3029
|
+
children: layout[variant]
|
|
3030
|
+
}
|
|
2954
3031
|
),
|
|
2955
|
-
|
|
2956
|
-
|
|
2957
|
-
|
|
2958
|
-
|
|
2959
|
-
|
|
2960
|
-
|
|
2961
|
-
|
|
3032
|
+
outsideAsideSlot && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3033
|
+
"aside",
|
|
3034
|
+
{
|
|
3035
|
+
className: cn(
|
|
3036
|
+
"min-h-0 border-t bg-background lg:border-l lg:border-t-0",
|
|
3037
|
+
asideClassName
|
|
3038
|
+
),
|
|
3039
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3040
|
+
"div",
|
|
3041
|
+
{
|
|
3042
|
+
className: cn(
|
|
3043
|
+
"px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
3044
|
+
stickyAside && "lg:sticky lg:top-0"
|
|
3045
|
+
),
|
|
3046
|
+
children: outsideAsideSlot
|
|
3047
|
+
}
|
|
3048
|
+
)
|
|
3049
|
+
}
|
|
3050
|
+
)
|
|
3051
|
+
]
|
|
3052
|
+
}
|
|
3053
|
+
) })
|
|
3054
|
+
]
|
|
3055
|
+
}
|
|
3056
|
+
);
|
|
2962
3057
|
}
|
|
2963
3058
|
var DetailBodyTemplate = Object.assign(DetailBodyTemplateRoot, {
|
|
2964
3059
|
Header: DetailBodyHeader,
|
|
@@ -2974,7 +3069,9 @@ function ListDetailBodyTemplate({
|
|
|
2974
3069
|
emptyDetail,
|
|
2975
3070
|
listWidth = 320,
|
|
2976
3071
|
listClassName,
|
|
2977
|
-
detailClassName
|
|
3072
|
+
detailClassName,
|
|
3073
|
+
onBack,
|
|
3074
|
+
backLabel = "Back"
|
|
2978
3075
|
}) {
|
|
2979
3076
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2980
3077
|
DataPage,
|
|
@@ -2995,15 +3092,21 @@ function ListDetailBodyTemplate({
|
|
|
2995
3092
|
children: list
|
|
2996
3093
|
}
|
|
2997
3094
|
),
|
|
2998
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3095
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2999
3096
|
"main",
|
|
3000
3097
|
{
|
|
3001
3098
|
className: cn(
|
|
3002
|
-
"min-h-0 min-w-0 flex-1 overflow-
|
|
3003
|
-
!detail && "hidden lg:
|
|
3099
|
+
"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",
|
|
3100
|
+
!detail && "hidden lg:flex",
|
|
3004
3101
|
detailClassName
|
|
3005
3102
|
),
|
|
3006
|
-
children:
|
|
3103
|
+
children: [
|
|
3104
|
+
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: [
|
|
3105
|
+
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronLeft, { className: "h-4 w-4" }),
|
|
3106
|
+
backLabel
|
|
3107
|
+
] }) }),
|
|
3108
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: detail ?? emptyDetail })
|
|
3109
|
+
]
|
|
3007
3110
|
}
|
|
3008
3111
|
)
|
|
3009
3112
|
] })
|
|
@@ -3011,9 +3114,56 @@ function ListDetailBodyTemplate({
|
|
|
3011
3114
|
}
|
|
3012
3115
|
);
|
|
3013
3116
|
}
|
|
3117
|
+
function PanelTemplateSection({
|
|
3118
|
+
title,
|
|
3119
|
+
description,
|
|
3120
|
+
actions,
|
|
3121
|
+
className,
|
|
3122
|
+
children
|
|
3123
|
+
}) {
|
|
3124
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("section", { className: cn("space-y-2.5", className), children: [
|
|
3125
|
+
(title || description || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
3126
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
3127
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
3128
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
|
|
3129
|
+
] }),
|
|
3130
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: actions })
|
|
3131
|
+
] }),
|
|
3132
|
+
children
|
|
3133
|
+
] });
|
|
3134
|
+
}
|
|
3135
|
+
function PanelTemplateRoot({
|
|
3136
|
+
title,
|
|
3137
|
+
eyebrow,
|
|
3138
|
+
status,
|
|
3139
|
+
actions,
|
|
3140
|
+
footer,
|
|
3141
|
+
children,
|
|
3142
|
+
className,
|
|
3143
|
+
bodyClassName
|
|
3144
|
+
}) {
|
|
3145
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-full flex-col overflow-hidden", className), children: [
|
|
3146
|
+
(title || eyebrow || actions) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "shrink-0 px-4 py-3", children: [
|
|
3147
|
+
eyebrow && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-0.5 text-[10px] font-medium uppercase tracking-wider text-muted-foreground", children: eyebrow }),
|
|
3148
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3149
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
3150
|
+
title && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "min-w-0 truncate text-sm font-semibold", children: title }),
|
|
3151
|
+
status && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "shrink-0", children: status })
|
|
3152
|
+
] }),
|
|
3153
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-1", children: actions })
|
|
3154
|
+
] })
|
|
3155
|
+
] }),
|
|
3156
|
+
/* @__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 }) }),
|
|
3157
|
+
footer && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 border-t px-4 py-3", children: footer })
|
|
3158
|
+
] });
|
|
3159
|
+
}
|
|
3160
|
+
var PanelTemplate = Object.assign(PanelTemplateRoot, {
|
|
3161
|
+
Section: PanelTemplateSection
|
|
3162
|
+
});
|
|
3014
3163
|
function FormWizardBodyTemplate({
|
|
3015
3164
|
theme,
|
|
3016
3165
|
title,
|
|
3166
|
+
status,
|
|
3017
3167
|
topBar,
|
|
3018
3168
|
variant = "plain",
|
|
3019
3169
|
steps,
|
|
@@ -3031,8 +3181,8 @@ function FormWizardBodyTemplate({
|
|
|
3031
3181
|
}
|
|
3032
3182
|
return /* @__PURE__ */ jsxRuntime.jsxs(DataPage, { className: "layout-form-wizard", style: theme, children: [
|
|
3033
3183
|
topBar && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: topBar }),
|
|
3034
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title }) }),
|
|
3035
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0 px-(--
|
|
3184
|
+
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(DataPage.TitleBlock, { title, status }) }),
|
|
3185
|
+
/* @__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: [
|
|
3036
3186
|
i > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3037
3187
|
"div",
|
|
3038
3188
|
{
|
|
@@ -3065,7 +3215,7 @@ function FormWizardBodyTemplate({
|
|
|
3065
3215
|
)
|
|
3066
3216
|
] })
|
|
3067
3217
|
] }, step.key)) }) }),
|
|
3068
|
-
/* @__PURE__ */ jsxRuntime.jsx(DataPage.Content, { children: current && (variant === "card" ? /* @__PURE__ */ jsxRuntime.jsx(Card, { children: /* @__PURE__ */ jsxRuntime.jsx(CardContent, { className: "p-(--
|
|
3218
|
+
/* @__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: [
|
|
3069
3219
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-5", children: [
|
|
3070
3220
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-semibold", children: current.title }),
|
|
3071
3221
|
current.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: current.description })
|
|
@@ -3123,8 +3273,8 @@ function TypographyBodyTemplate({ theme, breadcrumb }) {
|
|
|
3123
3273
|
description: "Global type scale preview for shell, template, and grid content"
|
|
3124
3274
|
}
|
|
3125
3275
|
) }),
|
|
3126
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "grid gap-[var(--
|
|
3127
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-[var(--
|
|
3276
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "grid gap-[var(--designkit-panel-gap)] lg:grid-cols-[1fr_22rem]", children: [
|
|
3277
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-[var(--designkit-panel-gap)]", children: [
|
|
3128
3278
|
/* @__PURE__ */ jsxRuntime.jsxs(Card, { className: "rounded-lg border border-border ring-0", children: [
|
|
3129
3279
|
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { children: "Type Scale" }) }),
|
|
3130
3280
|
/* @__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: [
|
|
@@ -3315,7 +3465,7 @@ function ColorsBodyTemplate({ theme, breadcrumb }) {
|
|
|
3315
3465
|
description: "Design token color palette and derivation rules for the active theme"
|
|
3316
3466
|
}
|
|
3317
3467
|
) }),
|
|
3318
|
-
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "space-y-[var(--
|
|
3468
|
+
/* @__PURE__ */ jsxRuntime.jsxs(DataPage.Content, { className: "space-y-[var(--designkit-panel-gap)]", children: [
|
|
3319
3469
|
/* @__PURE__ */ jsxRuntime.jsxs(Card, { className: "rounded-lg border border-border ring-0", children: [
|
|
3320
3470
|
/* @__PURE__ */ jsxRuntime.jsx(CardHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(CardTitle, { children: "Primary \u2014 controlled by hue & chroma" }) }),
|
|
3321
3471
|
/* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "space-y-3", children: [
|
|
@@ -3485,15 +3635,7 @@ function LoginBodyTemplate({
|
|
|
3485
3635
|
);
|
|
3486
3636
|
}
|
|
3487
3637
|
function Breadcrumb({ className, ...props }) {
|
|
3488
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3489
|
-
"nav",
|
|
3490
|
-
{
|
|
3491
|
-
"aria-label": "breadcrumb",
|
|
3492
|
-
"data-slot": "breadcrumb",
|
|
3493
|
-
className: cn(className),
|
|
3494
|
-
...props
|
|
3495
|
-
}
|
|
3496
|
-
);
|
|
3638
|
+
return /* @__PURE__ */ jsxRuntime.jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", className: cn(className), ...props });
|
|
3497
3639
|
}
|
|
3498
3640
|
function BreadcrumbList({ className, ...props }) {
|
|
3499
3641
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3518,11 +3660,7 @@ function BreadcrumbItem({ className, ...props }) {
|
|
|
3518
3660
|
}
|
|
3519
3661
|
);
|
|
3520
3662
|
}
|
|
3521
|
-
function BreadcrumbLink({
|
|
3522
|
-
className,
|
|
3523
|
-
render,
|
|
3524
|
-
...props
|
|
3525
|
-
}) {
|
|
3663
|
+
function BreadcrumbLink({ className, render, ...props }) {
|
|
3526
3664
|
return useRender.useRender({
|
|
3527
3665
|
defaultTagName: "a",
|
|
3528
3666
|
props: mergeProps.mergeProps(
|
|
@@ -3550,11 +3688,7 @@ function BreadcrumbPage({ className, ...props }) {
|
|
|
3550
3688
|
}
|
|
3551
3689
|
);
|
|
3552
3690
|
}
|
|
3553
|
-
function BreadcrumbSeparator({
|
|
3554
|
-
children,
|
|
3555
|
-
className,
|
|
3556
|
-
...props
|
|
3557
|
-
}) {
|
|
3691
|
+
function BreadcrumbSeparator({ children, className, ...props }) {
|
|
3558
3692
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3559
3693
|
"li",
|
|
3560
3694
|
{
|
|
@@ -3602,26 +3736,36 @@ function buildTopBar(opts) {
|
|
|
3602
3736
|
}
|
|
3603
3737
|
);
|
|
3604
3738
|
}
|
|
3739
|
+
function AutoSidebarTrigger() {
|
|
3740
|
+
const ctx = useSidebarOptional();
|
|
3741
|
+
if (!ctx?.isMobile) return null;
|
|
3742
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SidebarTrigger, { className: "-ml-1 shrink-0" });
|
|
3743
|
+
}
|
|
3605
3744
|
function PageTopBar({
|
|
3606
3745
|
left,
|
|
3607
3746
|
right,
|
|
3608
3747
|
variant = "ghost",
|
|
3609
|
-
height = "var(--
|
|
3748
|
+
height = "var(--designkit-toolbar-height)",
|
|
3610
3749
|
className,
|
|
3611
3750
|
style,
|
|
3612
|
-
children
|
|
3751
|
+
children,
|
|
3752
|
+
sidebarTrigger
|
|
3613
3753
|
}) {
|
|
3754
|
+
const trigger = sidebarTrigger === false ? null : sidebarTrigger !== void 0 ? sidebarTrigger : /* @__PURE__ */ jsxRuntime.jsx(AutoSidebarTrigger, {});
|
|
3614
3755
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3615
3756
|
"div",
|
|
3616
3757
|
{
|
|
3617
3758
|
className: cn(
|
|
3618
|
-
"flex shrink-0 items-center justify-between gap-4 px-(--
|
|
3759
|
+
"flex shrink-0 items-center justify-between gap-4 px-(--designkit-page-padding-x)",
|
|
3619
3760
|
variant === "default" && "border-b",
|
|
3620
3761
|
className
|
|
3621
3762
|
),
|
|
3622
3763
|
style: { height, ...style },
|
|
3623
3764
|
children: [
|
|
3624
|
-
/* @__PURE__ */ jsxRuntime.
|
|
3765
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 items-center gap-2 text-xs text-muted-foreground", children: [
|
|
3766
|
+
trigger,
|
|
3767
|
+
normalizeBreadcrumb(left ?? children)
|
|
3768
|
+
] }),
|
|
3625
3769
|
right && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 items-center gap-2", children: right })
|
|
3626
3770
|
]
|
|
3627
3771
|
}
|
|
@@ -3661,8 +3805,7 @@ function buildTokenMap({
|
|
|
3661
3805
|
}[density];
|
|
3662
3806
|
const c = (factor) => (primaryChroma * factor).toFixed(4);
|
|
3663
3807
|
return {
|
|
3664
|
-
"--
|
|
3665
|
-
"--gridkit-radius": `${radius}rem`,
|
|
3808
|
+
"--designkit-radius": `${radius}rem`,
|
|
3666
3809
|
"--radius": `${radius}rem`,
|
|
3667
3810
|
"--radius-sm": `${(radius * 0.6).toFixed(4)}rem`,
|
|
3668
3811
|
"--radius-md": `${(radius * 0.8).toFixed(4)}rem`,
|
|
@@ -3670,12 +3813,9 @@ function buildTokenMap({
|
|
|
3670
3813
|
"--radius-xl": `${(radius * 1.4).toFixed(4)}rem`,
|
|
3671
3814
|
"--radius-2xl": `${(radius * 1.8).toFixed(4)}rem`,
|
|
3672
3815
|
// primary — fully controlled
|
|
3673
|
-
"--
|
|
3674
|
-
"--
|
|
3675
|
-
"--
|
|
3676
|
-
"--gridkit-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3677
|
-
"--gridkit-primary-foreground": "oklch(0.985 0 0)",
|
|
3678
|
-
"--gridkit-ring": `oklch(0.50 ${primaryChroma} ${primaryHue})`,
|
|
3816
|
+
"--designkit-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3817
|
+
"--designkit-primary-foreground": "oklch(0.985 0 0)",
|
|
3818
|
+
"--designkit-ring": `oklch(0.50 ${primaryChroma} ${primaryHue})`,
|
|
3679
3819
|
"--primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3680
3820
|
"--primary-foreground": "oklch(0.985 0 0)",
|
|
3681
3821
|
"--color-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
@@ -3695,37 +3835,35 @@ function buildTokenMap({
|
|
|
3695
3835
|
"--color-muted": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3696
3836
|
"--color-secondary": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3697
3837
|
"--color-accent": `oklch(0.970 ${c(0.04)} ${primaryHue})`,
|
|
3698
|
-
"--
|
|
3699
|
-
"--
|
|
3700
|
-
"--
|
|
3701
|
-
"--
|
|
3702
|
-
"--
|
|
3703
|
-
"--
|
|
3704
|
-
"--
|
|
3705
|
-
"--
|
|
3706
|
-
"--
|
|
3707
|
-
"--
|
|
3708
|
-
"--
|
|
3709
|
-
"--
|
|
3710
|
-
"--
|
|
3711
|
-
"--
|
|
3712
|
-
"--
|
|
3713
|
-
"--
|
|
3714
|
-
"--
|
|
3715
|
-
"--
|
|
3716
|
-
"--
|
|
3717
|
-
"--
|
|
3718
|
-
"--
|
|
3719
|
-
"--text-
|
|
3720
|
-
"--text-
|
|
3721
|
-
"--text-
|
|
3722
|
-
"--text-
|
|
3723
|
-
"--text-
|
|
3724
|
-
"--text-
|
|
3725
|
-
"--text-
|
|
3726
|
-
"--text-
|
|
3727
|
-
"--text-lg--line-height": "var(--dk-leading-lg)",
|
|
3728
|
-
"--text-xl--line-height": "var(--dk-leading-xl)"
|
|
3838
|
+
"--designkit-border": `oklch(0.922 ${c(0.04)} ${primaryHue})`,
|
|
3839
|
+
"--designkit-input": `oklch(0.922 ${c(0.04)} ${primaryHue})`,
|
|
3840
|
+
"--designkit-muted": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3841
|
+
"--designkit-font-scale": fontScale,
|
|
3842
|
+
"--designkit-line-height": lineHeight,
|
|
3843
|
+
"--designkit-density": densityValues.density,
|
|
3844
|
+
"--designkit-page-padding-y": pagePaddingY ?? densityValues.pagePaddingY,
|
|
3845
|
+
"--designkit-panel-gap": panelGap ?? densityValues.panelGap,
|
|
3846
|
+
"--designkit-toolbar-height": toolbarHeight ?? densityValues.toolbarHeight,
|
|
3847
|
+
"--designkit-text-xs": `calc(0.75rem * ${fontScale})`,
|
|
3848
|
+
"--designkit-text-sm": `calc(0.875rem * ${fontScale})`,
|
|
3849
|
+
"--designkit-text-base": `calc(1rem * ${fontScale})`,
|
|
3850
|
+
"--designkit-text-lg": `calc(1.125rem * ${fontScale})`,
|
|
3851
|
+
"--designkit-text-xl": `calc(1.25rem * ${fontScale})`,
|
|
3852
|
+
"--designkit-leading-xs": `calc(1rem * ${lineHeight})`,
|
|
3853
|
+
"--designkit-leading-sm": `calc(1.25rem * ${lineHeight})`,
|
|
3854
|
+
"--designkit-leading-base": `calc(1.5rem * ${lineHeight})`,
|
|
3855
|
+
"--designkit-leading-lg": `calc(1.75rem * ${lineHeight})`,
|
|
3856
|
+
"--designkit-leading-xl": `calc(1.75rem * ${lineHeight})`,
|
|
3857
|
+
"--text-xs": "var(--designkit-text-xs)",
|
|
3858
|
+
"--text-sm": "var(--designkit-text-sm)",
|
|
3859
|
+
"--text-base": "var(--designkit-text-base)",
|
|
3860
|
+
"--text-lg": "var(--designkit-text-lg)",
|
|
3861
|
+
"--text-xl": "var(--designkit-text-xl)",
|
|
3862
|
+
"--text-xs--line-height": "var(--designkit-leading-xs)",
|
|
3863
|
+
"--text-sm--line-height": "var(--designkit-leading-sm)",
|
|
3864
|
+
"--text-base--line-height": "var(--designkit-leading-base)",
|
|
3865
|
+
"--text-lg--line-height": "var(--designkit-leading-lg)",
|
|
3866
|
+
"--text-xl--line-height": "var(--designkit-leading-xl)"
|
|
3729
3867
|
};
|
|
3730
3868
|
}
|
|
3731
3869
|
function buildDarkTonalTokens(primaryHue, primaryChroma) {
|
|
@@ -3741,11 +3879,9 @@ function buildDarkTonalTokens(primaryHue, primaryChroma) {
|
|
|
3741
3879
|
"--color-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`,
|
|
3742
3880
|
"--color-secondary": `oklch(0.269 ${c(0.02)} ${primaryHue})`,
|
|
3743
3881
|
"--color-accent": `oklch(0.320 ${c(0.04)} ${primaryHue})`,
|
|
3744
|
-
"--
|
|
3745
|
-
"--
|
|
3746
|
-
"--
|
|
3747
|
-
"--gridkit-border": `oklch(0.32 ${c(0.06)} ${primaryHue})`,
|
|
3748
|
-
"--gridkit-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`
|
|
3882
|
+
"--designkit-border": `oklch(0.32 ${c(0.06)} ${primaryHue})`,
|
|
3883
|
+
"--designkit-input": `oklch(0.35 ${c(0.06)} ${primaryHue})`,
|
|
3884
|
+
"--designkit-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`
|
|
3749
3885
|
};
|
|
3750
3886
|
}
|
|
3751
3887
|
function tokenMapToCss(tokens) {
|
|
@@ -3791,10 +3927,10 @@ ${tokenMapToCss(tokens)}
|
|
|
3791
3927
|
}, [g.darkMode]);
|
|
3792
3928
|
React2.useEffect(() => {
|
|
3793
3929
|
if (g.density === "default") {
|
|
3794
|
-
document.documentElement.removeAttribute("data-
|
|
3930
|
+
document.documentElement.removeAttribute("data-designkit-density");
|
|
3795
3931
|
return;
|
|
3796
3932
|
}
|
|
3797
|
-
document.documentElement.dataset.
|
|
3933
|
+
document.documentElement.dataset.designkitDensity = g.density;
|
|
3798
3934
|
}, [g.density]);
|
|
3799
3935
|
}
|
|
3800
3936
|
function buildTemplateTheme(g, ov = {}) {
|
|
@@ -3869,6 +4005,7 @@ exports.NavigationMenuPositioner = NavigationMenuPositioner;
|
|
|
3869
4005
|
exports.NavigationMenuTrigger = NavigationMenuTrigger;
|
|
3870
4006
|
exports.PageBreadcrumb = PageBreadcrumb;
|
|
3871
4007
|
exports.PageTopBar = PageTopBar;
|
|
4008
|
+
exports.PanelTemplate = PanelTemplate;
|
|
3872
4009
|
exports.Popover = Popover;
|
|
3873
4010
|
exports.PopoverContent = PopoverContent;
|
|
3874
4011
|
exports.PopoverDescription = PopoverDescription;
|
|
@@ -3949,6 +4086,7 @@ exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle;
|
|
|
3949
4086
|
exports.tabsListVariants = tabsListVariants;
|
|
3950
4087
|
exports.useIsMobile = useIsMobile;
|
|
3951
4088
|
exports.useSidebar = useSidebar;
|
|
4089
|
+
exports.useSidebarOptional = useSidebarOptional;
|
|
3952
4090
|
exports.useStyleInjector = useStyleInjector;
|
|
3953
4091
|
exports.useThemeStore = useThemeStore;
|
|
3954
4092
|
//# sourceMappingURL=index.cjs.map
|