@blinkdotnew/ui 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +65 -65
- package/dist/index.mjs +65 -65
- package/package.json +1 -1
- package/src/themes/base.css +12 -1
- package/src/themes/glass.css +70 -9
- package/src/themes/linear.css +57 -3
- package/src/themes/midnight.css +71 -15
- package/src/themes/minimal.css +85 -33
package/dist/index.js
CHANGED
|
@@ -107,16 +107,16 @@ function cn(...inputs) {
|
|
|
107
107
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
108
108
|
}
|
|
109
109
|
var buttonVariants = classVarianceAuthority.cva(
|
|
110
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-
|
|
110
|
+
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium font-sans transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
111
111
|
{
|
|
112
112
|
variants: {
|
|
113
113
|
variant: {
|
|
114
|
-
default: "bg-
|
|
115
|
-
secondary: "bg-
|
|
116
|
-
outline: "border border-
|
|
117
|
-
ghost: "hover:bg-
|
|
118
|
-
destructive: "bg-
|
|
119
|
-
link: "text-
|
|
114
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
115
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
116
|
+
outline: "border border-border bg-transparent hover:bg-accent hover:text-accent-foreground",
|
|
117
|
+
ghost: "hover:bg-accent hover:text-accent-foreground",
|
|
118
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
|
|
119
|
+
link: "text-primary underline-offset-4 hover:underline"
|
|
120
120
|
},
|
|
121
121
|
size: {
|
|
122
122
|
sm: "h-8 px-3 text-xs",
|
|
@@ -141,9 +141,9 @@ var Input = React14__default.default.forwardRef(
|
|
|
141
141
|
{
|
|
142
142
|
type,
|
|
143
143
|
className: cn(
|
|
144
|
-
"flex h-9 w-full rounded-
|
|
145
|
-
"placeholder:text-
|
|
146
|
-
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-
|
|
144
|
+
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm font-sans shadow-sm transition-colors",
|
|
145
|
+
"placeholder:text-muted-foreground",
|
|
146
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
147
147
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
148
148
|
"file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
149
149
|
className
|
|
@@ -159,7 +159,7 @@ var Textarea = React14__default.default.forwardRef(
|
|
|
159
159
|
"textarea",
|
|
160
160
|
{
|
|
161
161
|
className: cn(
|
|
162
|
-
"flex min-h-[80px] w-full rounded-
|
|
162
|
+
"flex min-h-[80px] w-full rounded-md border border-[hsl(var(--input))] bg-transparent px-3 py-2 text-sm shadow-sm",
|
|
163
163
|
"placeholder:text-[hsl(var(--muted-foreground))]",
|
|
164
164
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))]",
|
|
165
165
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -180,7 +180,7 @@ var SelectTrigger = React14__default.default.forwardRef(({ className, children,
|
|
|
180
180
|
{
|
|
181
181
|
ref,
|
|
182
182
|
className: cn(
|
|
183
|
-
"flex h-9 w-full items-center justify-between rounded-
|
|
183
|
+
"flex h-9 w-full items-center justify-between rounded-md border border-[hsl(var(--input))] bg-transparent px-3 py-2 text-sm shadow-sm",
|
|
184
184
|
"placeholder:text-[hsl(var(--muted-foreground))]",
|
|
185
185
|
"focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]",
|
|
186
186
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -220,7 +220,7 @@ var SelectContent = React14__default.default.forwardRef(({ className, children,
|
|
|
220
220
|
{
|
|
221
221
|
ref,
|
|
222
222
|
className: cn(
|
|
223
|
-
"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-
|
|
223
|
+
"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] text-[hsl(var(--popover-foreground))] shadow-md",
|
|
224
224
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
225
225
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
226
226
|
position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",
|
|
@@ -376,7 +376,7 @@ var DialogContent = React14__default.default.forwardRef(({ className, children,
|
|
|
376
376
|
ref,
|
|
377
377
|
className: cn(
|
|
378
378
|
"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4",
|
|
379
|
-
"bg-[hsl(var(--background))] p-6 shadow-lg duration-200 rounded-
|
|
379
|
+
"bg-[hsl(var(--background))] p-6 shadow-lg duration-200 rounded-md",
|
|
380
380
|
"border border-[hsl(var(--border))]",
|
|
381
381
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
|
|
382
382
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]",
|
|
@@ -475,7 +475,7 @@ var PopoverContent = React14__default.default.forwardRef(({ className, align = "
|
|
|
475
475
|
align,
|
|
476
476
|
sideOffset,
|
|
477
477
|
className: cn(
|
|
478
|
-
"z-50 w-72 rounded-
|
|
478
|
+
"z-50 w-72 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-md outline-none",
|
|
479
479
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
480
480
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
481
481
|
"data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
|
|
@@ -494,7 +494,7 @@ var TooltipContent = React14__default.default.forwardRef(({ className, sideOffse
|
|
|
494
494
|
ref,
|
|
495
495
|
sideOffset,
|
|
496
496
|
className: cn(
|
|
497
|
-
"z-50 overflow-hidden rounded-
|
|
497
|
+
"z-50 overflow-hidden rounded-md bg-[hsl(var(--primary))] px-3 py-1.5 text-xs text-[hsl(var(--primary-foreground))] shadow-md",
|
|
498
498
|
"animate-in fade-in-0 zoom-in-95",
|
|
499
499
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
500
500
|
"data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
|
|
@@ -511,7 +511,7 @@ var DropdownMenuPortal = DropdownMenuPrimitive__namespace.Portal;
|
|
|
511
511
|
var DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
|
|
512
512
|
var DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
|
|
513
513
|
var contentStyle = cn(
|
|
514
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-
|
|
514
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md",
|
|
515
515
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
516
516
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"
|
|
517
517
|
);
|
|
@@ -553,7 +553,7 @@ var ContextMenuGroup = ContextMenuPrimitive__namespace.Group;
|
|
|
553
553
|
var ContextMenuPortal = ContextMenuPrimitive__namespace.Portal;
|
|
554
554
|
var ContextMenuSub = ContextMenuPrimitive__namespace.Sub;
|
|
555
555
|
var ContextMenuRadioGroup = ContextMenuPrimitive__namespace.RadioGroup;
|
|
556
|
-
var contentStyle2 = "z-50 min-w-[8rem] overflow-hidden rounded-
|
|
556
|
+
var contentStyle2 = "z-50 min-w-[8rem] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-80";
|
|
557
557
|
var itemStyle2 = "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-[hsl(var(--accent))] focus:text-[hsl(var(--accent-foreground))] data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
558
558
|
var ContextMenuContent = React14__default.default.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(ContextMenuPrimitive__namespace.Content, { ref, className: cn(contentStyle2, className), ...props }) }));
|
|
559
559
|
ContextMenuContent.displayName = ContextMenuPrimitive__namespace.Content.displayName;
|
|
@@ -586,7 +586,7 @@ var Card = React14__default.default.forwardRef(
|
|
|
586
586
|
"div",
|
|
587
587
|
{
|
|
588
588
|
ref,
|
|
589
|
-
className: cn("rounded-
|
|
589
|
+
className: cn("rounded-lg border border-border bg-card text-card-foreground shadow-card", className),
|
|
590
590
|
...props
|
|
591
591
|
}
|
|
592
592
|
)
|
|
@@ -601,7 +601,7 @@ var CardTitle = React14__default.default.forwardRef(
|
|
|
601
601
|
);
|
|
602
602
|
CardTitle.displayName = "CardTitle";
|
|
603
603
|
var CardDescription = React14__default.default.forwardRef(
|
|
604
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("text-sm text-
|
|
604
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
|
|
605
605
|
);
|
|
606
606
|
CardDescription.displayName = "CardDescription";
|
|
607
607
|
var CardContent = React14__default.default.forwardRef(
|
|
@@ -668,7 +668,7 @@ function Skeleton({ className, ...props }) {
|
|
|
668
668
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
669
669
|
"div",
|
|
670
670
|
{
|
|
671
|
-
className: cn("animate-pulse rounded-
|
|
671
|
+
className: cn("animate-pulse rounded-md bg-[hsl(var(--muted))]", className),
|
|
672
672
|
...props
|
|
673
673
|
}
|
|
674
674
|
);
|
|
@@ -1153,7 +1153,7 @@ var SearchInput = React14__default.default.forwardRef(
|
|
|
1153
1153
|
value,
|
|
1154
1154
|
onChange: handleChange,
|
|
1155
1155
|
className: cn(
|
|
1156
|
-
"flex h-9 w-full rounded-
|
|
1156
|
+
"flex h-9 w-full rounded-md border border-[hsl(var(--input))] bg-transparent pl-8 pr-8 text-sm shadow-sm transition-colors",
|
|
1157
1157
|
"placeholder:text-[hsl(var(--muted-foreground))]",
|
|
1158
1158
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))]",
|
|
1159
1159
|
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
@@ -1215,7 +1215,7 @@ function FileUpload({ accept, multiple, maxSize, onFiles, className, disabled })
|
|
|
1215
1215
|
onDragLeave: () => setDragging(false),
|
|
1216
1216
|
onDrop: handleDrop,
|
|
1217
1217
|
className: cn(
|
|
1218
|
-
"flex flex-col items-center justify-center gap-2 rounded-
|
|
1218
|
+
"flex flex-col items-center justify-center gap-2 rounded-md border-2 border-dashed border-[hsl(var(--border))] p-8 text-center transition-colors cursor-pointer",
|
|
1219
1219
|
dragging && "border-[hsl(var(--primary))] bg-[hsl(var(--accent))]",
|
|
1220
1220
|
disabled && "cursor-not-allowed opacity-50",
|
|
1221
1221
|
className
|
|
@@ -1248,7 +1248,7 @@ function FileUpload({ accept, multiple, maxSize, onFiles, className, disabled })
|
|
|
1248
1248
|
function FileUploadPreview({ files, onRemove, className }) {
|
|
1249
1249
|
if (!files.length)
|
|
1250
1250
|
return null;
|
|
1251
|
-
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex flex-col gap-1", className), children: files.map((file, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center justify-between rounded-
|
|
1251
|
+
return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("flex flex-col gap-1", className), children: files.map((file, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-center justify-between rounded-md border border-[hsl(var(--border))] px-3 py-2 text-sm", children: [
|
|
1252
1252
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate text-[hsl(var(--foreground))]", children: file.name }),
|
|
1253
1253
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-2 flex shrink-0 items-center gap-2", children: [
|
|
1254
1254
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: formatBytes(file.size) }),
|
|
@@ -1294,7 +1294,7 @@ function CalendarGrid({ year, month, selected, onSelect }) {
|
|
|
1294
1294
|
type: "button",
|
|
1295
1295
|
onClick: () => onSelect(date),
|
|
1296
1296
|
className: cn(
|
|
1297
|
-
"flex h-8 w-8 items-center justify-center rounded-
|
|
1297
|
+
"flex h-8 w-8 items-center justify-center rounded-md text-sm transition-colors",
|
|
1298
1298
|
isSelected && "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))]",
|
|
1299
1299
|
!isSelected && isToday && "border border-[hsl(var(--primary))] text-[hsl(var(--primary))]",
|
|
1300
1300
|
!isSelected && !isToday && "hover:bg-[hsl(var(--accent))]"
|
|
@@ -1496,7 +1496,7 @@ function ObjectField({
|
|
|
1496
1496
|
className
|
|
1497
1497
|
}) {
|
|
1498
1498
|
const [open, setOpen] = React14.useState(defaultOpen);
|
|
1499
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-
|
|
1499
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] overflow-hidden", className), children: [
|
|
1500
1500
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1501
1501
|
"div",
|
|
1502
1502
|
{
|
|
@@ -1665,7 +1665,7 @@ function DataTable({ columns, data, pageSize = 10, searchable, searchColumn, loa
|
|
|
1665
1665
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-2", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { className: "h-10 w-full" }, i)) });
|
|
1666
1666
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full", children: [
|
|
1667
1667
|
searchable && /* @__PURE__ */ jsxRuntime.jsx(DataTableToolbar, { table, searchColumn }),
|
|
1668
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-
|
|
1668
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-[hsl(var(--border))] overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
|
|
1669
1669
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { className: "bg-[hsl(var(--muted)/0.4)]", children: table.getHeaderGroups().map((hg) => /* @__PURE__ */ jsxRuntime.jsx("tr", { children: hg.headers.map((h) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 text-left font-medium text-[hsl(var(--muted-foreground))]", children: h.isPlaceholder ? null : reactTable.flexRender(h.column.columnDef.header, h.getContext()) }, h.id)) }, hg.id)) }),
|
|
1670
1670
|
/* @__PURE__ */ jsxRuntime.jsxs("tbody", { children: [
|
|
1671
1671
|
table.getRowModel().rows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsx("tr", { className: cn("border-t border-[hsl(var(--border))] hover:bg-[hsl(var(--muted)/0.3)] transition-colors", i % 2 === 0 ? "" : "bg-[hsl(var(--muted)/0.1)]"), children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-3", children: reactTable.flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)),
|
|
@@ -1743,7 +1743,7 @@ function DataGrid({ columns, data: initialData, onDataChange, editable, classNam
|
|
|
1743
1743
|
state: { rowSelection },
|
|
1744
1744
|
enableColumnResizing: true
|
|
1745
1745
|
});
|
|
1746
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-auto rounded-
|
|
1746
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("overflow-auto rounded-md border border-[hsl(var(--border))]", className), children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", style: { width: table.getCenterTotalSize() }, children: [
|
|
1747
1747
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { className: "bg-[hsl(var(--muted)/0.4)]", children: table.getHeaderGroups().map((hg) => /* @__PURE__ */ jsxRuntime.jsx("tr", { children: hg.headers.map((h) => /* @__PURE__ */ jsxRuntime.jsxs("th", { style: { width: h.getSize() }, className: "relative px-3 py-2 text-left font-medium text-[hsl(var(--muted-foreground))] border-r border-[hsl(var(--border))] last:border-r-0", children: [
|
|
1748
1748
|
h.isPlaceholder ? null : reactTable.flexRender(h.column.columnDef.header, h.getContext()),
|
|
1749
1749
|
h.column.getCanResize() && /* @__PURE__ */ jsxRuntime.jsx("div", { onMouseDown: h.getResizeHandler(), className: "absolute right-0 top-0 h-full w-1 cursor-col-resize hover:bg-[hsl(var(--primary)/0.4)]" })
|
|
@@ -1874,7 +1874,7 @@ function IconBadge({ icon, color = "default", size = "md", className }) {
|
|
|
1874
1874
|
function StructuredListSection({ title, children, className }) {
|
|
1875
1875
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("", className), children: [
|
|
1876
1876
|
title && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-4 pb-1 pt-4 text-xs font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]", children: title }),
|
|
1877
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-
|
|
1877
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-[hsl(var(--border))] overflow-hidden divide-y divide-[hsl(var(--border))]", children })
|
|
1878
1878
|
] });
|
|
1879
1879
|
}
|
|
1880
1880
|
function StructuredListItem({ left, title, description, right, onClick, className }) {
|
|
@@ -1904,7 +1904,7 @@ function CommandItem({ icon, label, description, shortcut, active, onClick, clas
|
|
|
1904
1904
|
{
|
|
1905
1905
|
onClick,
|
|
1906
1906
|
className: cn(
|
|
1907
|
-
"flex items-center gap-3 rounded-
|
|
1907
|
+
"flex items-center gap-3 rounded-md px-3 py-2 cursor-pointer transition-colors",
|
|
1908
1908
|
active ? "bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]" : "hover:bg-[hsl(var(--accent)/0.6)]",
|
|
1909
1909
|
className
|
|
1910
1910
|
),
|
|
@@ -2109,7 +2109,7 @@ function LoadingOverlay({ loading, text, fullPage, children, className }) {
|
|
|
2109
2109
|
}
|
|
2110
2110
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative", className), children: [
|
|
2111
2111
|
children,
|
|
2112
|
-
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 z-10 flex items-center justify-center rounded-
|
|
2112
|
+
loading && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 z-10 flex items-center justify-center rounded-md bg-[hsl(var(--background)/0.8)] backdrop-blur-[2px]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2", children: [
|
|
2113
2113
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "h-6 w-6 animate-spin text-[hsl(var(--primary))]" }),
|
|
2114
2114
|
text && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: text })
|
|
2115
2115
|
] }) })
|
|
@@ -2258,7 +2258,7 @@ function ToggleButton({ pressed, onClick, disabled, children, className }) {
|
|
|
2258
2258
|
disabled,
|
|
2259
2259
|
onClick,
|
|
2260
2260
|
className: cn(
|
|
2261
|
-
"inline-flex items-center justify-center gap-1.5 rounded-
|
|
2261
|
+
"inline-flex items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium transition-colors border",
|
|
2262
2262
|
"disabled:pointer-events-none disabled:opacity-50",
|
|
2263
2263
|
pressed ? "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] border-[hsl(var(--primary))]" : "bg-transparent text-[hsl(var(--foreground))] border-[hsl(var(--border))] hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]",
|
|
2264
2264
|
className
|
|
@@ -2278,7 +2278,7 @@ function ToggleButtonGroup(props) {
|
|
|
2278
2278
|
props.onChange(val);
|
|
2279
2279
|
}
|
|
2280
2280
|
};
|
|
2281
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center gap-1 rounded-
|
|
2281
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex items-center gap-1 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] p-0.5", className), children: React14__default.default.Children.map(children, (child) => {
|
|
2282
2282
|
if (!React14__default.default.isValidElement(child))
|
|
2283
2283
|
return child;
|
|
2284
2284
|
const tb = child;
|
|
@@ -2317,7 +2317,7 @@ function CommandBarItem({ icon, label, shortcut, onSelect, active, className })
|
|
|
2317
2317
|
{
|
|
2318
2318
|
onClick: onSelect,
|
|
2319
2319
|
className: cn(
|
|
2320
|
-
"flex w-full items-center gap-2.5 rounded-
|
|
2320
|
+
"flex w-full items-center gap-2.5 rounded-md px-3 py-2 text-sm transition-colors",
|
|
2321
2321
|
active ? "bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]" : "hover:bg-[hsl(var(--accent)/0.6)]",
|
|
2322
2322
|
className
|
|
2323
2323
|
),
|
|
@@ -2384,7 +2384,7 @@ function KanbanCard({ card, isDragging }) {
|
|
|
2384
2384
|
style,
|
|
2385
2385
|
...attributes,
|
|
2386
2386
|
...listeners,
|
|
2387
|
-
className: cn("rounded-
|
|
2387
|
+
className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-3 cursor-grab active:cursor-grabbing select-none", isDragging && "shadow-lg opacity-80"),
|
|
2388
2388
|
children: [
|
|
2389
2389
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
2390
2390
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium text-[hsl(var(--foreground))] leading-tight", children: card.title }),
|
|
@@ -2396,7 +2396,7 @@ function KanbanCard({ card, isDragging }) {
|
|
|
2396
2396
|
);
|
|
2397
2397
|
}
|
|
2398
2398
|
function KanbanColumn({ column, isOver }) {
|
|
2399
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-64 shrink-0 flex-col gap-2 rounded-
|
|
2399
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex w-64 shrink-0 flex-col gap-2 rounded-md bg-[hsl(var(--muted)/0.4)] p-3 transition-colors", isOver && "bg-[hsl(var(--muted)/0.7)]"), children: [
|
|
2400
2400
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
2401
2401
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold text-[hsl(var(--foreground))]", children: column.title }),
|
|
2402
2402
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[hsl(var(--muted-foreground))] bg-[hsl(var(--muted))] rounded-full px-2 py-0.5", children: column.cards.length })
|
|
@@ -2467,7 +2467,7 @@ function AreaChart({
|
|
|
2467
2467
|
}) {
|
|
2468
2468
|
const keys = Array.isArray(dataKey) ? dataKey : [dataKey];
|
|
2469
2469
|
const curve = curved ? "monotone" : "linear";
|
|
2470
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.AreaChart, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
|
|
2470
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full overflow-hidden", className), style: { minWidth: 0 }, children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.AreaChart, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
|
|
2471
2471
|
showGrid && /* @__PURE__ */ jsxRuntime.jsx(recharts.CartesianGrid, { strokeDasharray: "3 3", stroke: "hsl(var(--border))" }),
|
|
2472
2472
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.XAxis, { dataKey: xAxisKey, tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
|
|
2473
2473
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.YAxis, { tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
|
|
@@ -2519,7 +2519,7 @@ function BarChart({
|
|
|
2519
2519
|
}) {
|
|
2520
2520
|
const keys = Array.isArray(dataKey) ? dataKey : [dataKey];
|
|
2521
2521
|
const isVertical = layout === "vertical";
|
|
2522
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.BarChart, { data, layout, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
|
|
2522
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full overflow-hidden", className), style: { minWidth: 0 }, children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.BarChart, { data, layout, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
|
|
2523
2523
|
showGrid && /* @__PURE__ */ jsxRuntime.jsx(recharts.CartesianGrid, { strokeDasharray: "3 3", stroke: "hsl(var(--border))" }),
|
|
2524
2524
|
isVertical ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2525
2525
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.XAxis, { type: "number", tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
|
|
@@ -2576,7 +2576,7 @@ function LineChart({
|
|
|
2576
2576
|
const keys = Array.isArray(dataKey) ? dataKey : [dataKey];
|
|
2577
2577
|
const curve = curved ? "monotone" : "linear";
|
|
2578
2578
|
const dash = dotted ? "4 4" : void 0;
|
|
2579
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.LineChart, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
|
|
2579
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("w-full overflow-hidden", className), style: { minWidth: 0 }, children: /* @__PURE__ */ jsxRuntime.jsx(recharts.ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxRuntime.jsxs(recharts.LineChart, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
|
|
2580
2580
|
showGrid && /* @__PURE__ */ jsxRuntime.jsx(recharts.CartesianGrid, { strokeDasharray: "3 3", stroke: "hsl(var(--border))" }),
|
|
2581
2581
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.XAxis, { dataKey: xAxisKey, tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
|
|
2582
2582
|
/* @__PURE__ */ jsxRuntime.jsx(recharts.YAxis, { tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
|
|
@@ -2732,8 +2732,8 @@ function TourStep({ step, title, description, placement = "bottom", children })
|
|
|
2732
2732
|
style: { boxShadow: "0 0 0 9999px rgba(0,0,0,0.5)" }
|
|
2733
2733
|
}
|
|
2734
2734
|
),
|
|
2735
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("relative", active && "z-50 ring-2 ring-[hsl(var(--primary))] ring-offset-2 rounded-
|
|
2736
|
-
active && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("absolute z-50 w-64 rounded-
|
|
2735
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("relative", active && "z-50 ring-2 ring-[hsl(var(--primary))] ring-offset-2 rounded-md"), children }),
|
|
2736
|
+
active && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("absolute z-50 w-64 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4 shadow-lg", placementClasses[placement]), children: [
|
|
2737
2737
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-sm mb-1", children: title }),
|
|
2738
2738
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-[hsl(var(--muted-foreground))] mb-3", children: description }),
|
|
2739
2739
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
|
|
@@ -2771,7 +2771,7 @@ function SidebarLayoutMinimal({
|
|
|
2771
2771
|
children,
|
|
2772
2772
|
className
|
|
2773
2773
|
}) {
|
|
2774
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-
|
|
2774
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
|
|
2775
2775
|
/* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
|
|
2776
2776
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-14 items-center px-4 font-semibold text-sm", children: brandName }),
|
|
2777
2777
|
/* @__PURE__ */ jsxRuntime.jsx(Separator4, {}),
|
|
@@ -2820,7 +2820,7 @@ function SidebarLayoutGroups({
|
|
|
2820
2820
|
children,
|
|
2821
2821
|
className
|
|
2822
2822
|
}) {
|
|
2823
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-
|
|
2823
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
|
|
2824
2824
|
/* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
|
|
2825
2825
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-14 items-center px-4 font-semibold text-sm", children: brandName }),
|
|
2826
2826
|
/* @__PURE__ */ jsxRuntime.jsx(Separator4, {}),
|
|
@@ -2860,9 +2860,9 @@ function SidebarLayoutUser({
|
|
|
2860
2860
|
children,
|
|
2861
2861
|
className
|
|
2862
2862
|
}) {
|
|
2863
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-
|
|
2863
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
|
|
2864
2864
|
/* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
|
|
2865
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 rounded-
|
|
2865
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 rounded-md bg-[hsl(var(--accent))] p-3", children: [
|
|
2866
2866
|
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "h-9 w-9", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-xs", children: userName.slice(0, 2).toUpperCase() }) }),
|
|
2867
2867
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
2868
2868
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-sm font-semibold", children: userName }),
|
|
@@ -2905,7 +2905,7 @@ function SidebarLayoutSearch({
|
|
|
2905
2905
|
}) {
|
|
2906
2906
|
const [query, setQuery] = React14.useState("");
|
|
2907
2907
|
const filtered = ALL_ITEMS.filter((i) => i.label.toLowerCase().includes(query.toLowerCase()));
|
|
2908
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-
|
|
2908
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
|
|
2909
2909
|
/* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
|
|
2910
2910
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-14 items-center px-4 font-semibold text-sm", children: brandName }),
|
|
2911
2911
|
/* @__PURE__ */ jsxRuntime.jsx(Separator4, {}),
|
|
@@ -2953,7 +2953,7 @@ function NavItem5({ icon: Icon2, label, active }) {
|
|
|
2953
2953
|
] });
|
|
2954
2954
|
}
|
|
2955
2955
|
function SidebarLayoutDashboard({ className }) {
|
|
2956
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-
|
|
2956
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
|
|
2957
2957
|
/* @__PURE__ */ jsxRuntime.jsxs("aside", { className: "flex w-56 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
|
|
2958
2958
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-12 items-center px-4 font-semibold text-sm", children: "Acme Inc" }),
|
|
2959
2959
|
/* @__PURE__ */ jsxRuntime.jsx(Separator4, {}),
|
|
@@ -2981,7 +2981,7 @@ function SidebarLayoutDashboard({ className }) {
|
|
|
2981
2981
|
k.change
|
|
2982
2982
|
] })
|
|
2983
2983
|
] }) }, k.label)) }),
|
|
2984
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-
|
|
2984
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-[hsl(var(--border))]", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-xs", children: [
|
|
2985
2985
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "border-b border-[hsl(var(--border))]", children: ["Project", "Status", "Team", "Progress"].map((h) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-3 py-2 text-left font-medium text-[hsl(var(--muted-foreground))]", children: h }, h)) }) }),
|
|
2986
2986
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: TABLE_ROWS.map((r) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-[hsl(var(--border))] last:border-0", children: [
|
|
2987
2987
|
/* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-2 font-medium", children: r.name }),
|
|
@@ -3003,7 +3003,7 @@ function StackedLayoutTabs({
|
|
|
3003
3003
|
}) {
|
|
3004
3004
|
const [activeTab, setActiveTab] = React14.useState(0);
|
|
3005
3005
|
const [activeNav, setActiveNav] = React14.useState(0);
|
|
3006
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-
|
|
3006
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
|
|
3007
3007
|
/* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex h-14 items-center gap-6 border-b border-[hsl(var(--border))] bg-[hsl(var(--card))] px-4", children: [
|
|
3008
3008
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold text-sm shrink-0", children: brandName }),
|
|
3009
3009
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 items-center gap-1", children: NAV_LINKS.map((link, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3051,7 +3051,7 @@ function StackedLayoutBranded({
|
|
|
3051
3051
|
children,
|
|
3052
3052
|
className
|
|
3053
3053
|
}) {
|
|
3054
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-
|
|
3054
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
|
|
3055
3055
|
/* @__PURE__ */ jsxRuntime.jsxs("nav", { className: "flex h-14 items-center gap-6 bg-[hsl(var(--primary))] px-6", children: [
|
|
3056
3056
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-sm text-[hsl(var(--primary-foreground))] shrink-0", children: brandName }),
|
|
3057
3057
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-1 items-center gap-1", children: NAV_LINKS2.map((link) => /* @__PURE__ */ jsxRuntime.jsx("button", { className: "px-3 py-1.5 text-sm text-[hsl(var(--primary-foreground)/0.8)] hover:text-[hsl(var(--primary-foreground))] transition-colors rounded-md hover:bg-white/10", children: link }, link)) }),
|
|
@@ -3096,7 +3096,7 @@ function NotificationSettings({ className }) {
|
|
|
3096
3096
|
const [states, setStates] = React14.useState(
|
|
3097
3097
|
Object.fromEntries(NOTIFICATIONS.map((n) => [n.id, n.default]))
|
|
3098
3098
|
);
|
|
3099
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-
|
|
3099
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-6", className), children: [
|
|
3100
3100
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-4", children: [
|
|
3101
3101
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-base font-semibold", children: "Email Notifications" }),
|
|
3102
3102
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-[hsl(var(--muted-foreground))] mt-0.5", children: "Choose what you want to be notified about." })
|
|
@@ -3127,7 +3127,7 @@ function WorkspaceMembers({ className }) {
|
|
|
3127
3127
|
const filtered = members.filter(
|
|
3128
3128
|
(m) => m.name.toLowerCase().includes(query.toLowerCase()) || m.email.toLowerCase().includes(query.toLowerCase())
|
|
3129
3129
|
);
|
|
3130
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-
|
|
3130
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))]", className), children: [
|
|
3131
3131
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between p-4 border-b border-[hsl(var(--border))]", children: [
|
|
3132
3132
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3133
3133
|
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-semibold", children: "Members" }),
|
|
@@ -3160,8 +3160,8 @@ function IntegrationCard({
|
|
|
3160
3160
|
className
|
|
3161
3161
|
}) {
|
|
3162
3162
|
const [isConnected, setIsConnected] = React14.useState(connected);
|
|
3163
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-4 rounded-
|
|
3164
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-
|
|
3163
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-4 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4", className), children: [
|
|
3164
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-md bg-[hsl(var(--muted))] text-[hsl(var(--muted-foreground))]", children: icon ?? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-bold", children: name[0] }) }),
|
|
3165
3165
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
3166
3166
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
3167
3167
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-semibold", children: name }),
|
|
@@ -3214,7 +3214,7 @@ function FeedbackModal({ onSubmit, className }) {
|
|
|
3214
3214
|
{
|
|
3215
3215
|
onClick: () => setReaction(r),
|
|
3216
3216
|
className: cn(
|
|
3217
|
-
"flex h-10 w-10 items-center justify-center rounded-
|
|
3217
|
+
"flex h-10 w-10 items-center justify-center rounded-md border text-xl transition-colors",
|
|
3218
3218
|
reaction === r ? "border-[hsl(var(--primary))] bg-[hsl(var(--primary)/0.1)]" : "border-[hsl(var(--border))] hover:bg-[hsl(var(--accent))]"
|
|
3219
3219
|
),
|
|
3220
3220
|
children: r
|
|
@@ -3275,7 +3275,7 @@ function InviteModal({ className }) {
|
|
|
3275
3275
|
] }),
|
|
3276
3276
|
pending.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
|
|
3277
3277
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium text-[hsl(var(--muted-foreground))]", children: "Pending invites" }),
|
|
3278
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-[hsl(var(--border))] rounded-
|
|
3278
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "divide-y divide-[hsl(var(--border))] rounded-md border border-[hsl(var(--border))]", children: pending.map((p, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 px-3 py-2", children: [
|
|
3279
3279
|
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "h-6 w-6", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-[10px]", children: p.email[0].toUpperCase() }) }),
|
|
3280
3280
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm truncate", children: p.email }),
|
|
3281
3281
|
/* @__PURE__ */ jsxRuntime.jsx(Badge, { variant: "outline", className: "text-[10px] px-1.5 py-0.5 shrink-0", children: p.role }),
|
|
@@ -3329,7 +3329,7 @@ function ManageTagsModal({ className }) {
|
|
|
3329
3329
|
),
|
|
3330
3330
|
/* @__PURE__ */ jsxRuntime.jsx(Button, { size: "sm", className: "h-9", onClick: addTag, children: "Add" })
|
|
3331
3331
|
] }),
|
|
3332
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: tags.map((tag) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 rounded-
|
|
3332
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1.5", children: tags.map((tag) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 rounded-md border border-[hsl(var(--border))] px-3 py-2", children: [
|
|
3333
3333
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("h-3 w-3 rounded-full shrink-0", tag.color) }),
|
|
3334
3334
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-sm", children: tag.name }),
|
|
3335
3335
|
/* @__PURE__ */ jsxRuntime.jsx("button", { className: "text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] transition-colors", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "h-3.5 w-3.5" }) }),
|
|
@@ -3399,7 +3399,7 @@ function UserMenu({
|
|
|
3399
3399
|
className
|
|
3400
3400
|
}) {
|
|
3401
3401
|
return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
3402
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cn("flex items-center gap-2 rounded-
|
|
3402
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cn("flex items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-[hsl(var(--accent))] focus:outline-none", className), children: [
|
|
3403
3403
|
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "h-7 w-7", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-xs", children: initials }) }),
|
|
3404
3404
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium max-w-[120px] truncate", children: name }),
|
|
3405
3405
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-3.5 w-3.5 text-[hsl(var(--muted-foreground))]" })
|
|
@@ -3443,7 +3443,7 @@ function OrgMenu({
|
|
|
3443
3443
|
}) {
|
|
3444
3444
|
const current = ORGS.find((o) => o.id === currentOrgId) ?? ORGS[0];
|
|
3445
3445
|
return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
|
|
3446
|
-
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cn("flex items-center gap-2 rounded-
|
|
3446
|
+
/* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs("button", { className: cn("flex items-center gap-2 rounded-md px-2 py-1.5 text-sm transition-colors hover:bg-[hsl(var(--accent))] focus:outline-none", className), children: [
|
|
3447
3447
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-6 w-6 items-center justify-center rounded bg-[hsl(var(--primary))] text-[10px] font-bold text-[hsl(var(--primary-foreground))]", children: current.name[0] }),
|
|
3448
3448
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium max-w-[120px] truncate", children: current.name }),
|
|
3449
3449
|
/* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-3.5 w-3.5 text-[hsl(var(--muted-foreground))]" })
|
|
@@ -3519,7 +3519,7 @@ function MetricCardWithIcon({ icon, iconColor = "bg-[hsl(var(--primary)/0.1)] te
|
|
|
3519
3519
|
props.change ?? "+12.5%"
|
|
3520
3520
|
] })
|
|
3521
3521
|
] }),
|
|
3522
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-
|
|
3522
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-md", iconColor), children: icon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.TrendingUp, { className: "h-5 w-5" }) })
|
|
3523
3523
|
] }) }) });
|
|
3524
3524
|
}
|
|
3525
3525
|
function MetricCardWithButton({ actionLabel = "View details", onAction, ...props }) {
|
|
@@ -3550,7 +3550,7 @@ function ChatBubble({ msg }) {
|
|
|
3550
3550
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[10px] text-[hsl(var(--muted-foreground))]", children: msg.time })
|
|
3551
3551
|
] }),
|
|
3552
3552
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(
|
|
3553
|
-
"rounded-
|
|
3553
|
+
"rounded-md px-3 py-2 text-sm",
|
|
3554
3554
|
msg.self ? "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))]" : "bg-[hsl(var(--muted))]"
|
|
3555
3555
|
), children: msg.text })
|
|
3556
3556
|
] })
|
|
@@ -3566,7 +3566,7 @@ function ChatDetail({ className }) {
|
|
|
3566
3566
|
setMessages((m) => [...m, { id: `${Date.now()}`, author: "You", initials: "JD", text: input.trim(), time: now, self: true }]);
|
|
3567
3567
|
setInput("");
|
|
3568
3568
|
};
|
|
3569
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[480px] flex-col overflow-hidden rounded-
|
|
3569
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex h-[480px] flex-col overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))]", className), children: [
|
|
3570
3570
|
/* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex items-center gap-3 border-b border-[hsl(var(--border))] px-4 py-3", children: [
|
|
3571
3571
|
/* @__PURE__ */ jsxRuntime.jsx(Avatar, { className: "h-8 w-8", children: /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "text-xs", children: "AC" }) }),
|
|
3572
3572
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
@@ -3648,7 +3648,7 @@ var TYPE_COLOR = {
|
|
|
3648
3648
|
function FileCard({ file }) {
|
|
3649
3649
|
const Icon2 = TYPE_ICON[file.type] ?? lucideReact.File;
|
|
3650
3650
|
return /* @__PURE__ */ jsxRuntime.jsx(Card, { className: "cursor-pointer hover:shadow-md transition-shadow", children: /* @__PURE__ */ jsxRuntime.jsxs(CardContent, { className: "p-4", children: [
|
|
3651
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-
|
|
3651
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-md bg-[hsl(var(--muted))] mb-3", TYPE_COLOR[file.type]), children: /* @__PURE__ */ jsxRuntime.jsx(Icon2, { className: "h-5 w-5" }) }),
|
|
3652
3652
|
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium truncate", children: file.name }),
|
|
3653
3653
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mt-1", children: [
|
|
3654
3654
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: file.size }),
|
|
@@ -3700,7 +3700,7 @@ function FileRow({ file, onDelete }) {
|
|
|
3700
3700
|
}
|
|
3701
3701
|
function FilesList({ className }) {
|
|
3702
3702
|
const [files, setFiles] = React14__default.default.useState(FILES2);
|
|
3703
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-
|
|
3703
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-md border border-[hsl(var(--border))] overflow-hidden", className), children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full", children: [
|
|
3704
3704
|
/* @__PURE__ */ jsxRuntime.jsx("thead", { className: "bg-[hsl(var(--muted)/0.5)]", children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: ["Name", "Type", "Size", "Modified", ""].map((h) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-2.5 text-left text-xs font-medium text-[hsl(var(--muted-foreground))]", children: h }, h)) }) }),
|
|
3705
3705
|
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: files.map((f) => /* @__PURE__ */ jsxRuntime.jsx(FileRow, { file: f, onDelete: () => setFiles((fs) => fs.filter((x) => x.id !== f.id)) }, f.id)) })
|
|
3706
3706
|
] }) });
|
|
@@ -3779,7 +3779,7 @@ function TaskRow({ task, onToggle }) {
|
|
|
3779
3779
|
function SortableTaskList({ className }) {
|
|
3780
3780
|
const [tasks, setTasks] = React14.useState(TASKS);
|
|
3781
3781
|
const toggle = (id) => setTasks((ts) => ts.map((t) => t.id === id ? { ...t, done: !t.done } : t));
|
|
3782
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-
|
|
3782
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4 space-y-4", className), children: SECTIONS.map((section) => {
|
|
3783
3783
|
const items = tasks.filter((t) => t.status === section);
|
|
3784
3784
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
3785
3785
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mb-1.5", children: [
|