@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.mjs CHANGED
@@ -70,16 +70,16 @@ function cn(...inputs) {
70
70
  return twMerge(clsx(inputs));
71
71
  }
72
72
  var buttonVariants = cva(
73
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-[var(--radius)] text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))] focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
73
+ "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",
74
74
  {
75
75
  variants: {
76
76
  variant: {
77
- default: "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:bg-[hsl(var(--primary)/0.9)]",
78
- secondary: "bg-[hsl(var(--secondary))] text-[hsl(var(--secondary-foreground))] hover:bg-[hsl(var(--secondary)/0.8)]",
79
- outline: "border border-[hsl(var(--border))] bg-transparent hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]",
80
- ghost: "hover:bg-[hsl(var(--accent))] hover:text-[hsl(var(--accent-foreground))]",
81
- destructive: "bg-[hsl(var(--destructive))] text-[hsl(var(--destructive-foreground))] hover:bg-[hsl(var(--destructive)/0.9)]",
82
- link: "text-[hsl(var(--primary))] underline-offset-4 hover:underline"
77
+ default: "bg-primary text-primary-foreground hover:bg-primary/90",
78
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
79
+ outline: "border border-border bg-transparent hover:bg-accent hover:text-accent-foreground",
80
+ ghost: "hover:bg-accent hover:text-accent-foreground",
81
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
82
+ link: "text-primary underline-offset-4 hover:underline"
83
83
  },
84
84
  size: {
85
85
  sm: "h-8 px-3 text-xs",
@@ -104,9 +104,9 @@ var Input = React14.forwardRef(
104
104
  {
105
105
  type,
106
106
  className: cn(
107
- "flex h-9 w-full rounded-[var(--radius)] border border-[hsl(var(--input))] bg-transparent px-3 py-1 text-sm shadow-sm transition-colors",
108
- "placeholder:text-[hsl(var(--muted-foreground))]",
109
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))]",
107
+ "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm font-sans shadow-sm transition-colors",
108
+ "placeholder:text-muted-foreground",
109
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
110
110
  "disabled:cursor-not-allowed disabled:opacity-50",
111
111
  "file:border-0 file:bg-transparent file:text-sm file:font-medium",
112
112
  className
@@ -122,7 +122,7 @@ var Textarea = React14.forwardRef(
122
122
  "textarea",
123
123
  {
124
124
  className: cn(
125
- "flex min-h-[80px] w-full rounded-[var(--radius)] border border-[hsl(var(--input))] bg-transparent px-3 py-2 text-sm shadow-sm",
125
+ "flex min-h-[80px] w-full rounded-md border border-[hsl(var(--input))] bg-transparent px-3 py-2 text-sm shadow-sm",
126
126
  "placeholder:text-[hsl(var(--muted-foreground))]",
127
127
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))]",
128
128
  "disabled:cursor-not-allowed disabled:opacity-50",
@@ -143,7 +143,7 @@ var SelectTrigger = React14.forwardRef(({ className, children, ...props }, ref)
143
143
  {
144
144
  ref,
145
145
  className: cn(
146
- "flex h-9 w-full items-center justify-between rounded-[var(--radius)] border border-[hsl(var(--input))] bg-transparent px-3 py-2 text-sm shadow-sm",
146
+ "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",
147
147
  "placeholder:text-[hsl(var(--muted-foreground))]",
148
148
  "focus:outline-none focus:ring-2 focus:ring-[hsl(var(--ring))]",
149
149
  "disabled:cursor-not-allowed disabled:opacity-50",
@@ -183,7 +183,7 @@ var SelectContent = React14.forwardRef(({ className, children, position = "poppe
183
183
  {
184
184
  ref,
185
185
  className: cn(
186
- "relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--popover))] text-[hsl(var(--popover-foreground))] shadow-md",
186
+ "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",
187
187
  "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
188
188
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
189
189
  position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",
@@ -339,7 +339,7 @@ var DialogContent = React14.forwardRef(({ className, children, ...props }, ref)
339
339
  ref,
340
340
  className: cn(
341
341
  "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4",
342
- "bg-[hsl(var(--background))] p-6 shadow-lg duration-200 rounded-[var(--radius)]",
342
+ "bg-[hsl(var(--background))] p-6 shadow-lg duration-200 rounded-md",
343
343
  "border border-[hsl(var(--border))]",
344
344
  "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%]",
345
345
  "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%]",
@@ -438,7 +438,7 @@ var PopoverContent = React14.forwardRef(({ className, align = "center", sideOffs
438
438
  align,
439
439
  sideOffset,
440
440
  className: cn(
441
- "z-50 w-72 rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-md outline-none",
441
+ "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",
442
442
  "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
443
443
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
444
444
  "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
@@ -457,7 +457,7 @@ var TooltipContent = React14.forwardRef(({ className, sideOffset = 4, ...props }
457
457
  ref,
458
458
  sideOffset,
459
459
  className: cn(
460
- "z-50 overflow-hidden rounded-[var(--radius)] bg-[hsl(var(--primary))] px-3 py-1.5 text-xs text-[hsl(var(--primary-foreground))] shadow-md",
460
+ "z-50 overflow-hidden rounded-md bg-[hsl(var(--primary))] px-3 py-1.5 text-xs text-[hsl(var(--primary-foreground))] shadow-md",
461
461
  "animate-in fade-in-0 zoom-in-95",
462
462
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
463
463
  "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
@@ -474,7 +474,7 @@ var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
474
474
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
475
475
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
476
476
  var contentStyle = cn(
477
- "z-50 min-w-[8rem] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md",
477
+ "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",
478
478
  "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
479
479
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95"
480
480
  );
@@ -516,7 +516,7 @@ var ContextMenuGroup = ContextMenuPrimitive.Group;
516
516
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
517
517
  var ContextMenuSub = ContextMenuPrimitive.Sub;
518
518
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
519
- var contentStyle2 = "z-50 min-w-[8rem] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-1 text-[hsl(var(--popover-foreground))] shadow-md animate-in fade-in-80";
519
+ 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";
520
520
  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";
521
521
  var ContextMenuContent = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx(ContextMenuPrimitive.Content, { ref, className: cn(contentStyle2, className), ...props }) }));
522
522
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
@@ -549,7 +549,7 @@ var Card = React14.forwardRef(
549
549
  "div",
550
550
  {
551
551
  ref,
552
- className: cn("rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] shadow-sm", className),
552
+ className: cn("rounded-lg border border-border bg-card text-card-foreground shadow-card", className),
553
553
  ...props
554
554
  }
555
555
  )
@@ -564,7 +564,7 @@ var CardTitle = React14.forwardRef(
564
564
  );
565
565
  CardTitle.displayName = "CardTitle";
566
566
  var CardDescription = React14.forwardRef(
567
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("text-sm text-[hsl(var(--muted-foreground))]", className), ...props })
567
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("text-sm text-muted-foreground", className), ...props })
568
568
  );
569
569
  CardDescription.displayName = "CardDescription";
570
570
  var CardContent = React14.forwardRef(
@@ -631,7 +631,7 @@ function Skeleton({ className, ...props }) {
631
631
  return /* @__PURE__ */ jsx(
632
632
  "div",
633
633
  {
634
- className: cn("animate-pulse rounded-[var(--radius)] bg-[hsl(var(--muted))]", className),
634
+ className: cn("animate-pulse rounded-md bg-[hsl(var(--muted))]", className),
635
635
  ...props
636
636
  }
637
637
  );
@@ -1116,7 +1116,7 @@ var SearchInput = React14.forwardRef(
1116
1116
  value,
1117
1117
  onChange: handleChange,
1118
1118
  className: cn(
1119
- "flex h-9 w-full rounded-[var(--radius)] border border-[hsl(var(--input))] bg-transparent pl-8 pr-8 text-sm shadow-sm transition-colors",
1119
+ "flex h-9 w-full rounded-md border border-[hsl(var(--input))] bg-transparent pl-8 pr-8 text-sm shadow-sm transition-colors",
1120
1120
  "placeholder:text-[hsl(var(--muted-foreground))]",
1121
1121
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[hsl(var(--ring))]",
1122
1122
  "disabled:cursor-not-allowed disabled:opacity-50",
@@ -1178,7 +1178,7 @@ function FileUpload({ accept, multiple, maxSize, onFiles, className, disabled })
1178
1178
  onDragLeave: () => setDragging(false),
1179
1179
  onDrop: handleDrop,
1180
1180
  className: cn(
1181
- "flex flex-col items-center justify-center gap-2 rounded-[var(--radius)] border-2 border-dashed border-[hsl(var(--border))] p-8 text-center transition-colors cursor-pointer",
1181
+ "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",
1182
1182
  dragging && "border-[hsl(var(--primary))] bg-[hsl(var(--accent))]",
1183
1183
  disabled && "cursor-not-allowed opacity-50",
1184
1184
  className
@@ -1211,7 +1211,7 @@ function FileUpload({ accept, multiple, maxSize, onFiles, className, disabled })
1211
1211
  function FileUploadPreview({ files, onRemove, className }) {
1212
1212
  if (!files.length)
1213
1213
  return null;
1214
- return /* @__PURE__ */ jsx("ul", { className: cn("flex flex-col gap-1", className), children: files.map((file, i) => /* @__PURE__ */ jsxs("li", { className: "flex items-center justify-between rounded-[var(--radius)] border border-[hsl(var(--border))] px-3 py-2 text-sm", children: [
1214
+ return /* @__PURE__ */ jsx("ul", { className: cn("flex flex-col gap-1", className), children: files.map((file, i) => /* @__PURE__ */ jsxs("li", { className: "flex items-center justify-between rounded-md border border-[hsl(var(--border))] px-3 py-2 text-sm", children: [
1215
1215
  /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate text-[hsl(var(--foreground))]", children: file.name }),
1216
1216
  /* @__PURE__ */ jsxs("div", { className: "ml-2 flex shrink-0 items-center gap-2", children: [
1217
1217
  /* @__PURE__ */ jsx("span", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: formatBytes(file.size) }),
@@ -1257,7 +1257,7 @@ function CalendarGrid({ year, month, selected, onSelect }) {
1257
1257
  type: "button",
1258
1258
  onClick: () => onSelect(date),
1259
1259
  className: cn(
1260
- "flex h-8 w-8 items-center justify-center rounded-[var(--radius)] text-sm transition-colors",
1260
+ "flex h-8 w-8 items-center justify-center rounded-md text-sm transition-colors",
1261
1261
  isSelected && "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))]",
1262
1262
  !isSelected && isToday && "border border-[hsl(var(--primary))] text-[hsl(var(--primary))]",
1263
1263
  !isSelected && !isToday && "hover:bg-[hsl(var(--accent))]"
@@ -1459,7 +1459,7 @@ function ObjectField({
1459
1459
  className
1460
1460
  }) {
1461
1461
  const [open, setOpen] = useState(defaultOpen);
1462
- return /* @__PURE__ */ jsxs("div", { className: cn("rounded-[var(--radius)] border border-[hsl(var(--border))] overflow-hidden", className), children: [
1462
+ return /* @__PURE__ */ jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] overflow-hidden", className), children: [
1463
1463
  /* @__PURE__ */ jsxs(
1464
1464
  "div",
1465
1465
  {
@@ -1628,7 +1628,7 @@ function DataTable({ columns, data, pageSize = 10, searchable, searchColumn, loa
1628
1628
  return /* @__PURE__ */ jsx("div", { className: "space-y-2", children: Array.from({ length: 5 }).map((_, i) => /* @__PURE__ */ jsx(Skeleton, { className: "h-10 w-full" }, i)) });
1629
1629
  return /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
1630
1630
  searchable && /* @__PURE__ */ jsx(DataTableToolbar, { table, searchColumn }),
1631
- /* @__PURE__ */ jsx("div", { className: "rounded-[var(--radius)] border border-[hsl(var(--border))] overflow-hidden", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-sm", children: [
1631
+ /* @__PURE__ */ jsx("div", { className: "rounded-md border border-[hsl(var(--border))] overflow-hidden", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-sm", children: [
1632
1632
  /* @__PURE__ */ jsx("thead", { className: "bg-[hsl(var(--muted)/0.4)]", children: table.getHeaderGroups().map((hg) => /* @__PURE__ */ jsx("tr", { children: hg.headers.map((h) => /* @__PURE__ */ jsx("th", { className: "px-4 py-3 text-left font-medium text-[hsl(var(--muted-foreground))]", children: h.isPlaceholder ? null : flexRender(h.column.columnDef.header, h.getContext()) }, h.id)) }, hg.id)) }),
1633
1633
  /* @__PURE__ */ jsxs("tbody", { children: [
1634
1634
  table.getRowModel().rows.map((row, i) => /* @__PURE__ */ 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__ */ jsx("td", { className: "px-4 py-3", children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id)) }, row.id)),
@@ -1706,7 +1706,7 @@ function DataGrid({ columns, data: initialData, onDataChange, editable, classNam
1706
1706
  state: { rowSelection },
1707
1707
  enableColumnResizing: true
1708
1708
  });
1709
- return /* @__PURE__ */ jsx("div", { className: cn("overflow-auto rounded-[var(--radius)] border border-[hsl(var(--border))]", className), children: /* @__PURE__ */ jsxs("table", { className: "w-full text-sm", style: { width: table.getCenterTotalSize() }, children: [
1709
+ return /* @__PURE__ */ jsx("div", { className: cn("overflow-auto rounded-md border border-[hsl(var(--border))]", className), children: /* @__PURE__ */ jsxs("table", { className: "w-full text-sm", style: { width: table.getCenterTotalSize() }, children: [
1710
1710
  /* @__PURE__ */ jsx("thead", { className: "bg-[hsl(var(--muted)/0.4)]", children: table.getHeaderGroups().map((hg) => /* @__PURE__ */ jsx("tr", { children: hg.headers.map((h) => /* @__PURE__ */ 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: [
1711
1711
  h.isPlaceholder ? null : flexRender(h.column.columnDef.header, h.getContext()),
1712
1712
  h.column.getCanResize() && /* @__PURE__ */ 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)]" })
@@ -1837,7 +1837,7 @@ function IconBadge({ icon, color = "default", size = "md", className }) {
1837
1837
  function StructuredListSection({ title, children, className }) {
1838
1838
  return /* @__PURE__ */ jsxs("div", { className: cn("", className), children: [
1839
1839
  title && /* @__PURE__ */ jsx("p", { className: "px-4 pb-1 pt-4 text-xs font-semibold uppercase tracking-wider text-[hsl(var(--muted-foreground))]", children: title }),
1840
- /* @__PURE__ */ jsx("div", { className: "rounded-[var(--radius)] border border-[hsl(var(--border))] overflow-hidden divide-y divide-[hsl(var(--border))]", children })
1840
+ /* @__PURE__ */ jsx("div", { className: "rounded-md border border-[hsl(var(--border))] overflow-hidden divide-y divide-[hsl(var(--border))]", children })
1841
1841
  ] });
1842
1842
  }
1843
1843
  function StructuredListItem({ left, title, description, right, onClick, className }) {
@@ -1867,7 +1867,7 @@ function CommandItem({ icon, label, description, shortcut, active, onClick, clas
1867
1867
  {
1868
1868
  onClick,
1869
1869
  className: cn(
1870
- "flex items-center gap-3 rounded-[var(--radius)] px-3 py-2 cursor-pointer transition-colors",
1870
+ "flex items-center gap-3 rounded-md px-3 py-2 cursor-pointer transition-colors",
1871
1871
  active ? "bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]" : "hover:bg-[hsl(var(--accent)/0.6)]",
1872
1872
  className
1873
1873
  ),
@@ -2072,7 +2072,7 @@ function LoadingOverlay({ loading, text, fullPage, children, className }) {
2072
2072
  }
2073
2073
  return /* @__PURE__ */ jsxs("div", { className: cn("relative", className), children: [
2074
2074
  children,
2075
- loading && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 z-10 flex items-center justify-center rounded-[var(--radius)] bg-[hsl(var(--background)/0.8)] backdrop-blur-[2px]", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-2", children: [
2075
+ loading && /* @__PURE__ */ 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__ */ jsxs("div", { className: "flex flex-col items-center gap-2", children: [
2076
2076
  /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin text-[hsl(var(--primary))]" }),
2077
2077
  text && /* @__PURE__ */ jsx("p", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: text })
2078
2078
  ] }) })
@@ -2221,7 +2221,7 @@ function ToggleButton({ pressed, onClick, disabled, children, className }) {
2221
2221
  disabled,
2222
2222
  onClick,
2223
2223
  className: cn(
2224
- "inline-flex items-center justify-center gap-1.5 rounded-[var(--radius)] px-3 py-1.5 text-sm font-medium transition-colors border",
2224
+ "inline-flex items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium transition-colors border",
2225
2225
  "disabled:pointer-events-none disabled:opacity-50",
2226
2226
  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))]",
2227
2227
  className
@@ -2241,7 +2241,7 @@ function ToggleButtonGroup(props) {
2241
2241
  props.onChange(val);
2242
2242
  }
2243
2243
  };
2244
- return /* @__PURE__ */ jsx("div", { className: cn("inline-flex items-center gap-1 rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--muted)/0.4)] p-0.5", className), children: React14.Children.map(children, (child) => {
2244
+ return /* @__PURE__ */ 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.Children.map(children, (child) => {
2245
2245
  if (!React14.isValidElement(child))
2246
2246
  return child;
2247
2247
  const tb = child;
@@ -2280,7 +2280,7 @@ function CommandBarItem({ icon, label, shortcut, onSelect, active, className })
2280
2280
  {
2281
2281
  onClick: onSelect,
2282
2282
  className: cn(
2283
- "flex w-full items-center gap-2.5 rounded-[var(--radius)] px-3 py-2 text-sm transition-colors",
2283
+ "flex w-full items-center gap-2.5 rounded-md px-3 py-2 text-sm transition-colors",
2284
2284
  active ? "bg-[hsl(var(--accent))] text-[hsl(var(--accent-foreground))]" : "hover:bg-[hsl(var(--accent)/0.6)]",
2285
2285
  className
2286
2286
  ),
@@ -2347,7 +2347,7 @@ function KanbanCard({ card, isDragging }) {
2347
2347
  style,
2348
2348
  ...attributes,
2349
2349
  ...listeners,
2350
- className: cn("rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-3 cursor-grab active:cursor-grabbing select-none", isDragging && "shadow-lg opacity-80"),
2350
+ 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"),
2351
2351
  children: [
2352
2352
  /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
2353
2353
  /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-[hsl(var(--foreground))] leading-tight", children: card.title }),
@@ -2359,7 +2359,7 @@ function KanbanCard({ card, isDragging }) {
2359
2359
  );
2360
2360
  }
2361
2361
  function KanbanColumn({ column, isOver }) {
2362
- return /* @__PURE__ */ jsxs("div", { className: cn("flex w-64 shrink-0 flex-col gap-2 rounded-[var(--radius)] bg-[hsl(var(--muted)/0.4)] p-3 transition-colors", isOver && "bg-[hsl(var(--muted)/0.7)]"), children: [
2362
+ return /* @__PURE__ */ 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: [
2363
2363
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
2364
2364
  /* @__PURE__ */ jsx("h3", { className: "text-sm font-semibold text-[hsl(var(--foreground))]", children: column.title }),
2365
2365
  /* @__PURE__ */ 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 })
@@ -2430,7 +2430,7 @@ function AreaChart({
2430
2430
  }) {
2431
2431
  const keys = Array.isArray(dataKey) ? dataKey : [dataKey];
2432
2432
  const curve = curved ? "monotone" : "linear";
2433
- return /* @__PURE__ */ jsx("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(AreaChart$1, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
2433
+ return /* @__PURE__ */ jsx("div", { className: cn("w-full overflow-hidden", className), style: { minWidth: 0 }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(AreaChart$1, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
2434
2434
  showGrid && /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: "3 3", stroke: "hsl(var(--border))" }),
2435
2435
  /* @__PURE__ */ jsx(XAxis, { dataKey: xAxisKey, tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
2436
2436
  /* @__PURE__ */ jsx(YAxis, { tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
@@ -2482,7 +2482,7 @@ function BarChart({
2482
2482
  }) {
2483
2483
  const keys = Array.isArray(dataKey) ? dataKey : [dataKey];
2484
2484
  const isVertical = layout === "vertical";
2485
- return /* @__PURE__ */ jsx("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(BarChart$1, { data, layout, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
2485
+ return /* @__PURE__ */ jsx("div", { className: cn("w-full overflow-hidden", className), style: { minWidth: 0 }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(BarChart$1, { data, layout, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
2486
2486
  showGrid && /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: "3 3", stroke: "hsl(var(--border))" }),
2487
2487
  isVertical ? /* @__PURE__ */ jsxs(Fragment, { children: [
2488
2488
  /* @__PURE__ */ jsx(XAxis, { type: "number", tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
@@ -2539,7 +2539,7 @@ function LineChart({
2539
2539
  const keys = Array.isArray(dataKey) ? dataKey : [dataKey];
2540
2540
  const curve = curved ? "monotone" : "linear";
2541
2541
  const dash = dotted ? "4 4" : void 0;
2542
- return /* @__PURE__ */ jsx("div", { className: cn("w-full", className), children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(LineChart$1, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
2542
+ return /* @__PURE__ */ jsx("div", { className: cn("w-full overflow-hidden", className), style: { minWidth: 0 }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height, children: /* @__PURE__ */ jsxs(LineChart$1, { data, margin: { top: 4, right: 4, left: -20, bottom: 0 }, children: [
2543
2543
  showGrid && /* @__PURE__ */ jsx(CartesianGrid, { strokeDasharray: "3 3", stroke: "hsl(var(--border))" }),
2544
2544
  /* @__PURE__ */ jsx(XAxis, { dataKey: xAxisKey, tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
2545
2545
  /* @__PURE__ */ jsx(YAxis, { tick: { fontSize: 12, fill: "hsl(var(--muted-foreground))" }, axisLine: false, tickLine: false }),
@@ -2695,8 +2695,8 @@ function TourStep({ step, title, description, placement = "bottom", children })
2695
2695
  style: { boxShadow: "0 0 0 9999px rgba(0,0,0,0.5)" }
2696
2696
  }
2697
2697
  ),
2698
- /* @__PURE__ */ jsx("span", { className: cn("relative", active && "z-50 ring-2 ring-[hsl(var(--primary))] ring-offset-2 rounded-[var(--radius)]"), children }),
2699
- active && /* @__PURE__ */ jsxs("div", { className: cn("absolute z-50 w-64 rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4 shadow-lg", placementClasses[placement]), children: [
2698
+ /* @__PURE__ */ jsx("span", { className: cn("relative", active && "z-50 ring-2 ring-[hsl(var(--primary))] ring-offset-2 rounded-md"), children }),
2699
+ active && /* @__PURE__ */ 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: [
2700
2700
  /* @__PURE__ */ jsx("p", { className: "font-semibold text-sm mb-1", children: title }),
2701
2701
  /* @__PURE__ */ jsx("p", { className: "text-xs text-[hsl(var(--muted-foreground))] mb-3", children: description }),
2702
2702
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
@@ -2734,7 +2734,7 @@ function SidebarLayoutMinimal({
2734
2734
  children,
2735
2735
  className
2736
2736
  }) {
2737
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2737
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2738
2738
  /* @__PURE__ */ jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
2739
2739
  /* @__PURE__ */ jsx("div", { className: "flex h-14 items-center px-4 font-semibold text-sm", children: brandName }),
2740
2740
  /* @__PURE__ */ jsx(Separator4, {}),
@@ -2783,7 +2783,7 @@ function SidebarLayoutGroups({
2783
2783
  children,
2784
2784
  className
2785
2785
  }) {
2786
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2786
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2787
2787
  /* @__PURE__ */ jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
2788
2788
  /* @__PURE__ */ jsx("div", { className: "flex h-14 items-center px-4 font-semibold text-sm", children: brandName }),
2789
2789
  /* @__PURE__ */ jsx(Separator4, {}),
@@ -2823,9 +2823,9 @@ function SidebarLayoutUser({
2823
2823
  children,
2824
2824
  className
2825
2825
  }) {
2826
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2826
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2827
2827
  /* @__PURE__ */ jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
2828
- /* @__PURE__ */ jsx("div", { className: "p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 rounded-[var(--radius)] bg-[hsl(var(--accent))] p-3", children: [
2828
+ /* @__PURE__ */ jsx("div", { className: "p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 rounded-md bg-[hsl(var(--accent))] p-3", children: [
2829
2829
  /* @__PURE__ */ jsx(Avatar, { className: "h-9 w-9", children: /* @__PURE__ */ jsx(AvatarFallback, { className: "text-xs", children: userName.slice(0, 2).toUpperCase() }) }),
2830
2830
  /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
2831
2831
  /* @__PURE__ */ jsx("p", { className: "truncate text-sm font-semibold", children: userName }),
@@ -2868,7 +2868,7 @@ function SidebarLayoutSearch({
2868
2868
  }) {
2869
2869
  const [query, setQuery] = useState("");
2870
2870
  const filtered = ALL_ITEMS.filter((i) => i.label.toLowerCase().includes(query.toLowerCase()));
2871
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2871
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2872
2872
  /* @__PURE__ */ jsxs("aside", { className: "flex w-60 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
2873
2873
  /* @__PURE__ */ jsx("div", { className: "flex h-14 items-center px-4 font-semibold text-sm", children: brandName }),
2874
2874
  /* @__PURE__ */ jsx(Separator4, {}),
@@ -2916,7 +2916,7 @@ function NavItem5({ icon: Icon2, label, active }) {
2916
2916
  ] });
2917
2917
  }
2918
2918
  function SidebarLayoutDashboard({ className }) {
2919
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2919
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2920
2920
  /* @__PURE__ */ jsxs("aside", { className: "flex w-56 flex-col border-r border-[hsl(var(--border))] bg-[hsl(var(--card))]", children: [
2921
2921
  /* @__PURE__ */ jsx("div", { className: "flex h-12 items-center px-4 font-semibold text-sm", children: "Acme Inc" }),
2922
2922
  /* @__PURE__ */ jsx(Separator4, {}),
@@ -2944,7 +2944,7 @@ function SidebarLayoutDashboard({ className }) {
2944
2944
  k.change
2945
2945
  ] })
2946
2946
  ] }) }, k.label)) }),
2947
- /* @__PURE__ */ jsx("div", { className: "rounded-[var(--radius)] border border-[hsl(var(--border))]", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-xs", children: [
2947
+ /* @__PURE__ */ jsx("div", { className: "rounded-md border border-[hsl(var(--border))]", children: /* @__PURE__ */ jsxs("table", { className: "w-full text-xs", children: [
2948
2948
  /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: "border-b border-[hsl(var(--border))]", children: ["Project", "Status", "Team", "Progress"].map((h) => /* @__PURE__ */ jsx("th", { className: "px-3 py-2 text-left font-medium text-[hsl(var(--muted-foreground))]", children: h }, h)) }) }),
2949
2949
  /* @__PURE__ */ jsx("tbody", { children: TABLE_ROWS.map((r) => /* @__PURE__ */ jsxs("tr", { className: "border-b border-[hsl(var(--border))] last:border-0", children: [
2950
2950
  /* @__PURE__ */ jsx("td", { className: "px-3 py-2 font-medium", children: r.name }),
@@ -2966,7 +2966,7 @@ function StackedLayoutTabs({
2966
2966
  }) {
2967
2967
  const [activeTab, setActiveTab] = useState(0);
2968
2968
  const [activeNav, setActiveNav] = useState(0);
2969
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2969
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
2970
2970
  /* @__PURE__ */ jsxs("nav", { className: "flex h-14 items-center gap-6 border-b border-[hsl(var(--border))] bg-[hsl(var(--card))] px-4", children: [
2971
2971
  /* @__PURE__ */ jsx("span", { className: "font-semibold text-sm shrink-0", children: brandName }),
2972
2972
  /* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center gap-1", children: NAV_LINKS.map((link, i) => /* @__PURE__ */ jsx(
@@ -3014,7 +3014,7 @@ function StackedLayoutBranded({
3014
3014
  children,
3015
3015
  className
3016
3016
  }) {
3017
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
3017
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[600px] flex-col overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--background))]", className), children: [
3018
3018
  /* @__PURE__ */ jsxs("nav", { className: "flex h-14 items-center gap-6 bg-[hsl(var(--primary))] px-6", children: [
3019
3019
  /* @__PURE__ */ jsx("span", { className: "font-bold text-sm text-[hsl(var(--primary-foreground))] shrink-0", children: brandName }),
3020
3020
  /* @__PURE__ */ jsx("div", { className: "flex flex-1 items-center gap-1", children: NAV_LINKS2.map((link) => /* @__PURE__ */ 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)) }),
@@ -3059,7 +3059,7 @@ function NotificationSettings({ className }) {
3059
3059
  const [states, setStates] = useState(
3060
3060
  Object.fromEntries(NOTIFICATIONS.map((n) => [n.id, n.default]))
3061
3061
  );
3062
- return /* @__PURE__ */ jsxs("div", { className: cn("rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-6", className), children: [
3062
+ return /* @__PURE__ */ jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-6", className), children: [
3063
3063
  /* @__PURE__ */ jsxs("div", { className: "mb-4", children: [
3064
3064
  /* @__PURE__ */ jsx("h2", { className: "text-base font-semibold", children: "Email Notifications" }),
3065
3065
  /* @__PURE__ */ jsx("p", { className: "text-sm text-[hsl(var(--muted-foreground))] mt-0.5", children: "Choose what you want to be notified about." })
@@ -3090,7 +3090,7 @@ function WorkspaceMembers({ className }) {
3090
3090
  const filtered = members.filter(
3091
3091
  (m) => m.name.toLowerCase().includes(query.toLowerCase()) || m.email.toLowerCase().includes(query.toLowerCase())
3092
3092
  );
3093
- return /* @__PURE__ */ jsxs("div", { className: cn("rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))]", className), children: [
3093
+ return /* @__PURE__ */ jsxs("div", { className: cn("rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))]", className), children: [
3094
3094
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between p-4 border-b border-[hsl(var(--border))]", children: [
3095
3095
  /* @__PURE__ */ jsxs("div", { children: [
3096
3096
  /* @__PURE__ */ jsx("h2", { className: "text-sm font-semibold", children: "Members" }),
@@ -3123,8 +3123,8 @@ function IntegrationCard({
3123
3123
  className
3124
3124
  }) {
3125
3125
  const [isConnected, setIsConnected] = useState(connected);
3126
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-4 rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4", className), children: [
3127
- /* @__PURE__ */ jsx("div", { className: "flex h-10 w-10 shrink-0 items-center justify-center rounded-[var(--radius)] bg-[hsl(var(--muted))] text-[hsl(var(--muted-foreground))]", children: icon ?? /* @__PURE__ */ jsx("span", { className: "text-base font-bold", children: name[0] }) }),
3126
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-4 rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4", className), children: [
3127
+ /* @__PURE__ */ 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__ */ jsx("span", { className: "text-base font-bold", children: name[0] }) }),
3128
3128
  /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
3129
3129
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
3130
3130
  /* @__PURE__ */ jsx("p", { className: "text-sm font-semibold", children: name }),
@@ -3177,7 +3177,7 @@ function FeedbackModal({ onSubmit, className }) {
3177
3177
  {
3178
3178
  onClick: () => setReaction(r),
3179
3179
  className: cn(
3180
- "flex h-10 w-10 items-center justify-center rounded-[var(--radius)] border text-xl transition-colors",
3180
+ "flex h-10 w-10 items-center justify-center rounded-md border text-xl transition-colors",
3181
3181
  reaction === r ? "border-[hsl(var(--primary))] bg-[hsl(var(--primary)/0.1)]" : "border-[hsl(var(--border))] hover:bg-[hsl(var(--accent))]"
3182
3182
  ),
3183
3183
  children: r
@@ -3238,7 +3238,7 @@ function InviteModal({ className }) {
3238
3238
  ] }),
3239
3239
  pending.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
3240
3240
  /* @__PURE__ */ jsx("p", { className: "text-xs font-medium text-[hsl(var(--muted-foreground))]", children: "Pending invites" }),
3241
- /* @__PURE__ */ jsx("div", { className: "divide-y divide-[hsl(var(--border))] rounded-[var(--radius)] border border-[hsl(var(--border))]", children: pending.map((p, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-3 py-2", children: [
3241
+ /* @__PURE__ */ jsx("div", { className: "divide-y divide-[hsl(var(--border))] rounded-md border border-[hsl(var(--border))]", children: pending.map((p, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 px-3 py-2", children: [
3242
3242
  /* @__PURE__ */ jsx(Avatar, { className: "h-6 w-6", children: /* @__PURE__ */ jsx(AvatarFallback, { className: "text-[10px]", children: p.email[0].toUpperCase() }) }),
3243
3243
  /* @__PURE__ */ jsx("span", { className: "flex-1 text-sm truncate", children: p.email }),
3244
3244
  /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "text-[10px] px-1.5 py-0.5 shrink-0", children: p.role }),
@@ -3292,7 +3292,7 @@ function ManageTagsModal({ className }) {
3292
3292
  ),
3293
3293
  /* @__PURE__ */ jsx(Button, { size: "sm", className: "h-9", onClick: addTag, children: "Add" })
3294
3294
  ] }),
3295
- /* @__PURE__ */ jsx("div", { className: "space-y-1.5", children: tags.map((tag) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 rounded-[var(--radius)] border border-[hsl(var(--border))] px-3 py-2", children: [
3295
+ /* @__PURE__ */ jsx("div", { className: "space-y-1.5", children: tags.map((tag) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 rounded-md border border-[hsl(var(--border))] px-3 py-2", children: [
3296
3296
  /* @__PURE__ */ jsx("span", { className: cn("h-3 w-3 rounded-full shrink-0", tag.color) }),
3297
3297
  /* @__PURE__ */ jsx("span", { className: "flex-1 text-sm", children: tag.name }),
3298
3298
  /* @__PURE__ */ jsx("button", { className: "text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] transition-colors", children: /* @__PURE__ */ jsx(Pencil, { className: "h-3.5 w-3.5" }) }),
@@ -3362,7 +3362,7 @@ function UserMenu({
3362
3362
  className
3363
3363
  }) {
3364
3364
  return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
3365
- /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs("button", { className: cn("flex items-center gap-2 rounded-[var(--radius)] px-2 py-1.5 text-sm transition-colors hover:bg-[hsl(var(--accent))] focus:outline-none", className), children: [
3365
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ 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: [
3366
3366
  /* @__PURE__ */ jsx(Avatar, { className: "h-7 w-7", children: /* @__PURE__ */ jsx(AvatarFallback, { className: "text-xs", children: initials }) }),
3367
3367
  /* @__PURE__ */ jsx("span", { className: "font-medium max-w-[120px] truncate", children: name }),
3368
3368
  /* @__PURE__ */ jsx(ChevronDown, { className: "h-3.5 w-3.5 text-[hsl(var(--muted-foreground))]" })
@@ -3406,7 +3406,7 @@ function OrgMenu({
3406
3406
  }) {
3407
3407
  const current = ORGS.find((o) => o.id === currentOrgId) ?? ORGS[0];
3408
3408
  return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
3409
- /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs("button", { className: cn("flex items-center gap-2 rounded-[var(--radius)] px-2 py-1.5 text-sm transition-colors hover:bg-[hsl(var(--accent))] focus:outline-none", className), children: [
3409
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ 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: [
3410
3410
  /* @__PURE__ */ 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] }),
3411
3411
  /* @__PURE__ */ jsx("span", { className: "font-medium max-w-[120px] truncate", children: current.name }),
3412
3412
  /* @__PURE__ */ jsx(ChevronDown, { className: "h-3.5 w-3.5 text-[hsl(var(--muted-foreground))]" })
@@ -3482,7 +3482,7 @@ function MetricCardWithIcon({ icon, iconColor = "bg-[hsl(var(--primary)/0.1)] te
3482
3482
  props.change ?? "+12.5%"
3483
3483
  ] })
3484
3484
  ] }),
3485
- /* @__PURE__ */ jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-[var(--radius)]", iconColor), children: icon ?? /* @__PURE__ */ jsx(TrendingUp, { className: "h-5 w-5" }) })
3485
+ /* @__PURE__ */ jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-md", iconColor), children: icon ?? /* @__PURE__ */ jsx(TrendingUp, { className: "h-5 w-5" }) })
3486
3486
  ] }) }) });
3487
3487
  }
3488
3488
  function MetricCardWithButton({ actionLabel = "View details", onAction, ...props }) {
@@ -3513,7 +3513,7 @@ function ChatBubble({ msg }) {
3513
3513
  /* @__PURE__ */ jsx("span", { className: "text-[10px] text-[hsl(var(--muted-foreground))]", children: msg.time })
3514
3514
  ] }),
3515
3515
  /* @__PURE__ */ jsx("div", { className: cn(
3516
- "rounded-[var(--radius)] px-3 py-2 text-sm",
3516
+ "rounded-md px-3 py-2 text-sm",
3517
3517
  msg.self ? "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))]" : "bg-[hsl(var(--muted))]"
3518
3518
  ), children: msg.text })
3519
3519
  ] })
@@ -3529,7 +3529,7 @@ function ChatDetail({ className }) {
3529
3529
  setMessages((m) => [...m, { id: `${Date.now()}`, author: "You", initials: "JD", text: input.trim(), time: now, self: true }]);
3530
3530
  setInput("");
3531
3531
  };
3532
- return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[480px] flex-col overflow-hidden rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))]", className), children: [
3532
+ return /* @__PURE__ */ jsxs("div", { className: cn("flex h-[480px] flex-col overflow-hidden rounded-md border border-[hsl(var(--border))] bg-[hsl(var(--card))]", className), children: [
3533
3533
  /* @__PURE__ */ jsxs("header", { className: "flex items-center gap-3 border-b border-[hsl(var(--border))] px-4 py-3", children: [
3534
3534
  /* @__PURE__ */ jsx(Avatar, { className: "h-8 w-8", children: /* @__PURE__ */ jsx(AvatarFallback, { className: "text-xs", children: "AC" }) }),
3535
3535
  /* @__PURE__ */ jsxs("div", { children: [
@@ -3611,7 +3611,7 @@ var TYPE_COLOR = {
3611
3611
  function FileCard({ file }) {
3612
3612
  const Icon2 = TYPE_ICON[file.type] ?? File;
3613
3613
  return /* @__PURE__ */ jsx(Card, { className: "cursor-pointer hover:shadow-md transition-shadow", children: /* @__PURE__ */ jsxs(CardContent, { className: "p-4", children: [
3614
- /* @__PURE__ */ jsx("div", { className: cn("flex h-10 w-10 items-center justify-center rounded-[var(--radius)] bg-[hsl(var(--muted))] mb-3", TYPE_COLOR[file.type]), children: /* @__PURE__ */ jsx(Icon2, { className: "h-5 w-5" }) }),
3614
+ /* @__PURE__ */ 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__ */ jsx(Icon2, { className: "h-5 w-5" }) }),
3615
3615
  /* @__PURE__ */ jsx("p", { className: "text-sm font-medium truncate", children: file.name }),
3616
3616
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mt-1", children: [
3617
3617
  /* @__PURE__ */ jsx("span", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: file.size }),
@@ -3663,7 +3663,7 @@ function FileRow({ file, onDelete }) {
3663
3663
  }
3664
3664
  function FilesList({ className }) {
3665
3665
  const [files, setFiles] = React14.useState(FILES2);
3666
- return /* @__PURE__ */ jsx("div", { className: cn("rounded-[var(--radius)] border border-[hsl(var(--border))] overflow-hidden", className), children: /* @__PURE__ */ jsxs("table", { className: "w-full", children: [
3666
+ return /* @__PURE__ */ jsx("div", { className: cn("rounded-md border border-[hsl(var(--border))] overflow-hidden", className), children: /* @__PURE__ */ jsxs("table", { className: "w-full", children: [
3667
3667
  /* @__PURE__ */ jsx("thead", { className: "bg-[hsl(var(--muted)/0.5)]", children: /* @__PURE__ */ jsx("tr", { children: ["Name", "Type", "Size", "Modified", ""].map((h) => /* @__PURE__ */ jsx("th", { className: "px-4 py-2.5 text-left text-xs font-medium text-[hsl(var(--muted-foreground))]", children: h }, h)) }) }),
3668
3668
  /* @__PURE__ */ jsx("tbody", { children: files.map((f) => /* @__PURE__ */ jsx(FileRow, { file: f, onDelete: () => setFiles((fs) => fs.filter((x) => x.id !== f.id)) }, f.id)) })
3669
3669
  ] }) });
@@ -3742,7 +3742,7 @@ function TaskRow({ task, onToggle }) {
3742
3742
  function SortableTaskList({ className }) {
3743
3743
  const [tasks, setTasks] = useState(TASKS);
3744
3744
  const toggle = (id) => setTasks((ts) => ts.map((t) => t.id === id ? { ...t, done: !t.done } : t));
3745
- return /* @__PURE__ */ jsx("div", { className: cn("rounded-[var(--radius)] border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-4 space-y-4", className), children: SECTIONS.map((section) => {
3745
+ return /* @__PURE__ */ 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) => {
3746
3746
  const items = tasks.filter((t) => t.status === section);
3747
3747
  return /* @__PURE__ */ jsxs("div", { children: [
3748
3748
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-1.5", children: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blinkdotnew/ui",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Blink UI SDK — production-quality React component library for SaaS apps",
5
5
  "keywords": [
6
6
  "blink",
@@ -1,4 +1,5 @@
1
- /* Blink UI — shared base resets (applied by every theme) */
1
+ /* Blink UI — shared base resets applied by every theme */
2
+
2
3
  *,
3
4
  *::before,
4
5
  *::after {
@@ -9,6 +10,16 @@ body {
9
10
  background-color: hsl(var(--background, 0 0% 100%));
10
11
  color: hsl(var(--foreground, 0 0% 3.9%));
11
12
  font-family: var(--font-sans, system-ui, sans-serif);
13
+ font-size: var(--font-size-base, 0.9375rem);
14
+ line-height: var(--line-height-normal, 1.5);
15
+ letter-spacing: var(--letter-spacing-body, 0em);
12
16
  -webkit-font-smoothing: antialiased;
13
17
  -moz-osx-font-smoothing: grayscale;
14
18
  }
19
+
20
+ h1, h2, h3, h4, h5, h6 {
21
+ font-family: var(--font-heading, var(--font-sans));
22
+ letter-spacing: var(--letter-spacing-heading, -0.02em);
23
+ line-height: var(--line-height-heading, 1.2);
24
+ font-weight: var(--font-weight-heading, 600);
25
+ }