@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.js
CHANGED
|
@@ -7,7 +7,7 @@ import { useRender } from '@base-ui/react/use-render';
|
|
|
7
7
|
import { cva } from 'class-variance-authority';
|
|
8
8
|
import { Button as Button$1 } from '@base-ui/react/button';
|
|
9
9
|
import { Checkbox as Checkbox$1 } from '@base-ui/react/checkbox';
|
|
10
|
-
import { GripHorizontal, CheckIcon, ChevronRightIcon, ChevronDownIcon, ChevronUpIcon, XIcon, PanelLeftIcon, SlidersHorizontal, Check } from 'lucide-react';
|
|
10
|
+
import { GripHorizontal, CheckIcon, ChevronRightIcon, ChevronDownIcon, ChevronUpIcon, XIcon, PanelLeftIcon, SlidersHorizontal, ChevronLeft, Check } from 'lucide-react';
|
|
11
11
|
import { Menu } from '@base-ui/react/menu';
|
|
12
12
|
import { Input as Input$1 } from '@base-ui/react/input';
|
|
13
13
|
import { Popover as Popover$1 } from '@base-ui/react/popover';
|
|
@@ -1735,6 +1735,9 @@ function SidebarMenuSubButton({
|
|
|
1735
1735
|
}
|
|
1736
1736
|
});
|
|
1737
1737
|
}
|
|
1738
|
+
function useSidebarOptional() {
|
|
1739
|
+
return React2.useContext(SidebarContext);
|
|
1740
|
+
}
|
|
1738
1741
|
function EmptyState({ icon: Icon, title, description, action, className }) {
|
|
1739
1742
|
return /* @__PURE__ */ jsxs(
|
|
1740
1743
|
"div",
|
|
@@ -1989,18 +1992,21 @@ function Header({ children, className }) {
|
|
|
1989
1992
|
{
|
|
1990
1993
|
"data-slot": "data-page-header",
|
|
1991
1994
|
className: cn(
|
|
1992
|
-
"shrink-0 px-[var(--
|
|
1995
|
+
"shrink-0 px-[var(--designkit-page-padding-x)] pt-[var(--designkit-page-padding-y)]",
|
|
1993
1996
|
className
|
|
1994
1997
|
),
|
|
1995
|
-
children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-between gap-[var(--
|
|
1998
|
+
children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap items-center justify-between gap-[var(--designkit-panel-gap)]", children })
|
|
1996
1999
|
}
|
|
1997
2000
|
);
|
|
1998
2001
|
}
|
|
1999
|
-
function TitleBlock({ title, description, breadcrumb, className }) {
|
|
2000
|
-
if (!title && !description && !breadcrumb) return null;
|
|
2002
|
+
function TitleBlock({ title, description, breadcrumb, status, className }) {
|
|
2003
|
+
if (!title && !description && !breadcrumb && !status) return null;
|
|
2001
2004
|
return /* @__PURE__ */ jsxs("div", { "data-slot": "data-page-title-block", className: cn("min-w-0 flex-1", className), children: [
|
|
2002
2005
|
breadcrumb && /* @__PURE__ */ jsx("div", { className: "mb-2 text-xs text-muted-foreground", children: breadcrumb }),
|
|
2003
|
-
title && /* @__PURE__ */
|
|
2006
|
+
(title || status) && /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
2007
|
+
title && /* @__PURE__ */ jsx("h1", { className: "min-w-0 truncate text-xl font-semibold", children: title }),
|
|
2008
|
+
status && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: status })
|
|
2009
|
+
] }),
|
|
2004
2010
|
description && /* @__PURE__ */ jsx("p", { className: "mt-1.5 text-sm text-muted-foreground", children: description })
|
|
2005
2011
|
] });
|
|
2006
2012
|
}
|
|
@@ -2010,7 +2016,10 @@ function Actions({ children, className }) {
|
|
|
2010
2016
|
"div",
|
|
2011
2017
|
{
|
|
2012
2018
|
"data-slot": "data-page-actions",
|
|
2013
|
-
className: cn(
|
|
2019
|
+
className: cn(
|
|
2020
|
+
"flex shrink-0 items-center gap-[calc(var(--designkit-panel-gap)*0.5)]",
|
|
2021
|
+
className
|
|
2022
|
+
),
|
|
2014
2023
|
children
|
|
2015
2024
|
}
|
|
2016
2025
|
);
|
|
@@ -2048,8 +2057,8 @@ function Content({ children, className, padding = "default" }) {
|
|
|
2048
2057
|
"data-slot": "data-page-content",
|
|
2049
2058
|
className: cn(
|
|
2050
2059
|
"min-h-0 flex-1 overflow-auto",
|
|
2051
|
-
padding === "default" && "px-[var(--
|
|
2052
|
-
padding === "compact" && "p-[calc(var(--
|
|
2060
|
+
padding === "default" && "px-[var(--designkit-page-padding-x)] pb-[var(--designkit-page-padding-y)] pt-[var(--designkit-page-padding-y)]",
|
|
2061
|
+
padding === "compact" && "p-[calc(var(--designkit-page-padding-y)*0.875)]",
|
|
2053
2062
|
padding === "none" && "p-0",
|
|
2054
2063
|
className
|
|
2055
2064
|
),
|
|
@@ -2086,7 +2095,7 @@ function GroupHeader({
|
|
|
2086
2095
|
{
|
|
2087
2096
|
"data-slot": "data-page-group-header",
|
|
2088
2097
|
className: cn(
|
|
2089
|
-
"flex items-start justify-between gap-4 px-0 pb-[calc(var(--
|
|
2098
|
+
"flex items-start justify-between gap-4 px-0 pb-[calc(var(--designkit-panel-gap)*0.75)]",
|
|
2090
2099
|
className
|
|
2091
2100
|
),
|
|
2092
2101
|
children: [
|
|
@@ -2107,7 +2116,7 @@ function GroupToolbar({ children, className }) {
|
|
|
2107
2116
|
{
|
|
2108
2117
|
"data-slot": "data-page-group-toolbar",
|
|
2109
2118
|
className: cn(
|
|
2110
|
-
"flex min-h-[var(--
|
|
2119
|
+
"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)]",
|
|
2111
2120
|
className
|
|
2112
2121
|
),
|
|
2113
2122
|
children
|
|
@@ -2134,47 +2143,49 @@ var DataPage = Object.assign(Root, {
|
|
|
2134
2143
|
GroupBody,
|
|
2135
2144
|
Footer
|
|
2136
2145
|
});
|
|
2137
|
-
var DashboardPanel = forwardRef(
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
editable && /* @__PURE__ */
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2146
|
+
var DashboardPanel = forwardRef(
|
|
2147
|
+
function DashboardPanel2({
|
|
2148
|
+
title,
|
|
2149
|
+
description,
|
|
2150
|
+
loading,
|
|
2151
|
+
error,
|
|
2152
|
+
transparent,
|
|
2153
|
+
editable,
|
|
2154
|
+
className,
|
|
2155
|
+
style,
|
|
2156
|
+
children,
|
|
2157
|
+
headerRight
|
|
2158
|
+
}, ref) {
|
|
2159
|
+
return /* @__PURE__ */ jsxs(
|
|
2160
|
+
"div",
|
|
2161
|
+
{
|
|
2162
|
+
ref,
|
|
2163
|
+
className: cn(
|
|
2164
|
+
"group flex h-full flex-col overflow-hidden",
|
|
2165
|
+
transparent ? "" : "rounded-(--radius) border bg-card text-card-foreground",
|
|
2166
|
+
editable && "ring-1 ring-border/60 ring-inset",
|
|
2167
|
+
className
|
|
2168
|
+
),
|
|
2169
|
+
style,
|
|
2170
|
+
children: [
|
|
2171
|
+
(title || headerRight || editable) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2 pl-3 pr-1.5 py-2", children: [
|
|
2172
|
+
editable && /* @__PURE__ */ 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__ */ jsx(GripHorizontal, { className: "h-3.5 w-3.5" }) }),
|
|
2173
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
2174
|
+
title && /* @__PURE__ */ jsx("p", { className: "truncate text-xs font-medium text-card-foreground", children: title }),
|
|
2175
|
+
description && /* @__PURE__ */ jsx("p", { className: "truncate text-[11px] text-muted-foreground", children: description })
|
|
2176
|
+
] }),
|
|
2177
|
+
headerRight && /* @__PURE__ */ jsx("div", { className: "shrink-0 flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity duration-150", children: headerRight })
|
|
2166
2178
|
] }),
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
});
|
|
2179
|
+
/* @__PURE__ */ jsxs("div", { className: "relative flex-1 min-h-0 p-3", children: [
|
|
2180
|
+
loading && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-card/70 z-10", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-4 animate-spin rounded-full border-2 border-primary border-t-transparent" }) }),
|
|
2181
|
+
error && /* @__PURE__ */ jsx("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ jsx("p", { className: "text-xs text-destructive", children: error }) }),
|
|
2182
|
+
!error && children
|
|
2183
|
+
] })
|
|
2184
|
+
]
|
|
2185
|
+
}
|
|
2186
|
+
);
|
|
2187
|
+
}
|
|
2188
|
+
);
|
|
2178
2189
|
function DashboardBodyTemplate({
|
|
2179
2190
|
theme,
|
|
2180
2191
|
className,
|
|
@@ -2188,15 +2199,24 @@ function DashboardBodyTemplate({
|
|
|
2188
2199
|
}) {
|
|
2189
2200
|
return /* @__PURE__ */ jsxs(DataPage, { className: cn("layout-dashboard", className), style: theme, children: [
|
|
2190
2201
|
topBar && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: topBar }),
|
|
2191
|
-
(title || toolbar) && /* @__PURE__ */ jsx("header", { className: "shrink-0 border-b px-(--
|
|
2202
|
+
(title || toolbar) && /* @__PURE__ */ jsx("header", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
|
|
2192
2203
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
2193
2204
|
title && /* @__PURE__ */ jsx("h1", { className: "text-sm font-semibold truncate", children: title }),
|
|
2194
2205
|
description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
|
|
2195
2206
|
] }),
|
|
2196
2207
|
toolbar && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-2 shrink-0", children: toolbar })
|
|
2197
2208
|
] }) }),
|
|
2198
|
-
variableBar && /* @__PURE__ */ jsx("div", { className: "shrink-0 flex flex-wrap items-center gap-2 px-(--
|
|
2199
|
-
/* @__PURE__ */ jsx(
|
|
2209
|
+
variableBar && /* @__PURE__ */ jsx("div", { className: "shrink-0 flex flex-wrap items-center gap-2 px-(--designkit-page-padding-x) py-1.5", children: variableBar }),
|
|
2210
|
+
/* @__PURE__ */ jsx(
|
|
2211
|
+
"div",
|
|
2212
|
+
{
|
|
2213
|
+
className: cn(
|
|
2214
|
+
"flex-1 min-h-0 overflow-auto px-[calc(var(--designkit-page-padding-x)-0.5rem)] pt-0 pb-(--designkit-page-padding-y)",
|
|
2215
|
+
contentClassName
|
|
2216
|
+
),
|
|
2217
|
+
children
|
|
2218
|
+
}
|
|
2219
|
+
)
|
|
2200
2220
|
] });
|
|
2201
2221
|
}
|
|
2202
2222
|
function clamp(value, min, max) {
|
|
@@ -2247,6 +2267,7 @@ function WorkbenchBodyTemplate({
|
|
|
2247
2267
|
contentClassName,
|
|
2248
2268
|
title,
|
|
2249
2269
|
description,
|
|
2270
|
+
status,
|
|
2250
2271
|
topBar,
|
|
2251
2272
|
headerRight,
|
|
2252
2273
|
toolbar,
|
|
@@ -2272,41 +2293,49 @@ function WorkbenchBodyTemplate({
|
|
|
2272
2293
|
leftPaneClassName,
|
|
2273
2294
|
mainPaneClassName,
|
|
2274
2295
|
rightPaneClassName,
|
|
2275
|
-
bottomPaneClassName
|
|
2296
|
+
bottomPaneClassName,
|
|
2297
|
+
leftPaneLabel = "Panel",
|
|
2298
|
+
rightPaneLabel = "Inspector"
|
|
2276
2299
|
}) {
|
|
2277
2300
|
const [leftWidth, setLeftWidth] = useState(leftPaneWidth);
|
|
2278
2301
|
const [rightWidth, setRightWidth] = useState(rightPaneWidth);
|
|
2279
2302
|
const [bottomHeight, setBottomHeight] = useState(bottomPaneHeight);
|
|
2280
|
-
const startResize = useCallback(
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2303
|
+
const startResize = useCallback(
|
|
2304
|
+
(event, axis, applyDelta) => {
|
|
2305
|
+
if (!resizable) return;
|
|
2306
|
+
const start = axis === "x" ? event.clientX : event.clientY;
|
|
2307
|
+
event.currentTarget.setPointerCapture(event.pointerId);
|
|
2308
|
+
const previousCursor = document.body.style.cursor;
|
|
2309
|
+
const previousUserSelect = document.body.style.userSelect;
|
|
2310
|
+
document.body.style.cursor = axis === "x" ? "col-resize" : "row-resize";
|
|
2311
|
+
document.body.style.userSelect = "none";
|
|
2312
|
+
const onPointerMove = (moveEvent) => {
|
|
2313
|
+
applyDelta((axis === "x" ? moveEvent.clientX : moveEvent.clientY) - start);
|
|
2314
|
+
};
|
|
2315
|
+
const onPointerUp = () => {
|
|
2316
|
+
document.body.style.cursor = previousCursor;
|
|
2317
|
+
document.body.style.userSelect = previousUserSelect;
|
|
2318
|
+
window.removeEventListener("pointermove", onPointerMove);
|
|
2319
|
+
window.removeEventListener("pointerup", onPointerUp);
|
|
2320
|
+
};
|
|
2321
|
+
window.addEventListener("pointermove", onPointerMove);
|
|
2322
|
+
window.addEventListener("pointerup", onPointerUp, { once: true });
|
|
2323
|
+
},
|
|
2324
|
+
[resizable]
|
|
2325
|
+
);
|
|
2300
2326
|
const headerRightContent = headerRight ?? toolbar;
|
|
2301
|
-
const showHeader = title || description || headerRightContent || actions;
|
|
2327
|
+
const showHeader = title || description || status || headerRightContent || actions;
|
|
2302
2328
|
const showLeftPane = leftPane && !leftPaneCollapsed;
|
|
2303
2329
|
const showRightPane = rightPane && !rightPaneCollapsed;
|
|
2304
2330
|
const showBottomPane = bottomPane && !bottomPaneCollapsed;
|
|
2305
2331
|
return /* @__PURE__ */ jsxs(DataPage, { className: cn("layout-workbench", className), style: theme, children: [
|
|
2306
2332
|
topBar && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: topBar }),
|
|
2307
|
-
showHeader && /* @__PURE__ */ jsx("header", { className: "shrink-0 border-b px-(--
|
|
2333
|
+
showHeader && /* @__PURE__ */ jsx("header", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-[calc(var(--designkit-page-padding-y)*0.75)]", children: /* @__PURE__ */ jsxs("div", { className: "flex min-h-[var(--designkit-toolbar-height)] items-center justify-between gap-3", children: [
|
|
2308
2334
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
2309
|
-
title && /* @__PURE__ */
|
|
2335
|
+
(title || status) && /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [
|
|
2336
|
+
title && /* @__PURE__ */ jsx("h1", { className: "min-w-0 truncate text-sm font-semibold", children: title }),
|
|
2337
|
+
status && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: status })
|
|
2338
|
+
] }),
|
|
2310
2339
|
description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 truncate text-xs text-muted-foreground", children: description })
|
|
2311
2340
|
] }),
|
|
2312
2341
|
(headerRightContent || actions) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
@@ -2314,12 +2343,31 @@ function WorkbenchBodyTemplate({
|
|
|
2314
2343
|
actions
|
|
2315
2344
|
] })
|
|
2316
2345
|
] }) }),
|
|
2346
|
+
(showLeftPane || showRightPane) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-1.5 border-b px-2 py-1.5 md:hidden", children: [
|
|
2347
|
+
showLeftPane && /* @__PURE__ */ jsxs(Sheet, { children: [
|
|
2348
|
+
/* @__PURE__ */ jsx(SheetTrigger, { render: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm" }), children: leftPaneLabel }),
|
|
2349
|
+
/* @__PURE__ */ jsxs(SheetContent, { side: "left", className: "flex flex-col gap-0 p-0", children: [
|
|
2350
|
+
/* @__PURE__ */ jsx(SheetHeader, { className: "shrink-0 border-b px-4 py-3", children: /* @__PURE__ */ jsx(SheetTitle, { children: leftPaneLabel }) }),
|
|
2351
|
+
/* @__PURE__ */ jsx(ScrollArea, { className: "flex-1", children: leftPane })
|
|
2352
|
+
] })
|
|
2353
|
+
] }),
|
|
2354
|
+
showRightPane && /* @__PURE__ */ jsxs(Sheet, { children: [
|
|
2355
|
+
/* @__PURE__ */ jsx(SheetTrigger, { render: /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm" }), children: rightPaneLabel }),
|
|
2356
|
+
/* @__PURE__ */ jsxs(SheetContent, { side: "right", className: "flex flex-col gap-0 p-0", children: [
|
|
2357
|
+
/* @__PURE__ */ jsx(SheetHeader, { className: "shrink-0 border-b px-4 py-3", children: /* @__PURE__ */ jsx(SheetTitle, { children: rightPaneLabel }) }),
|
|
2358
|
+
/* @__PURE__ */ jsx(ScrollArea, { className: "flex-1", children: rightPane })
|
|
2359
|
+
] })
|
|
2360
|
+
] })
|
|
2361
|
+
] }),
|
|
2317
2362
|
/* @__PURE__ */ jsxs("div", { className: cn("flex min-h-0 flex-1 overflow-hidden", contentClassName), children: [
|
|
2318
2363
|
showLeftPane && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
2319
2364
|
/* @__PURE__ */ jsx(
|
|
2320
2365
|
"aside",
|
|
2321
2366
|
{
|
|
2322
|
-
className: cn(
|
|
2367
|
+
className: cn(
|
|
2368
|
+
"hidden min-h-0 shrink-0 overflow-hidden border-r bg-card/45 md:flex md:flex-col",
|
|
2369
|
+
leftPaneClassName
|
|
2370
|
+
),
|
|
2323
2371
|
style: { width: leftWidth },
|
|
2324
2372
|
children: leftPane
|
|
2325
2373
|
}
|
|
@@ -2328,6 +2376,7 @@ function WorkbenchBodyTemplate({
|
|
|
2328
2376
|
ResizeHandle,
|
|
2329
2377
|
{
|
|
2330
2378
|
axis: "x",
|
|
2379
|
+
className: "hidden md:flex",
|
|
2331
2380
|
onPointerDown: (event) => {
|
|
2332
2381
|
const start = leftWidth;
|
|
2333
2382
|
startResize(event, "x", (delta) => {
|
|
@@ -2344,10 +2393,13 @@ function WorkbenchBodyTemplate({
|
|
|
2344
2393
|
ResizeHandle,
|
|
2345
2394
|
{
|
|
2346
2395
|
axis: "y",
|
|
2396
|
+
className: "hidden md:flex",
|
|
2347
2397
|
onPointerDown: (event) => {
|
|
2348
2398
|
const start = bottomHeight;
|
|
2349
2399
|
startResize(event, "y", (delta) => {
|
|
2350
|
-
setBottomHeight(
|
|
2400
|
+
setBottomHeight(
|
|
2401
|
+
clamp(start - delta, minBottomPaneHeight, maxBottomPaneHeight)
|
|
2402
|
+
);
|
|
2351
2403
|
});
|
|
2352
2404
|
}
|
|
2353
2405
|
}
|
|
@@ -2355,7 +2407,10 @@ function WorkbenchBodyTemplate({
|
|
|
2355
2407
|
/* @__PURE__ */ jsx(
|
|
2356
2408
|
"section",
|
|
2357
2409
|
{
|
|
2358
|
-
className: cn(
|
|
2410
|
+
className: cn(
|
|
2411
|
+
"min-h-0 shrink-0 overflow-auto border-t bg-card/40 md:overflow-hidden",
|
|
2412
|
+
bottomPaneClassName
|
|
2413
|
+
),
|
|
2359
2414
|
style: { height: bottomHeight },
|
|
2360
2415
|
children: bottomPane
|
|
2361
2416
|
}
|
|
@@ -2367,6 +2422,7 @@ function WorkbenchBodyTemplate({
|
|
|
2367
2422
|
ResizeHandle,
|
|
2368
2423
|
{
|
|
2369
2424
|
axis: "x",
|
|
2425
|
+
className: "hidden md:flex",
|
|
2370
2426
|
onPointerDown: (event) => {
|
|
2371
2427
|
const start = rightWidth;
|
|
2372
2428
|
startResize(event, "x", (delta) => {
|
|
@@ -2378,7 +2434,10 @@ function WorkbenchBodyTemplate({
|
|
|
2378
2434
|
/* @__PURE__ */ jsx(
|
|
2379
2435
|
"aside",
|
|
2380
2436
|
{
|
|
2381
|
-
className: cn(
|
|
2437
|
+
className: cn(
|
|
2438
|
+
"hidden min-h-0 shrink-0 overflow-hidden border-l bg-card/45 md:flex md:flex-col",
|
|
2439
|
+
rightPaneClassName
|
|
2440
|
+
),
|
|
2382
2441
|
style: { width: rightWidth },
|
|
2383
2442
|
children: rightPane
|
|
2384
2443
|
}
|
|
@@ -2433,13 +2492,13 @@ function GroupWrapper({
|
|
|
2433
2492
|
children
|
|
2434
2493
|
}) {
|
|
2435
2494
|
if (variant === "card") {
|
|
2436
|
-
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, { className: "p-(--
|
|
2495
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, { className: "p-(--designkit-panel-gap)", children }) });
|
|
2437
2496
|
}
|
|
2438
2497
|
if (variant === "bordered") {
|
|
2439
2498
|
if (layout === "inline") {
|
|
2440
2499
|
return /* @__PURE__ */ jsx("div", { className: "overflow-hidden rounded-(--radius) border divide-y", children });
|
|
2441
2500
|
}
|
|
2442
|
-
return /* @__PURE__ */ jsx("div", { className: "rounded-(--radius) border p-(--
|
|
2501
|
+
return /* @__PURE__ */ jsx("div", { className: "rounded-(--radius) border p-(--designkit-panel-gap)", children });
|
|
2443
2502
|
}
|
|
2444
2503
|
return /* @__PURE__ */ jsx(Fragment$1, { children });
|
|
2445
2504
|
}
|
|
@@ -2465,7 +2524,7 @@ function renderGroupProps(props) {
|
|
|
2465
2524
|
const variant = variantProp ?? layoutDefaultVariant[layout];
|
|
2466
2525
|
if (layout === "split") {
|
|
2467
2526
|
const panes = Children.toArray(children);
|
|
2468
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("py-(--
|
|
2527
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2469
2528
|
(title || description || actions) && /* @__PURE__ */ jsxs("div", { className: "mb-3 flex items-start justify-between", children: [
|
|
2470
2529
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
2471
2530
|
title && /* @__PURE__ */ jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2473,21 +2532,30 @@ function renderGroupProps(props) {
|
|
|
2473
2532
|
] }),
|
|
2474
2533
|
actions && /* @__PURE__ */ jsx("div", { children: actions })
|
|
2475
2534
|
] }),
|
|
2476
|
-
/* @__PURE__ */ jsx("div", { className: "grid min-h-104 gap-(--
|
|
2535
|
+
/* @__PURE__ */ jsx("div", { className: "grid min-h-104 gap-(--designkit-panel-gap) lg:grid-cols-[20rem_minmax(0,1fr)]", children: panes.map((pane, i) => /* @__PURE__ */ jsx(GroupWrapper, { layout, variant, children: pane }, i)) })
|
|
2477
2536
|
] });
|
|
2478
2537
|
}
|
|
2479
2538
|
if (layout === "horizontal") {
|
|
2480
|
-
return /* @__PURE__ */ jsxs(
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2539
|
+
return /* @__PURE__ */ jsxs(
|
|
2540
|
+
"div",
|
|
2541
|
+
{
|
|
2542
|
+
className: cn(
|
|
2543
|
+
"grid grid-cols-1 gap-(--designkit-panel-gap) py-(--designkit-panel-gap) sm:grid-cols-3 sm:gap-[calc(var(--designkit-panel-gap)*2)]",
|
|
2544
|
+
className
|
|
2545
|
+
),
|
|
2546
|
+
children: [
|
|
2547
|
+
/* @__PURE__ */ jsxs("div", { children: [
|
|
2548
|
+
/* @__PURE__ */ jsx("p", { className: cn("text-sm font-medium", danger && "text-destructive"), children: title }),
|
|
2549
|
+
description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: description }),
|
|
2550
|
+
actions && /* @__PURE__ */ jsx("div", { className: "mt-2", children: actions })
|
|
2551
|
+
] }),
|
|
2552
|
+
/* @__PURE__ */ jsx("div", { className: "sm:col-span-2", children: /* @__PURE__ */ jsx(GroupWrapper, { layout, variant, children }) })
|
|
2553
|
+
]
|
|
2554
|
+
}
|
|
2555
|
+
);
|
|
2488
2556
|
}
|
|
2489
2557
|
if (layout === "inline") {
|
|
2490
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("py-(--
|
|
2558
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2491
2559
|
(title || description) && /* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-start justify-between", children: [
|
|
2492
2560
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
2493
2561
|
title && /* @__PURE__ */ jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2498,7 +2566,7 @@ function renderGroupProps(props) {
|
|
|
2498
2566
|
/* @__PURE__ */ jsx(GroupWrapper, { layout, variant, children })
|
|
2499
2567
|
] });
|
|
2500
2568
|
}
|
|
2501
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("py-(--
|
|
2569
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("py-(--designkit-panel-gap)", className), children: [
|
|
2502
2570
|
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between", children: [
|
|
2503
2571
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
2504
2572
|
/* @__PURE__ */ jsx("h2", { className: cn("text-sm font-semibold", danger && "text-destructive"), children: title }),
|
|
@@ -2513,8 +2581,8 @@ function DataBodyField({ label, description, children }) {
|
|
|
2513
2581
|
return /* @__PURE__ */ jsxs(
|
|
2514
2582
|
"div",
|
|
2515
2583
|
{
|
|
2516
|
-
className: "grid items-start gap-x-4
|
|
2517
|
-
style: { gridTemplateColumns: "var(--
|
|
2584
|
+
className: "flex flex-col gap-y-1 px-4 py-3 sm:grid sm:items-start sm:gap-x-4 sm:gap-y-0",
|
|
2585
|
+
style: { gridTemplateColumns: "var(--designkit-form-label-w, 11rem) 1fr" },
|
|
2518
2586
|
children: [
|
|
2519
2587
|
/* @__PURE__ */ jsxs("div", { className: "pt-0.5", children: [
|
|
2520
2588
|
/* @__PURE__ */ jsx("span", { className: "text-xs text-muted-foreground", children: label }),
|
|
@@ -2529,8 +2597,8 @@ function DataBodyRow({ label, description, required, children }) {
|
|
|
2529
2597
|
return /* @__PURE__ */ jsxs(
|
|
2530
2598
|
"div",
|
|
2531
2599
|
{
|
|
2532
|
-
className: "grid items-start gap-x-4
|
|
2533
|
-
style: { gridTemplateColumns: "var(--
|
|
2600
|
+
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",
|
|
2601
|
+
style: { gridTemplateColumns: "var(--designkit-form-label-w, 11rem) 1fr" },
|
|
2534
2602
|
children: [
|
|
2535
2603
|
/* @__PURE__ */ jsxs("div", { className: "pt-1", children: [
|
|
2536
2604
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1", children: [
|
|
@@ -2554,6 +2622,7 @@ function Root2({
|
|
|
2554
2622
|
topBar,
|
|
2555
2623
|
title,
|
|
2556
2624
|
description,
|
|
2625
|
+
status,
|
|
2557
2626
|
actions,
|
|
2558
2627
|
toolbarLeft,
|
|
2559
2628
|
toolbarRight,
|
|
@@ -2587,10 +2656,10 @@ function Root2({
|
|
|
2587
2656
|
return /* @__PURE__ */ jsxs(DataPage, { className: cn("layout-databody", className), style: theme, children: [
|
|
2588
2657
|
/* @__PURE__ */ jsx(TopBarSlot, { topBar }),
|
|
2589
2658
|
/* @__PURE__ */ jsxs(DataPage.Header, { children: [
|
|
2590
|
-
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description }),
|
|
2659
|
+
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2591
2660
|
/* @__PURE__ */ jsx(DataPage.Actions, { children: actions })
|
|
2592
2661
|
] }),
|
|
2593
|
-
summaryEl && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-b px-(--
|
|
2662
|
+
summaryEl && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2594
2663
|
/* @__PURE__ */ jsx(DataPage.Content, { className: contentClassName, children: /* @__PURE__ */ jsx(DataPage.Group, { className: "h-full", children: /* @__PURE__ */ jsx(DataPage.GroupBody, { className: cn("h-full", bodyEl.props.className), children: bodyEl.props.children }) }) })
|
|
2595
2664
|
] });
|
|
2596
2665
|
}
|
|
@@ -2599,11 +2668,11 @@ function Root2({
|
|
|
2599
2668
|
return /* @__PURE__ */ jsxs(DataPage, { className: cn("layout-sectioned", className), style: theme, children: [
|
|
2600
2669
|
/* @__PURE__ */ jsx(TopBarSlot, { topBar }),
|
|
2601
2670
|
/* @__PURE__ */ jsxs(DataPage.Header, { children: [
|
|
2602
|
-
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description }),
|
|
2671
|
+
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2603
2672
|
/* @__PURE__ */ jsx(DataPage.Actions, { children: actions })
|
|
2604
2673
|
] }),
|
|
2605
|
-
summaryEl && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-b px-(--
|
|
2606
|
-
/* @__PURE__ */ jsx(DataPage.Content, { className: contentClassName, children: /* @__PURE__ */ jsxs("div", { className: "grid gap-(--
|
|
2674
|
+
summaryEl && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2675
|
+
/* @__PURE__ */ jsx(DataPage.Content, { className: contentClassName, children: /* @__PURE__ */ jsxs("div", { className: "grid gap-(--designkit-panel-gap) lg:grid-cols-[16rem_minmax(0,1fr)]", children: [
|
|
2607
2676
|
/* @__PURE__ */ jsx("nav", { className: "space-y-1", children: sections.map((section) => {
|
|
2608
2677
|
const active = section.props.id === activeSection?.props.id;
|
|
2609
2678
|
return /* @__PURE__ */ jsxs(
|
|
@@ -2625,7 +2694,7 @@ function Root2({
|
|
|
2625
2694
|
section.props.id
|
|
2626
2695
|
);
|
|
2627
2696
|
}) }),
|
|
2628
|
-
/* @__PURE__ */ jsx("div", { className: "min-w-0 space-y-(--
|
|
2697
|
+
/* @__PURE__ */ jsx("div", { className: "min-w-0 space-y-(--designkit-panel-gap)", children: renderGroups(activeSection?.props.children) })
|
|
2629
2698
|
] }) })
|
|
2630
2699
|
] });
|
|
2631
2700
|
}
|
|
@@ -2633,10 +2702,10 @@ function Root2({
|
|
|
2633
2702
|
return /* @__PURE__ */ jsxs(DataPage, { className: cn("layout-databody", className), style: theme, children: [
|
|
2634
2703
|
/* @__PURE__ */ jsx(TopBarSlot, { topBar }),
|
|
2635
2704
|
/* @__PURE__ */ jsxs(DataPage.Header, { children: [
|
|
2636
|
-
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description }),
|
|
2705
|
+
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2637
2706
|
/* @__PURE__ */ jsx(DataPage.Actions, { children: actions })
|
|
2638
2707
|
] }),
|
|
2639
|
-
summaryEl && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-b px-(--
|
|
2708
|
+
summaryEl && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-b px-(--designkit-page-padding-x) py-(--designkit-panel-gap)", children: summaryEl.props.children }),
|
|
2640
2709
|
hasTabs && /* @__PURE__ */ jsx(DataPage.Tabs, { children: tabs.map((tab) => /* @__PURE__ */ jsx(
|
|
2641
2710
|
DataPage.Tab,
|
|
2642
2711
|
{
|
|
@@ -2683,6 +2752,7 @@ function BrowseBodyTemplate({
|
|
|
2683
2752
|
topBar,
|
|
2684
2753
|
title,
|
|
2685
2754
|
description,
|
|
2755
|
+
status,
|
|
2686
2756
|
actions,
|
|
2687
2757
|
sidebar,
|
|
2688
2758
|
sidebarTitle = "Filters",
|
|
@@ -2693,15 +2763,15 @@ function BrowseBodyTemplate({
|
|
|
2693
2763
|
children
|
|
2694
2764
|
}) {
|
|
2695
2765
|
const isNarrow = useIsNarrow();
|
|
2696
|
-
const hasHeader = title || description || actions;
|
|
2766
|
+
const hasHeader = title || description || status || actions;
|
|
2697
2767
|
return /* @__PURE__ */ jsxs(DataPage, { className: cn("layout-browse", className), style: theme, children: [
|
|
2698
2768
|
topBar && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: topBar }),
|
|
2699
2769
|
hasHeader && /* @__PURE__ */ jsxs(DataPage.Header, { children: [
|
|
2700
|
-
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description }),
|
|
2770
|
+
/* @__PURE__ */ jsx(DataPage.TitleBlock, { title, description, status }),
|
|
2701
2771
|
/* @__PURE__ */ jsx(DataPage.Actions, { children: actions })
|
|
2702
2772
|
] }),
|
|
2703
2773
|
/* @__PURE__ */ jsxs(DataPage.Content, { padding: "none", className: "flex flex-col overflow-hidden", children: [
|
|
2704
|
-
(toolbar || isNarrow) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b px-(--
|
|
2774
|
+
(toolbar || isNarrow) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2 border-b px-(--designkit-page-padding-x) py-2", children: [
|
|
2705
2775
|
isNarrow && /* @__PURE__ */ jsxs(Sheet, { children: [
|
|
2706
2776
|
/* @__PURE__ */ jsxs(
|
|
2707
2777
|
SheetTrigger,
|
|
@@ -2721,19 +2791,12 @@ function BrowseBodyTemplate({
|
|
|
2721
2791
|
toolbar && /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: toolbar })
|
|
2722
2792
|
] }),
|
|
2723
2793
|
/* @__PURE__ */ jsxs("div", { className: "flex min-h-0 flex-1 overflow-hidden", children: [
|
|
2724
|
-
!isNarrow && /* @__PURE__ */ jsx(
|
|
2725
|
-
"aside",
|
|
2726
|
-
{
|
|
2727
|
-
className: "shrink-0 overflow-hidden border-r",
|
|
2728
|
-
style: { width: sidebarWidth },
|
|
2729
|
-
children: /* @__PURE__ */ jsx(ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsx("div", { className: "px-(--dk-page-padding-x) py-(--dk-page-padding-y)", children: sidebar }) })
|
|
2730
|
-
}
|
|
2731
|
-
),
|
|
2794
|
+
!isNarrow && /* @__PURE__ */ jsx("aside", { className: "shrink-0 overflow-hidden border-r", style: { width: sidebarWidth }, children: /* @__PURE__ */ jsx(ScrollArea, { className: "h-full", children: /* @__PURE__ */ jsx("div", { className: "px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)", children: sidebar }) }) }),
|
|
2732
2795
|
/* @__PURE__ */ jsx(
|
|
2733
2796
|
"div",
|
|
2734
2797
|
{
|
|
2735
2798
|
className: cn(
|
|
2736
|
-
"min-w-0 flex-1 overflow-hidden px-(--
|
|
2799
|
+
"min-w-0 flex-1 overflow-hidden px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
2737
2800
|
"[&_.gridkit-shell]:h-full [&_.gridkit-table-stack]:flex-1 [&_.gridkit-table-stack]:min-h-0",
|
|
2738
2801
|
"[&_.gridkit-frame]:flex-1 [&_.gridkit-frame]:min-h-0 [&_.gridkit-frame]:overflow-auto",
|
|
2739
2802
|
contentClassName
|
|
@@ -2786,8 +2849,8 @@ function DetailBodySection({
|
|
|
2786
2849
|
{
|
|
2787
2850
|
className: cn(
|
|
2788
2851
|
"min-h-0",
|
|
2789
|
-
surface === "card" && "rounded-(--radius) border bg-card p-(--
|
|
2790
|
-
surface === "bordered" && "rounded-(--radius) border p-(--
|
|
2852
|
+
surface === "card" && "rounded-(--radius) border bg-card p-(--designkit-panel-gap) text-card-foreground shadow-sm",
|
|
2853
|
+
surface === "bordered" && "rounded-(--radius) border p-(--designkit-panel-gap)",
|
|
2791
2854
|
className
|
|
2792
2855
|
),
|
|
2793
2856
|
children: [
|
|
@@ -2832,8 +2895,14 @@ function DetailBodyTemplateRoot({
|
|
|
2832
2895
|
const hasTabs = tabs.length > 0;
|
|
2833
2896
|
const [activeTab, setActiveTab] = useState(() => tabs[0]?.props.id ?? "");
|
|
2834
2897
|
const selectedTab = tabs.find((tab) => tab.props.id === activeTab) ?? tabs[0];
|
|
2835
|
-
const summarySlot = summary ? /* @__PURE__ */ jsx("div", { className: "min-h-0 rounded-(--radius) border bg-card p-(--
|
|
2836
|
-
const mediaSlot = media ? /* @__PURE__ */ jsx(
|
|
2898
|
+
const summarySlot = summary ? /* @__PURE__ */ jsx("div", { className: "min-h-0 rounded-(--radius) border bg-card p-(--designkit-panel-gap) text-card-foreground", children: summary }) : null;
|
|
2899
|
+
const mediaSlot = media ? /* @__PURE__ */ jsx(
|
|
2900
|
+
"div",
|
|
2901
|
+
{
|
|
2902
|
+
className: cn("min-h-0 overflow-hidden rounded-(--radius) border bg-card", mediaClassName),
|
|
2903
|
+
children: media
|
|
2904
|
+
}
|
|
2905
|
+
) : null;
|
|
2837
2906
|
const leadGridClass = variant === "media" ? "xl:grid-cols-[minmax(0,1.35fr)_minmax(18rem,0.65fr)]" : "xl:grid-cols-2";
|
|
2838
2907
|
const defaultHeader = eyebrow || title || description || status || actions ? /* @__PURE__ */ jsx(
|
|
2839
2908
|
DetailBodyHeader,
|
|
@@ -2845,7 +2914,7 @@ function DetailBodyTemplateRoot({
|
|
|
2845
2914
|
actions
|
|
2846
2915
|
}
|
|
2847
2916
|
) : null;
|
|
2848
|
-
const defaultLead = media || summary ? /* @__PURE__ */ jsxs("div", { className: cn("grid gap-(--
|
|
2917
|
+
const defaultLead = media || summary ? /* @__PURE__ */ jsxs("div", { className: cn("grid gap-(--designkit-panel-gap)", leadGridClass), children: [
|
|
2849
2918
|
mediaSlot,
|
|
2850
2919
|
summarySlot
|
|
2851
2920
|
] }) : null;
|
|
@@ -2861,8 +2930,8 @@ function DetailBodyTemplateRoot({
|
|
|
2861
2930
|
},
|
|
2862
2931
|
tab.props.id
|
|
2863
2932
|
)) }),
|
|
2864
|
-
/* @__PURE__ */ jsx("div", { className: "pt-(--
|
|
2865
|
-
] }) : /* @__PURE__ */ jsx("div", { className: "space-y-(--
|
|
2933
|
+
/* @__PURE__ */ jsx("div", { className: "pt-(--designkit-panel-gap)", children: selectedTab?.props.children })
|
|
2934
|
+
] }) : /* @__PURE__ */ jsx("div", { className: "space-y-(--designkit-panel-gap)", children: renderChildren(children) });
|
|
2866
2935
|
const leadSlot = lead ?? defaultLead;
|
|
2867
2936
|
const outsideAsideSlot = variant === "full" ? null : aside;
|
|
2868
2937
|
const insideAsideSlot = variant === "full" ? aside : null;
|
|
@@ -2870,19 +2939,19 @@ function DetailBodyTemplateRoot({
|
|
|
2870
2939
|
const hasFullLeadArea = Boolean(leadSlot || insideAsideSlot);
|
|
2871
2940
|
const layout = {
|
|
2872
2941
|
media: /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
2873
|
-
leadSlot && /* @__PURE__ */ jsx("div", { className: "mb-(--
|
|
2942
|
+
leadSlot && /* @__PURE__ */ jsx("div", { className: "mb-(--designkit-panel-gap)", children: leadSlot }),
|
|
2874
2943
|
body
|
|
2875
2944
|
] }),
|
|
2876
2945
|
record: /* @__PURE__ */ jsxs(
|
|
2877
2946
|
"div",
|
|
2878
2947
|
{
|
|
2879
2948
|
className: cn(
|
|
2880
|
-
"grid gap-(--
|
|
2949
|
+
"grid gap-(--designkit-panel-gap)",
|
|
2881
2950
|
hasRecordInspector && "xl:grid-cols-[minmax(28rem,1fr)_minmax(14rem,18rem)]"
|
|
2882
2951
|
),
|
|
2883
2952
|
children: [
|
|
2884
2953
|
/* @__PURE__ */ jsx("div", { className: "min-w-0", children: body }),
|
|
2885
|
-
hasRecordInspector && /* @__PURE__ */ jsx("div", { className: "space-y-(--
|
|
2954
|
+
hasRecordInspector && /* @__PURE__ */ jsx("div", { className: "space-y-(--designkit-panel-gap)", children: leadSlot })
|
|
2886
2955
|
]
|
|
2887
2956
|
}
|
|
2888
2957
|
),
|
|
@@ -2891,53 +2960,79 @@ function DetailBodyTemplateRoot({
|
|
|
2891
2960
|
"div",
|
|
2892
2961
|
{
|
|
2893
2962
|
className: cn(
|
|
2894
|
-
"mb-(--
|
|
2963
|
+
"mb-(--designkit-panel-gap) grid gap-(--designkit-panel-gap)",
|
|
2895
2964
|
insideAsideSlot && "xl:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]"
|
|
2896
2965
|
),
|
|
2897
2966
|
children: [
|
|
2898
|
-
leadSlot && /* @__PURE__ */ jsx("div", { className: "space-y-(--
|
|
2899
|
-
insideAsideSlot && /* @__PURE__ */ jsx(
|
|
2967
|
+
leadSlot && /* @__PURE__ */ jsx("div", { className: "space-y-(--designkit-panel-gap)", children: leadSlot }),
|
|
2968
|
+
insideAsideSlot && /* @__PURE__ */ jsx(
|
|
2969
|
+
"div",
|
|
2970
|
+
{
|
|
2971
|
+
className: cn(
|
|
2972
|
+
"min-h-0 rounded-(--radius) border bg-card p-(--designkit-panel-gap)",
|
|
2973
|
+
asideClassName
|
|
2974
|
+
),
|
|
2975
|
+
children: insideAsideSlot
|
|
2976
|
+
}
|
|
2977
|
+
)
|
|
2900
2978
|
]
|
|
2901
2979
|
}
|
|
2902
2980
|
),
|
|
2903
2981
|
body
|
|
2904
2982
|
] })
|
|
2905
2983
|
};
|
|
2906
|
-
return /* @__PURE__ */ jsxs(
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2920
|
-
|
|
2921
|
-
|
|
2922
|
-
|
|
2923
|
-
|
|
2924
|
-
|
|
2925
|
-
|
|
2926
|
-
|
|
2927
|
-
|
|
2928
|
-
|
|
2929
|
-
|
|
2930
|
-
|
|
2931
|
-
|
|
2932
|
-
stickyAside && "lg:sticky lg:top-0"
|
|
2984
|
+
return /* @__PURE__ */ jsxs(
|
|
2985
|
+
DataPage,
|
|
2986
|
+
{
|
|
2987
|
+
className: cn("layout-detail", className),
|
|
2988
|
+
style: theme,
|
|
2989
|
+
"data-detail-variant": variant,
|
|
2990
|
+
children: [
|
|
2991
|
+
topBar && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: topBar }),
|
|
2992
|
+
header ?? defaultHeader,
|
|
2993
|
+
/* @__PURE__ */ jsx(DataPage.Content, { padding: "none", className: "overflow-hidden", children: /* @__PURE__ */ jsxs(
|
|
2994
|
+
"div",
|
|
2995
|
+
{
|
|
2996
|
+
className: cn(
|
|
2997
|
+
"grid h-full min-h-0 grid-cols-1 overflow-hidden",
|
|
2998
|
+
outsideAsideSlot && "lg:grid-cols-[minmax(0,1fr)_minmax(18rem,24rem)]"
|
|
2999
|
+
),
|
|
3000
|
+
children: [
|
|
3001
|
+
/* @__PURE__ */ jsx(
|
|
3002
|
+
"main",
|
|
3003
|
+
{
|
|
3004
|
+
className: cn(
|
|
3005
|
+
"min-h-0 overflow-auto px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
3006
|
+
contentClassName
|
|
3007
|
+
),
|
|
3008
|
+
children: layout[variant]
|
|
3009
|
+
}
|
|
2933
3010
|
),
|
|
2934
|
-
|
|
2935
|
-
|
|
2936
|
-
|
|
2937
|
-
|
|
2938
|
-
|
|
2939
|
-
|
|
2940
|
-
|
|
3011
|
+
outsideAsideSlot && /* @__PURE__ */ jsx(
|
|
3012
|
+
"aside",
|
|
3013
|
+
{
|
|
3014
|
+
className: cn(
|
|
3015
|
+
"min-h-0 border-t bg-background lg:border-l lg:border-t-0",
|
|
3016
|
+
asideClassName
|
|
3017
|
+
),
|
|
3018
|
+
children: /* @__PURE__ */ jsx(
|
|
3019
|
+
"div",
|
|
3020
|
+
{
|
|
3021
|
+
className: cn(
|
|
3022
|
+
"px-(--designkit-page-padding-x) py-(--designkit-page-padding-y)",
|
|
3023
|
+
stickyAside && "lg:sticky lg:top-0"
|
|
3024
|
+
),
|
|
3025
|
+
children: outsideAsideSlot
|
|
3026
|
+
}
|
|
3027
|
+
)
|
|
3028
|
+
}
|
|
3029
|
+
)
|
|
3030
|
+
]
|
|
3031
|
+
}
|
|
3032
|
+
) })
|
|
3033
|
+
]
|
|
3034
|
+
}
|
|
3035
|
+
);
|
|
2941
3036
|
}
|
|
2942
3037
|
var DetailBodyTemplate = Object.assign(DetailBodyTemplateRoot, {
|
|
2943
3038
|
Header: DetailBodyHeader,
|
|
@@ -2953,7 +3048,9 @@ function ListDetailBodyTemplate({
|
|
|
2953
3048
|
emptyDetail,
|
|
2954
3049
|
listWidth = 320,
|
|
2955
3050
|
listClassName,
|
|
2956
|
-
detailClassName
|
|
3051
|
+
detailClassName,
|
|
3052
|
+
onBack,
|
|
3053
|
+
backLabel = "Back"
|
|
2957
3054
|
}) {
|
|
2958
3055
|
return /* @__PURE__ */ jsxs(
|
|
2959
3056
|
DataPage,
|
|
@@ -2974,15 +3071,21 @@ function ListDetailBodyTemplate({
|
|
|
2974
3071
|
children: list
|
|
2975
3072
|
}
|
|
2976
3073
|
),
|
|
2977
|
-
/* @__PURE__ */
|
|
3074
|
+
/* @__PURE__ */ jsxs(
|
|
2978
3075
|
"main",
|
|
2979
3076
|
{
|
|
2980
3077
|
className: cn(
|
|
2981
|
-
"min-h-0 min-w-0 flex-1 overflow-
|
|
2982
|
-
!detail && "hidden lg:
|
|
3078
|
+
"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden",
|
|
3079
|
+
!detail && "hidden lg:flex",
|
|
2983
3080
|
detailClassName
|
|
2984
3081
|
),
|
|
2985
|
-
children:
|
|
3082
|
+
children: [
|
|
3083
|
+
detail && onBack && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center border-b px-3 py-2 lg:hidden", children: /* @__PURE__ */ jsxs(Button, { variant: "ghost", size: "sm", className: "-ml-1 gap-1", onClick: onBack, children: [
|
|
3084
|
+
/* @__PURE__ */ jsx(ChevronLeft, { className: "h-4 w-4" }),
|
|
3085
|
+
backLabel
|
|
3086
|
+
] }) }),
|
|
3087
|
+
/* @__PURE__ */ jsx("div", { className: "min-h-0 flex-1 overflow-auto", children: detail ?? emptyDetail })
|
|
3088
|
+
]
|
|
2986
3089
|
}
|
|
2987
3090
|
)
|
|
2988
3091
|
] })
|
|
@@ -2990,9 +3093,56 @@ function ListDetailBodyTemplate({
|
|
|
2990
3093
|
}
|
|
2991
3094
|
);
|
|
2992
3095
|
}
|
|
3096
|
+
function PanelTemplateSection({
|
|
3097
|
+
title,
|
|
3098
|
+
description,
|
|
3099
|
+
actions,
|
|
3100
|
+
className,
|
|
3101
|
+
children
|
|
3102
|
+
}) {
|
|
3103
|
+
return /* @__PURE__ */ jsxs("section", { className: cn("space-y-2.5", className), children: [
|
|
3104
|
+
(title || description || actions) && /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
3105
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
3106
|
+
title && /* @__PURE__ */ jsx("p", { className: "text-[10px] font-semibold uppercase tracking-wider text-muted-foreground", children: title }),
|
|
3107
|
+
description && /* @__PURE__ */ jsx("p", { className: "mt-0.5 text-xs text-muted-foreground", children: description })
|
|
3108
|
+
] }),
|
|
3109
|
+
actions && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: actions })
|
|
3110
|
+
] }),
|
|
3111
|
+
children
|
|
3112
|
+
] });
|
|
3113
|
+
}
|
|
3114
|
+
function PanelTemplateRoot({
|
|
3115
|
+
title,
|
|
3116
|
+
eyebrow,
|
|
3117
|
+
status,
|
|
3118
|
+
actions,
|
|
3119
|
+
footer,
|
|
3120
|
+
children,
|
|
3121
|
+
className,
|
|
3122
|
+
bodyClassName
|
|
3123
|
+
}) {
|
|
3124
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("flex h-full flex-col overflow-hidden", className), children: [
|
|
3125
|
+
(title || eyebrow || actions) && /* @__PURE__ */ jsxs("div", { className: "shrink-0 px-4 py-3", children: [
|
|
3126
|
+
eyebrow && /* @__PURE__ */ jsx("p", { className: "mb-0.5 text-[10px] font-medium uppercase tracking-wider text-muted-foreground", children: eyebrow }),
|
|
3127
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3128
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
|
|
3129
|
+
title && /* @__PURE__ */ jsx("h2", { className: "min-w-0 truncate text-sm font-semibold", children: title }),
|
|
3130
|
+
status && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: status })
|
|
3131
|
+
] }),
|
|
3132
|
+
actions && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-1", children: actions })
|
|
3133
|
+
] })
|
|
3134
|
+
] }),
|
|
3135
|
+
/* @__PURE__ */ jsx("div", { className: cn("min-h-0 flex-1 overflow-y-auto px-4 py-4", bodyClassName), children: /* @__PURE__ */ jsx("div", { className: "space-y-5", children }) }),
|
|
3136
|
+
footer && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-t px-4 py-3", children: footer })
|
|
3137
|
+
] });
|
|
3138
|
+
}
|
|
3139
|
+
var PanelTemplate = Object.assign(PanelTemplateRoot, {
|
|
3140
|
+
Section: PanelTemplateSection
|
|
3141
|
+
});
|
|
2993
3142
|
function FormWizardBodyTemplate({
|
|
2994
3143
|
theme,
|
|
2995
3144
|
title,
|
|
3145
|
+
status,
|
|
2996
3146
|
topBar,
|
|
2997
3147
|
variant = "plain",
|
|
2998
3148
|
steps,
|
|
@@ -3010,8 +3160,8 @@ function FormWizardBodyTemplate({
|
|
|
3010
3160
|
}
|
|
3011
3161
|
return /* @__PURE__ */ jsxs(DataPage, { className: "layout-form-wizard", style: theme, children: [
|
|
3012
3162
|
topBar && /* @__PURE__ */ jsx("div", { className: "shrink-0", children: topBar }),
|
|
3013
|
-
/* @__PURE__ */ jsx(DataPage.Header, { children: /* @__PURE__ */ jsx(DataPage.TitleBlock, { title }) }),
|
|
3014
|
-
/* @__PURE__ */ jsx("div", { className: "shrink-0 px-(--
|
|
3163
|
+
/* @__PURE__ */ jsx(DataPage.Header, { children: /* @__PURE__ */ jsx(DataPage.TitleBlock, { title, status }) }),
|
|
3164
|
+
/* @__PURE__ */ jsx("div", { className: "shrink-0 px-(--designkit-page-padding-x) pb-4", children: /* @__PURE__ */ jsx("div", { className: "flex items-center", children: steps.map((step, i) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
3015
3165
|
i > 0 && /* @__PURE__ */ jsx(
|
|
3016
3166
|
"div",
|
|
3017
3167
|
{
|
|
@@ -3044,7 +3194,7 @@ function FormWizardBodyTemplate({
|
|
|
3044
3194
|
)
|
|
3045
3195
|
] })
|
|
3046
3196
|
] }, step.key)) }) }),
|
|
3047
|
-
/* @__PURE__ */ jsx(DataPage.Content, { children: current && (variant === "card" ? /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, { className: "p-(--
|
|
3197
|
+
/* @__PURE__ */ jsx(DataPage.Content, { children: current && (variant === "card" ? /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(CardContent, { className: "p-(--designkit-panel-gap)", children: /* @__PURE__ */ jsxs("form", { id: current.key, onSubmit: handleStepSubmit, children: [
|
|
3048
3198
|
/* @__PURE__ */ jsxs("div", { className: "mb-5", children: [
|
|
3049
3199
|
/* @__PURE__ */ jsx("h2", { className: "text-sm font-semibold", children: current.title }),
|
|
3050
3200
|
current.description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: current.description })
|
|
@@ -3102,8 +3252,8 @@ function TypographyBodyTemplate({ theme, breadcrumb }) {
|
|
|
3102
3252
|
description: "Global type scale preview for shell, template, and grid content"
|
|
3103
3253
|
}
|
|
3104
3254
|
) }),
|
|
3105
|
-
/* @__PURE__ */ jsxs(DataPage.Content, { className: "grid gap-[var(--
|
|
3106
|
-
/* @__PURE__ */ jsxs("div", { className: "space-y-[var(--
|
|
3255
|
+
/* @__PURE__ */ jsxs(DataPage.Content, { className: "grid gap-[var(--designkit-panel-gap)] lg:grid-cols-[1fr_22rem]", children: [
|
|
3256
|
+
/* @__PURE__ */ jsxs("div", { className: "space-y-[var(--designkit-panel-gap)]", children: [
|
|
3107
3257
|
/* @__PURE__ */ jsxs(Card, { className: "rounded-lg border border-border ring-0", children: [
|
|
3108
3258
|
/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardTitle, { children: "Type Scale" }) }),
|
|
3109
3259
|
/* @__PURE__ */ jsx(CardContent, { className: "space-y-4", children: scaleRows.map((row) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[8rem_1fr] items-baseline gap-4", children: [
|
|
@@ -3294,7 +3444,7 @@ function ColorsBodyTemplate({ theme, breadcrumb }) {
|
|
|
3294
3444
|
description: "Design token color palette and derivation rules for the active theme"
|
|
3295
3445
|
}
|
|
3296
3446
|
) }),
|
|
3297
|
-
/* @__PURE__ */ jsxs(DataPage.Content, { className: "space-y-[var(--
|
|
3447
|
+
/* @__PURE__ */ jsxs(DataPage.Content, { className: "space-y-[var(--designkit-panel-gap)]", children: [
|
|
3298
3448
|
/* @__PURE__ */ jsxs(Card, { className: "rounded-lg border border-border ring-0", children: [
|
|
3299
3449
|
/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardTitle, { children: "Primary \u2014 controlled by hue & chroma" }) }),
|
|
3300
3450
|
/* @__PURE__ */ jsxs(CardContent, { className: "space-y-3", children: [
|
|
@@ -3464,15 +3614,7 @@ function LoginBodyTemplate({
|
|
|
3464
3614
|
);
|
|
3465
3615
|
}
|
|
3466
3616
|
function Breadcrumb({ className, ...props }) {
|
|
3467
|
-
return /* @__PURE__ */ jsx(
|
|
3468
|
-
"nav",
|
|
3469
|
-
{
|
|
3470
|
-
"aria-label": "breadcrumb",
|
|
3471
|
-
"data-slot": "breadcrumb",
|
|
3472
|
-
className: cn(className),
|
|
3473
|
-
...props
|
|
3474
|
-
}
|
|
3475
|
-
);
|
|
3617
|
+
return /* @__PURE__ */ jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", className: cn(className), ...props });
|
|
3476
3618
|
}
|
|
3477
3619
|
function BreadcrumbList({ className, ...props }) {
|
|
3478
3620
|
return /* @__PURE__ */ jsx(
|
|
@@ -3497,11 +3639,7 @@ function BreadcrumbItem({ className, ...props }) {
|
|
|
3497
3639
|
}
|
|
3498
3640
|
);
|
|
3499
3641
|
}
|
|
3500
|
-
function BreadcrumbLink({
|
|
3501
|
-
className,
|
|
3502
|
-
render,
|
|
3503
|
-
...props
|
|
3504
|
-
}) {
|
|
3642
|
+
function BreadcrumbLink({ className, render, ...props }) {
|
|
3505
3643
|
return useRender({
|
|
3506
3644
|
defaultTagName: "a",
|
|
3507
3645
|
props: mergeProps(
|
|
@@ -3529,11 +3667,7 @@ function BreadcrumbPage({ className, ...props }) {
|
|
|
3529
3667
|
}
|
|
3530
3668
|
);
|
|
3531
3669
|
}
|
|
3532
|
-
function BreadcrumbSeparator({
|
|
3533
|
-
children,
|
|
3534
|
-
className,
|
|
3535
|
-
...props
|
|
3536
|
-
}) {
|
|
3670
|
+
function BreadcrumbSeparator({ children, className, ...props }) {
|
|
3537
3671
|
return /* @__PURE__ */ jsx(
|
|
3538
3672
|
"li",
|
|
3539
3673
|
{
|
|
@@ -3581,26 +3715,36 @@ function buildTopBar(opts) {
|
|
|
3581
3715
|
}
|
|
3582
3716
|
);
|
|
3583
3717
|
}
|
|
3718
|
+
function AutoSidebarTrigger() {
|
|
3719
|
+
const ctx = useSidebarOptional();
|
|
3720
|
+
if (!ctx?.isMobile) return null;
|
|
3721
|
+
return /* @__PURE__ */ jsx(SidebarTrigger, { className: "-ml-1 shrink-0" });
|
|
3722
|
+
}
|
|
3584
3723
|
function PageTopBar({
|
|
3585
3724
|
left,
|
|
3586
3725
|
right,
|
|
3587
3726
|
variant = "ghost",
|
|
3588
|
-
height = "var(--
|
|
3727
|
+
height = "var(--designkit-toolbar-height)",
|
|
3589
3728
|
className,
|
|
3590
3729
|
style,
|
|
3591
|
-
children
|
|
3730
|
+
children,
|
|
3731
|
+
sidebarTrigger
|
|
3592
3732
|
}) {
|
|
3733
|
+
const trigger = sidebarTrigger === false ? null : sidebarTrigger !== void 0 ? sidebarTrigger : /* @__PURE__ */ jsx(AutoSidebarTrigger, {});
|
|
3593
3734
|
return /* @__PURE__ */ jsxs(
|
|
3594
3735
|
"div",
|
|
3595
3736
|
{
|
|
3596
3737
|
className: cn(
|
|
3597
|
-
"flex shrink-0 items-center justify-between gap-4 px-(--
|
|
3738
|
+
"flex shrink-0 items-center justify-between gap-4 px-(--designkit-page-padding-x)",
|
|
3598
3739
|
variant === "default" && "border-b",
|
|
3599
3740
|
className
|
|
3600
3741
|
),
|
|
3601
3742
|
style: { height, ...style },
|
|
3602
3743
|
children: [
|
|
3603
|
-
/* @__PURE__ */
|
|
3744
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2 text-xs text-muted-foreground", children: [
|
|
3745
|
+
trigger,
|
|
3746
|
+
normalizeBreadcrumb(left ?? children)
|
|
3747
|
+
] }),
|
|
3604
3748
|
right && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 items-center gap-2", children: right })
|
|
3605
3749
|
]
|
|
3606
3750
|
}
|
|
@@ -3640,8 +3784,7 @@ function buildTokenMap({
|
|
|
3640
3784
|
}[density];
|
|
3641
3785
|
const c = (factor) => (primaryChroma * factor).toFixed(4);
|
|
3642
3786
|
return {
|
|
3643
|
-
"--
|
|
3644
|
-
"--gridkit-radius": `${radius}rem`,
|
|
3787
|
+
"--designkit-radius": `${radius}rem`,
|
|
3645
3788
|
"--radius": `${radius}rem`,
|
|
3646
3789
|
"--radius-sm": `${(radius * 0.6).toFixed(4)}rem`,
|
|
3647
3790
|
"--radius-md": `${(radius * 0.8).toFixed(4)}rem`,
|
|
@@ -3649,12 +3792,9 @@ function buildTokenMap({
|
|
|
3649
3792
|
"--radius-xl": `${(radius * 1.4).toFixed(4)}rem`,
|
|
3650
3793
|
"--radius-2xl": `${(radius * 1.8).toFixed(4)}rem`,
|
|
3651
3794
|
// primary — fully controlled
|
|
3652
|
-
"--
|
|
3653
|
-
"--
|
|
3654
|
-
"--
|
|
3655
|
-
"--gridkit-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3656
|
-
"--gridkit-primary-foreground": "oklch(0.985 0 0)",
|
|
3657
|
-
"--gridkit-ring": `oklch(0.50 ${primaryChroma} ${primaryHue})`,
|
|
3795
|
+
"--designkit-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3796
|
+
"--designkit-primary-foreground": "oklch(0.985 0 0)",
|
|
3797
|
+
"--designkit-ring": `oklch(0.50 ${primaryChroma} ${primaryHue})`,
|
|
3658
3798
|
"--primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
3659
3799
|
"--primary-foreground": "oklch(0.985 0 0)",
|
|
3660
3800
|
"--color-primary": `oklch(0.52 ${primaryChroma} ${primaryHue})`,
|
|
@@ -3674,37 +3814,35 @@ function buildTokenMap({
|
|
|
3674
3814
|
"--color-muted": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3675
3815
|
"--color-secondary": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3676
3816
|
"--color-accent": `oklch(0.970 ${c(0.04)} ${primaryHue})`,
|
|
3677
|
-
"--
|
|
3678
|
-
"--
|
|
3679
|
-
"--
|
|
3680
|
-
"--
|
|
3681
|
-
"--
|
|
3682
|
-
"--
|
|
3683
|
-
"--
|
|
3684
|
-
"--
|
|
3685
|
-
"--
|
|
3686
|
-
"--
|
|
3687
|
-
"--
|
|
3688
|
-
"--
|
|
3689
|
-
"--
|
|
3690
|
-
"--
|
|
3691
|
-
"--
|
|
3692
|
-
"--
|
|
3693
|
-
"--
|
|
3694
|
-
"--
|
|
3695
|
-
"--
|
|
3696
|
-
"--
|
|
3697
|
-
"--
|
|
3698
|
-
"--text-
|
|
3699
|
-
"--text-
|
|
3700
|
-
"--text-
|
|
3701
|
-
"--text-
|
|
3702
|
-
"--text-
|
|
3703
|
-
"--text-
|
|
3704
|
-
"--text-
|
|
3705
|
-
"--text-
|
|
3706
|
-
"--text-lg--line-height": "var(--dk-leading-lg)",
|
|
3707
|
-
"--text-xl--line-height": "var(--dk-leading-xl)"
|
|
3817
|
+
"--designkit-border": `oklch(0.922 ${c(0.04)} ${primaryHue})`,
|
|
3818
|
+
"--designkit-input": `oklch(0.922 ${c(0.04)} ${primaryHue})`,
|
|
3819
|
+
"--designkit-muted": `oklch(0.970 ${c(0.02)} ${primaryHue})`,
|
|
3820
|
+
"--designkit-font-scale": fontScale,
|
|
3821
|
+
"--designkit-line-height": lineHeight,
|
|
3822
|
+
"--designkit-density": densityValues.density,
|
|
3823
|
+
"--designkit-page-padding-y": pagePaddingY ?? densityValues.pagePaddingY,
|
|
3824
|
+
"--designkit-panel-gap": panelGap ?? densityValues.panelGap,
|
|
3825
|
+
"--designkit-toolbar-height": toolbarHeight ?? densityValues.toolbarHeight,
|
|
3826
|
+
"--designkit-text-xs": `calc(0.75rem * ${fontScale})`,
|
|
3827
|
+
"--designkit-text-sm": `calc(0.875rem * ${fontScale})`,
|
|
3828
|
+
"--designkit-text-base": `calc(1rem * ${fontScale})`,
|
|
3829
|
+
"--designkit-text-lg": `calc(1.125rem * ${fontScale})`,
|
|
3830
|
+
"--designkit-text-xl": `calc(1.25rem * ${fontScale})`,
|
|
3831
|
+
"--designkit-leading-xs": `calc(1rem * ${lineHeight})`,
|
|
3832
|
+
"--designkit-leading-sm": `calc(1.25rem * ${lineHeight})`,
|
|
3833
|
+
"--designkit-leading-base": `calc(1.5rem * ${lineHeight})`,
|
|
3834
|
+
"--designkit-leading-lg": `calc(1.75rem * ${lineHeight})`,
|
|
3835
|
+
"--designkit-leading-xl": `calc(1.75rem * ${lineHeight})`,
|
|
3836
|
+
"--text-xs": "var(--designkit-text-xs)",
|
|
3837
|
+
"--text-sm": "var(--designkit-text-sm)",
|
|
3838
|
+
"--text-base": "var(--designkit-text-base)",
|
|
3839
|
+
"--text-lg": "var(--designkit-text-lg)",
|
|
3840
|
+
"--text-xl": "var(--designkit-text-xl)",
|
|
3841
|
+
"--text-xs--line-height": "var(--designkit-leading-xs)",
|
|
3842
|
+
"--text-sm--line-height": "var(--designkit-leading-sm)",
|
|
3843
|
+
"--text-base--line-height": "var(--designkit-leading-base)",
|
|
3844
|
+
"--text-lg--line-height": "var(--designkit-leading-lg)",
|
|
3845
|
+
"--text-xl--line-height": "var(--designkit-leading-xl)"
|
|
3708
3846
|
};
|
|
3709
3847
|
}
|
|
3710
3848
|
function buildDarkTonalTokens(primaryHue, primaryChroma) {
|
|
@@ -3720,11 +3858,9 @@ function buildDarkTonalTokens(primaryHue, primaryChroma) {
|
|
|
3720
3858
|
"--color-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`,
|
|
3721
3859
|
"--color-secondary": `oklch(0.269 ${c(0.02)} ${primaryHue})`,
|
|
3722
3860
|
"--color-accent": `oklch(0.320 ${c(0.04)} ${primaryHue})`,
|
|
3723
|
-
"--
|
|
3724
|
-
"--
|
|
3725
|
-
"--
|
|
3726
|
-
"--gridkit-border": `oklch(0.32 ${c(0.06)} ${primaryHue})`,
|
|
3727
|
-
"--gridkit-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`
|
|
3861
|
+
"--designkit-border": `oklch(0.32 ${c(0.06)} ${primaryHue})`,
|
|
3862
|
+
"--designkit-input": `oklch(0.35 ${c(0.06)} ${primaryHue})`,
|
|
3863
|
+
"--designkit-muted": `oklch(0.269 ${c(0.03)} ${primaryHue})`
|
|
3728
3864
|
};
|
|
3729
3865
|
}
|
|
3730
3866
|
function tokenMapToCss(tokens) {
|
|
@@ -3770,10 +3906,10 @@ ${tokenMapToCss(tokens)}
|
|
|
3770
3906
|
}, [g.darkMode]);
|
|
3771
3907
|
useEffect(() => {
|
|
3772
3908
|
if (g.density === "default") {
|
|
3773
|
-
document.documentElement.removeAttribute("data-
|
|
3909
|
+
document.documentElement.removeAttribute("data-designkit-density");
|
|
3774
3910
|
return;
|
|
3775
3911
|
}
|
|
3776
|
-
document.documentElement.dataset.
|
|
3912
|
+
document.documentElement.dataset.designkitDensity = g.density;
|
|
3777
3913
|
}, [g.density]);
|
|
3778
3914
|
}
|
|
3779
3915
|
function buildTemplateTheme(g, ov = {}) {
|
|
@@ -3794,6 +3930,6 @@ function buildTemplateTheme(g, ov = {}) {
|
|
|
3794
3930
|
return tokens;
|
|
3795
3931
|
}
|
|
3796
3932
|
|
|
3797
|
-
export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BrowseBodyTemplate, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, DashboardBodyTemplate, DashboardPanel, DataBodyTemplate, DataPage, DetailBodyTemplate, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FormWizardBodyTemplate, Input, Label, ListDetailBodyTemplate, LoginBodyTemplate, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, PageTopBar, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, WorkbenchBodyTemplate, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useStyleInjector, useThemeStore };
|
|
3933
|
+
export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BrowseBodyTemplate, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, DashboardBodyTemplate, DashboardPanel, DataBodyTemplate, DataPage, DetailBodyTemplate, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, FormWizardBodyTemplate, Input, Label, ListDetailBodyTemplate, LoginBodyTemplate, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, PageTopBar, PanelTemplate, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, WorkbenchBodyTemplate, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useSidebarOptional, useStyleInjector, useThemeStore };
|
|
3798
3934
|
//# sourceMappingURL=index.js.map
|
|
3799
3935
|
//# sourceMappingURL=index.js.map
|