@northslopetech/altitude-ui 3.0.0-alpha.2 → 3.0.0-alpha.3

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 CHANGED
@@ -224,68 +224,62 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
224
224
  {
225
225
  variants: {
226
226
  variant: {
227
- default: "bg-primary text-light shadow-sm hover:brightness-[60%] active:brightness-[80%] focus-visible:ring-2 focus-visible:ring-interactive focus-visible:ring-offset-2",
228
- outline: "bg-light text-dark border border-strong shadow-sm hover:brightness-[70%] active:brightness-[90%] focus-visible:ring-2 focus-visible:ring-interactive focus-visible:ring-offset-2",
229
- destructive: "bg-error text-light shadow-sm hover:brightness-[60%] active:brightness-[80%] focus-visible:ring-2 focus-visible:ring-error focus-visible:ring-offset-2",
230
- "destructive-subtle": "bg-light text-error border border-secondary shadow-sm hover:brightness-[70%] active:brightness-[90%] focus-visible:ring-2 focus-visible:ring-error focus-visible:ring-offset-2",
231
- ghost: "bg-light text-dark hover:brightness-[70%] active:brightness-[90%] focus-visible:ring-2 focus-visible:ring-interactive focus-visible:ring-offset-2",
232
- link: "bg-light text-dark underline underline-offset-4 hover:cursor-pointer active:text-info"
227
+ default: "interactive-default interactive-default-fg border border-default shadow-sm hover:brightness-[90%] dark:hover:brightness-[130%] active:brightness-[80%] dark:active:brightness-[120%] focus-visible:ring-2 focus-visible:ring-focus-default focus-visible:border-strong",
228
+ primary: "interactive-accent interactive-accent-fg hover:brightness-[90%] dark:hover:brightness-[130%] active:brightness-[80%] dark:active:brightness-[120%] focus-visible:ring-2 focus-visible:ring-focus-default",
229
+ destructive: "interactive-destructive interactive-destructive-fg hover:brightness-[90%] dark:hover:brightness-[130%] active:brightness-[80%] dark:active:brightness-[120%] focus-visible:ring-3 focus-visible:ring-focus-error",
230
+ ghost: "interactive-default interactive-default-fg hover:brightness-[90%] dark:hover:brightness-[130%] active:brightness-[80%] dark:active:brightness-[120%] focus-visible:ring-2 focus-visible:ring-focus-default",
231
+ link: "h-6 px-0 py-0 rounded-sm text-default underline underline-offset-2 focus-visible:ring-2 focus-visible:ring-focus-default"
233
232
  },
234
233
  size: {
235
- sm: "h-8 rounded-md px-2 py-2 min-w-[120px]",
236
- default: "h-10 rounded-lg px-3 py-2 min-w-[125px]",
237
- lg: "h-12 rounded-lg px-4 py-2 min-w-[141px]",
238
- icon: "h-10 w-10 rounded-lg"
234
+ default: "h-9 rounded-md px-4 py-2 type-label-sm-medium",
235
+ lg: "h-10 rounded-md px-4 py-2.5 type-label-md-medium",
236
+ sm: "h-8 rounded-sm px-3 py-1.5 type-label-sm-medium",
237
+ mini: "h-6 rounded-sm px-2 py-1 type-label-xs-medium"
239
238
  }
240
239
  },
241
- compoundVariants: [],
240
+ compoundVariants: [
241
+ {
242
+ variant: "link",
243
+ size: ["default", "sm"],
244
+ className: "type-body-sm-regular hover:type-body-sm-semibold active:type-body-sm-semibold"
245
+ },
246
+ {
247
+ variant: "link",
248
+ size: "lg",
249
+ className: "type-body-md-regular hover:type-body-md-semibold active:type-body-md-semibold"
250
+ },
251
+ {
252
+ variant: "link",
253
+ size: "mini",
254
+ className: "type-body-xs-regular hover:type-body-xs-semibold active:type-body-xs-semibold"
255
+ }
256
+ ],
242
257
  defaultVariants: {
243
258
  variant: "default",
244
259
  size: "default"
245
260
  }
246
261
  }
247
262
  );
248
- function getButtonTypographyStyles(size) {
249
- switch (size) {
250
- case "sm":
251
- return { font: "var(--typography-label-sm-bold)" };
252
- case "lg":
253
- return { font: "var(--typography-label-lg-bold)" };
254
- case "icon":
255
- case "default":
256
- default:
257
- return { font: "var(--typography-label-md-bold)" };
258
- }
259
- }
263
+ var hasTextChildren = (children) => React.Children.toArray(children).some(
264
+ (child) => typeof child === "string" && child.trim().length > 0
265
+ );
260
266
  var Button = React.forwardRef(
261
- ({
262
- className,
263
- style,
264
- variant,
265
- size,
266
- icon,
267
- iconPosition = "left",
268
- children,
269
- ...props
270
- }, ref) => {
271
- const typographyStyles = getButtonTypographyStyles(size);
272
- const tokenStyles = {
273
- ...typographyStyles,
274
- ...style
275
- };
276
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
267
+ ({ className, style, variant, size, children, ...props }, ref) => {
268
+ const isIconOnly = !hasTextChildren(children);
269
+ const iconOnlyClasses = isIconOnly ? "aspect-square px-0 py-0" : void 0;
270
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
277
271
  import_button.Button,
278
272
  {
279
273
  "data-slot": "button",
280
- className: cn(buttonVariants({ variant, size }), className),
281
- style: tokenStyles,
274
+ className: cn(
275
+ buttonVariants({ variant, size }),
276
+ iconOnlyClasses,
277
+ className
278
+ ),
279
+ style,
282
280
  ref,
283
281
  ...props,
284
- children: [
285
- icon && iconPosition === "left" && icon,
286
- children,
287
- icon && iconPosition === "right" && icon
288
- ]
282
+ children
289
283
  }
290
284
  );
291
285
  }
@@ -851,30 +845,29 @@ var import_react = require("react");
851
845
  var import_class_variance_authority6 = require("class-variance-authority");
852
846
 
853
847
  // src/components/ui/label.tsx
854
- var LabelPrimitive = __toESM(require("@radix-ui/react-label"));
848
+ var React7 = __toESM(require("react"));
855
849
  var import_jsx_runtime7 = require("react/jsx-runtime");
856
- function Label2({
857
- className,
858
- ...props
859
- }) {
860
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
861
- LabelPrimitive.Root,
862
- {
863
- "data-slot": "label",
864
- className: cn(
865
- "flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
866
- className
867
- ),
868
- ...props
869
- }
870
- );
871
- }
850
+ var labelClasses = "type-label-sm-medium flex flex-row items-center gap-2 text-default select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50";
851
+ var Label2 = React7.forwardRef(
852
+ ({ className, ...props }, ref) => {
853
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
854
+ "label",
855
+ {
856
+ ref,
857
+ "data-slot": "label",
858
+ className: cn(labelClasses, className),
859
+ ...props
860
+ }
861
+ );
862
+ }
863
+ );
864
+ Label2.displayName = "Label";
872
865
 
873
866
  // src/components/ui/separator.tsx
874
- var React7 = __toESM(require("react"));
867
+ var React8 = __toESM(require("react"));
875
868
  var import_separator = require("@base-ui/react/separator");
876
869
  var import_jsx_runtime8 = require("react/jsx-runtime");
877
- var Separator2 = React7.forwardRef(
870
+ var Separator2 = React8.forwardRef(
878
871
  ({ className, orientation = "horizontal", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
879
872
  import_separator.Separator,
880
873
  {
@@ -1103,11 +1096,11 @@ function FieldError({
1103
1096
  }
1104
1097
 
1105
1098
  // src/components/ui/breadcrumb.tsx
1106
- var React8 = __toESM(require("react"));
1099
+ var React9 = __toESM(require("react"));
1107
1100
  var import_merge_props = require("@base-ui/react/merge-props");
1108
1101
  var import_use_render = require("@base-ui/react/use-render");
1109
1102
  var import_jsx_runtime10 = require("react/jsx-runtime");
1110
- var Breadcrumb = React8.forwardRef(
1103
+ var Breadcrumb = React9.forwardRef(
1111
1104
  ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1112
1105
  "nav",
1113
1106
  {
@@ -1120,7 +1113,7 @@ var Breadcrumb = React8.forwardRef(
1120
1113
  )
1121
1114
  );
1122
1115
  Breadcrumb.displayName = "Breadcrumb";
1123
- var BreadcrumbList = React8.forwardRef(
1116
+ var BreadcrumbList = React9.forwardRef(
1124
1117
  ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1125
1118
  "ol",
1126
1119
  {
@@ -1135,7 +1128,7 @@ var BreadcrumbList = React8.forwardRef(
1135
1128
  )
1136
1129
  );
1137
1130
  BreadcrumbList.displayName = "BreadcrumbList";
1138
- var BreadcrumbItem = React8.forwardRef(
1131
+ var BreadcrumbItem = React9.forwardRef(
1139
1132
  ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1140
1133
  "li",
1141
1134
  {
@@ -1147,7 +1140,7 @@ var BreadcrumbItem = React8.forwardRef(
1147
1140
  )
1148
1141
  );
1149
1142
  BreadcrumbItem.displayName = "BreadcrumbItem";
1150
- var BreadcrumbLink = React8.forwardRef(
1143
+ var BreadcrumbLink = React9.forwardRef(
1151
1144
  ({ className, render, ...props }, ref) => (0, import_use_render.useRender)({
1152
1145
  ref,
1153
1146
  defaultTagName: "a",
@@ -1164,7 +1157,7 @@ var BreadcrumbLink = React8.forwardRef(
1164
1157
  })
1165
1158
  );
1166
1159
  BreadcrumbLink.displayName = "BreadcrumbLink";
1167
- var BreadcrumbPage = React8.forwardRef(
1160
+ var BreadcrumbPage = React9.forwardRef(
1168
1161
  ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1169
1162
  "span",
1170
1163
  {
@@ -1179,7 +1172,7 @@ var BreadcrumbPage = React8.forwardRef(
1179
1172
  )
1180
1173
  );
1181
1174
  BreadcrumbPage.displayName = "BreadcrumbPage";
1182
- var BreadcrumbSeparator = React8.forwardRef(({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1175
+ var BreadcrumbSeparator = React9.forwardRef(({ children, className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1183
1176
  "li",
1184
1177
  {
1185
1178
  "data-slot": "breadcrumb-separator",
@@ -1192,7 +1185,7 @@ var BreadcrumbSeparator = React8.forwardRef(({ children, className, ...props },
1192
1185
  }
1193
1186
  ));
1194
1187
  BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
1195
- var BreadcrumbEllipsis = React8.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1188
+ var BreadcrumbEllipsis = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1196
1189
  "span",
1197
1190
  {
1198
1191
  "data-slot": "breadcrumb-ellipsis",
@@ -1213,7 +1206,7 @@ var BreadcrumbEllipsis = React8.forwardRef(({ className, ...props }, ref) => /*
1213
1206
  BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
1214
1207
 
1215
1208
  // src/components/ui/tooltip.tsx
1216
- var React9 = __toESM(require("react"));
1209
+ var React10 = __toESM(require("react"));
1217
1210
  var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
1218
1211
  var import_jsx_runtime11 = require("react/jsx-runtime");
1219
1212
  function TooltipProvider({
@@ -1234,7 +1227,7 @@ function Tooltip({ delayDuration, ...props }) {
1234
1227
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TooltipProvider, { delayDuration, children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TooltipPrimitive.Root, { "data-slot": "tooltip", ...props }) });
1235
1228
  }
1236
1229
  Tooltip.displayName = "Tooltip";
1237
- var TooltipTrigger = React9.forwardRef(({ ...props }, ref) => {
1230
+ var TooltipTrigger = React10.forwardRef(({ ...props }, ref) => {
1238
1231
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1239
1232
  TooltipPrimitive.Trigger,
1240
1233
  {
@@ -1245,7 +1238,7 @@ var TooltipTrigger = React9.forwardRef(({ ...props }, ref) => {
1245
1238
  );
1246
1239
  });
1247
1240
  TooltipTrigger.displayName = "TooltipTrigger";
1248
- var TooltipContent = React9.forwardRef(({ className, sideOffset = 2, children, ...props }, ref) => {
1241
+ var TooltipContent = React10.forwardRef(({ className, sideOffset = 2, children, ...props }, ref) => {
1249
1242
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TooltipPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1250
1243
  TooltipPrimitive.Content,
1251
1244
  {
@@ -1267,21 +1260,21 @@ var TooltipContent = React9.forwardRef(({ className, sideOffset = 2, children, .
1267
1260
  TooltipContent.displayName = "TooltipContent";
1268
1261
 
1269
1262
  // src/components/ui/sidebar.tsx
1270
- var React10 = __toESM(require("react"));
1263
+ var React11 = __toESM(require("react"));
1271
1264
  var import_jsx_runtime12 = require("react/jsx-runtime");
1272
1265
  var SIDEBAR_CONSTANTS = {
1273
1266
  WIDTH: "144px",
1274
1267
  WIDTH_ICON: "48px"
1275
1268
  };
1276
- var SidebarContext = React10.createContext(null);
1269
+ var SidebarContext = React11.createContext(null);
1277
1270
  function useSidebar() {
1278
- const context = React10.useContext(SidebarContext);
1271
+ const context = React11.useContext(SidebarContext);
1279
1272
  if (!context) {
1280
1273
  throw new Error("useSidebar must be used within a SidebarProvider.");
1281
1274
  }
1282
1275
  return context;
1283
1276
  }
1284
- var SidebarProvider = React10.forwardRef(
1277
+ var SidebarProvider = React11.forwardRef(
1285
1278
  ({
1286
1279
  defaultOpen = true,
1287
1280
  open: openProp,
@@ -1291,9 +1284,9 @@ var SidebarProvider = React10.forwardRef(
1291
1284
  children,
1292
1285
  ...props
1293
1286
  }, ref) => {
1294
- const [_open, _setOpen] = React10.useState(defaultOpen);
1287
+ const [_open, _setOpen] = React11.useState(defaultOpen);
1295
1288
  const open = openProp ?? _open;
1296
- const setOpen = React10.useCallback(
1289
+ const setOpen = React11.useCallback(
1297
1290
  (value) => {
1298
1291
  const openState = typeof value === "function" ? value(open) : value;
1299
1292
  if (setOpenProp) {
@@ -1304,11 +1297,11 @@ var SidebarProvider = React10.forwardRef(
1304
1297
  },
1305
1298
  [setOpenProp, open]
1306
1299
  );
1307
- const toggleSidebar = React10.useCallback(() => {
1300
+ const toggleSidebar = React11.useCallback(() => {
1308
1301
  return setOpen((open2) => !open2);
1309
1302
  }, [setOpen]);
1310
1303
  const state = open ? "expanded" : "collapsed";
1311
- const contextValue = React10.useMemo(
1304
+ const contextValue = React11.useMemo(
1312
1305
  () => ({
1313
1306
  state,
1314
1307
  open,
@@ -1337,7 +1330,7 @@ var SidebarProvider = React10.forwardRef(
1337
1330
  }
1338
1331
  );
1339
1332
  SidebarProvider.displayName = "SidebarProvider";
1340
- var Sidebar = React10.forwardRef(
1333
+ var Sidebar = React11.forwardRef(
1341
1334
  ({ collapsible = "icon", className, children, ...props }, ref) => {
1342
1335
  const { state } = useSidebar();
1343
1336
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
@@ -1385,7 +1378,7 @@ var Sidebar = React10.forwardRef(
1385
1378
  }
1386
1379
  );
1387
1380
  Sidebar.displayName = "Sidebar";
1388
- var SidebarInset = React10.forwardRef(
1381
+ var SidebarInset = React11.forwardRef(
1389
1382
  ({ className, ...props }, ref) => {
1390
1383
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1391
1384
  "main",
@@ -1401,7 +1394,7 @@ var SidebarInset = React10.forwardRef(
1401
1394
  }
1402
1395
  );
1403
1396
  SidebarInset.displayName = "SidebarInset";
1404
- var SidebarHeader = React10.forwardRef(
1397
+ var SidebarHeader = React11.forwardRef(
1405
1398
  ({ className, ...props }, ref) => {
1406
1399
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1407
1400
  "div",
@@ -1419,7 +1412,7 @@ var SidebarHeader = React10.forwardRef(
1419
1412
  }
1420
1413
  );
1421
1414
  SidebarHeader.displayName = "SidebarHeader";
1422
- var SidebarFooter = React10.forwardRef(
1415
+ var SidebarFooter = React11.forwardRef(
1423
1416
  ({ className, ...props }, ref) => {
1424
1417
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1425
1418
  "div",
@@ -1433,7 +1426,7 @@ var SidebarFooter = React10.forwardRef(
1433
1426
  }
1434
1427
  );
1435
1428
  SidebarFooter.displayName = "SidebarFooter";
1436
- var SidebarContent = React10.forwardRef(
1429
+ var SidebarContent = React11.forwardRef(
1437
1430
  ({ className, ...props }, ref) => {
1438
1431
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1439
1432
  "div",
@@ -1450,7 +1443,7 @@ var SidebarContent = React10.forwardRef(
1450
1443
  }
1451
1444
  );
1452
1445
  SidebarContent.displayName = "SidebarContent";
1453
- var SidebarGroup = React10.forwardRef(
1446
+ var SidebarGroup = React11.forwardRef(
1454
1447
  ({ className, ...props }, ref) => {
1455
1448
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1456
1449
  "div",
@@ -1464,7 +1457,7 @@ var SidebarGroup = React10.forwardRef(
1464
1457
  }
1465
1458
  );
1466
1459
  SidebarGroup.displayName = "SidebarGroup";
1467
- var SidebarGroupContent = React10.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1460
+ var SidebarGroupContent = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1468
1461
  "div",
1469
1462
  {
1470
1463
  ref,
@@ -1474,7 +1467,7 @@ var SidebarGroupContent = React10.forwardRef(({ className, ...props }, ref) => /
1474
1467
  }
1475
1468
  ));
1476
1469
  SidebarGroupContent.displayName = "SidebarGroupContent";
1477
- var SidebarMenu = React10.forwardRef(
1470
+ var SidebarMenu = React11.forwardRef(
1478
1471
  ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1479
1472
  "ul",
1480
1473
  {
@@ -1486,7 +1479,7 @@ var SidebarMenu = React10.forwardRef(
1486
1479
  )
1487
1480
  );
1488
1481
  SidebarMenu.displayName = "SidebarMenu";
1489
- var SidebarMenuItem = React10.forwardRef(
1482
+ var SidebarMenuItem = React11.forwardRef(
1490
1483
  ({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1491
1484
  "li",
1492
1485
  {
@@ -1498,7 +1491,7 @@ var SidebarMenuItem = React10.forwardRef(
1498
1491
  )
1499
1492
  );
1500
1493
  SidebarMenuItem.displayName = "SidebarMenuItem";
1501
- var SidebarMenuButton = React10.forwardRef(({ isActive = false, tooltip, className, children, ...props }, ref) => {
1494
+ var SidebarMenuButton = React11.forwardRef(({ isActive = false, tooltip, className, children, ...props }, ref) => {
1502
1495
  const { state } = useSidebar();
1503
1496
  const button = /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1504
1497
  "button",
@@ -1527,14 +1520,14 @@ var SidebarMenuButton = React10.forwardRef(({ isActive = false, tooltip, classNa
1527
1520
  SidebarMenuButton.displayName = "SidebarMenuButton";
1528
1521
 
1529
1522
  // src/components/ui/date-picker.tsx
1530
- var React12 = __toESM(require("react"));
1523
+ var React13 = __toESM(require("react"));
1531
1524
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
1532
1525
 
1533
1526
  // src/components/ui/input.tsx
1534
- var React11 = __toESM(require("react"));
1527
+ var React12 = __toESM(require("react"));
1535
1528
  var import_jsx_runtime13 = require("react/jsx-runtime");
1536
1529
  var inputBaseStyles = "flex h-10 py-2 w-full border bg-light text-dark focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 transition-colors rounded-md px-3 min-w-80 placeholder:text-secondary read-only:bg-gray read-only:cursor-default read-only:border-transparent read-only:text-secondary read-only:focus-visible:border-transparent border-secondary focus-visible:border-2 focus-visible:border-strong disabled:border-secondary aria-invalid:border-error aria-invalid:focus-visible:border-error";
1537
- var Input = React11.forwardRef(
1530
+ var Input = React12.forwardRef(
1538
1531
  ({
1539
1532
  className,
1540
1533
  style,
@@ -1545,7 +1538,7 @@ var Input = React11.forwardRef(
1545
1538
  readOnly,
1546
1539
  ...props
1547
1540
  }, ref) => {
1548
- const [internalValue, setInternalValue] = React11.useState(value || "");
1541
+ const [internalValue, setInternalValue] = React12.useState(value || "");
1549
1542
  const isControlled = value !== void 0;
1550
1543
  const currentValue = isControlled ? value : internalValue;
1551
1544
  const showClear = showClearProp !== false && currentValue && currentValue.toString().length > 0 && !readOnly;
@@ -1644,7 +1637,7 @@ var formatDateInput = (date) => {
1644
1637
  day: "2-digit"
1645
1638
  });
1646
1639
  };
1647
- var DatePicker = React12.forwardRef(
1640
+ var DatePicker = React13.forwardRef(
1648
1641
  ({
1649
1642
  value,
1650
1643
  onValueChange,
@@ -1663,19 +1656,19 @@ var DatePicker = React12.forwardRef(
1663
1656
  if (isNaN(parsed.getTime())) return void 0;
1664
1657
  return parsed;
1665
1658
  };
1666
- const [selectedDate, setSelectedDate] = React12.useState(
1659
+ const [selectedDate, setSelectedDate] = React13.useState(
1667
1660
  value || parseDate(defaultValue)
1668
1661
  );
1669
- const [currentMonth, setCurrentMonth] = React12.useState(() => {
1662
+ const [currentMonth, setCurrentMonth] = React13.useState(() => {
1670
1663
  const date = value || parseDate(defaultValue) || /* @__PURE__ */ new Date();
1671
1664
  return new Date(date.getFullYear(), date.getMonth());
1672
1665
  });
1673
- const [open, setOpen] = React12.useState(false);
1674
- const [inputValue, setInputValue] = React12.useState(() => {
1666
+ const [open, setOpen] = React13.useState(false);
1667
+ const [inputValue, setInputValue] = React13.useState(() => {
1675
1668
  const initialDate = value || parseDate(defaultValue);
1676
1669
  return initialDate ? formatDateInput(initialDate) : "";
1677
1670
  });
1678
- React12.useEffect(() => {
1671
+ React13.useEffect(() => {
1679
1672
  setSelectedDate(value);
1680
1673
  if (value) {
1681
1674
  setCurrentMonth(new Date(value.getFullYear(), value.getMonth()));
@@ -1686,7 +1679,7 @@ var DatePicker = React12.forwardRef(
1686
1679
  setInputValue("");
1687
1680
  }
1688
1681
  }, [value]);
1689
- React12.useEffect(() => {
1682
+ React13.useEffect(() => {
1690
1683
  if (value) return;
1691
1684
  const parsedDefault = parseDate(defaultValue);
1692
1685
  if (!parsedDefault) return;
@@ -1939,7 +1932,7 @@ var DatePicker = React12.forwardRef(
1939
1932
  DatePicker.displayName = "DatePicker";
1940
1933
 
1941
1934
  // src/components/ui/upload.tsx
1942
- var React13 = __toESM(require("react"));
1935
+ var React14 = __toESM(require("react"));
1943
1936
  var import_class_variance_authority7 = require("class-variance-authority");
1944
1937
  var import_jsx_runtime15 = require("react/jsx-runtime");
1945
1938
  var DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024;
@@ -1965,7 +1958,7 @@ var uploadVariants = (0, import_class_variance_authority7.cva)(
1965
1958
  }
1966
1959
  }
1967
1960
  );
1968
- var Upload = React13.forwardRef(
1961
+ var Upload = React14.forwardRef(
1969
1962
  ({
1970
1963
  className,
1971
1964
  onFileSelect,
@@ -1978,8 +1971,8 @@ var Upload = React13.forwardRef(
1978
1971
  selectedFiles = [],
1979
1972
  ...props
1980
1973
  }, ref) => {
1981
- const fileInputRef = React13.useRef(null);
1982
- const [isDragOver, setIsDragOver] = React13.useState(false);
1974
+ const fileInputRef = React14.useRef(null);
1975
+ const [isDragOver, setIsDragOver] = React14.useState(false);
1983
1976
  const getFileTypeDisplay = () => {
1984
1977
  const typeMap = {
1985
1978
  "application/pdf": "PDF",
@@ -2191,14 +2184,14 @@ var Upload = React13.forwardRef(
2191
2184
  Upload.displayName = "Upload";
2192
2185
 
2193
2186
  // src/components/ui/checkbox.tsx
2194
- var React14 = __toESM(require("react"));
2187
+ var React15 = __toESM(require("react"));
2195
2188
  var CheckboxPrimitive = __toESM(require("@radix-ui/react-checkbox"));
2196
2189
  var import_class_variance_authority8 = require("class-variance-authority");
2197
2190
  var import_jsx_runtime16 = require("react/jsx-runtime");
2198
2191
  var checkboxVariants = (0, import_class_variance_authority8.cva)(
2199
2192
  "peer size-4 shrink-0 rounded-[4px] border bg-light hover:bg-info-subtle transition-colors focus-visible:outline-none focus-visible:border-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-light [&_svg]:pointer-events-none [&_svg]:shrink-0 border-strong focus-visible:border-interactive aria-invalid:border-error aria-invalid:focus-visible:border-error"
2200
2193
  );
2201
- var Checkbox = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2194
+ var Checkbox = React15.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2202
2195
  CheckboxPrimitive.Root,
2203
2196
  {
2204
2197
  ref,
@@ -2210,7 +2203,7 @@ var Checkbox = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__
2210
2203
  Checkbox.displayName = CheckboxPrimitive.Root.displayName;
2211
2204
 
2212
2205
  // src/components/ui/switch.tsx
2213
- var React15 = __toESM(require("react"));
2206
+ var React16 = __toESM(require("react"));
2214
2207
  var import_switch = require("@base-ui/react/switch");
2215
2208
  var import_class_variance_authority9 = require("class-variance-authority");
2216
2209
  var import_jsx_runtime17 = require("react/jsx-runtime");
@@ -2242,7 +2235,7 @@ var switchThumbVariants = (0, import_class_variance_authority9.cva)(
2242
2235
  }
2243
2236
  }
2244
2237
  );
2245
- var Switch = React15.forwardRef(
2238
+ var Switch = React16.forwardRef(
2246
2239
  ({ className, size, ...props }, ref) => {
2247
2240
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2248
2241
  import_switch.Switch.Root,
@@ -2265,22 +2258,18 @@ var Switch = React15.forwardRef(
2265
2258
  Switch.displayName = "Switch";
2266
2259
 
2267
2260
  // src/components/ui/textarea.tsx
2268
- var React16 = __toESM(require("react"));
2261
+ var React17 = __toESM(require("react"));
2269
2262
  var import_jsx_runtime18 = require("react/jsx-runtime");
2270
- var Textarea = React16.forwardRef(
2263
+ var Textarea = React17.forwardRef(
2271
2264
  ({ className, style, ...props }, ref) => {
2272
- const tokenStyles = {
2273
- font: "var(--typography-label-md-regular)",
2274
- ...style
2275
- };
2276
2265
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2277
2266
  "textarea",
2278
2267
  {
2279
2268
  className: cn(
2280
- "flex min-h-[80px] w-full rounded-md border bg-light text-dark px-3 pt-3 pb-2 placeholder:text-secondary focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 transition-colors resize-y border-secondary focus-visible:border-2 focus-visible:border-strong disabled:border-secondary aria-invalid:border-error aria-invalid:focus-visible:border-error",
2269
+ "type-body-sm-regular flex min-h-20 w-full rounded-md border surface-default text-default px-3 pt-3 pb-2 shadow-xs placeholder:text-secondary focus:outline-none disabled:cursor-not-allowed disabled:opacity-30 transition-colors resize-y border-secondary read-only:surface-muted read-only:cursor-default read-only:border-transparent read-only:text-secondary read-only:resize-none focus-visible:ring-2 focus-visible:ring-focus-default focus-visible:border-strong disabled:border-secondary aria-invalid:border-error aria-invalid:focus-visible:ring-3 aria-invalid:focus-visible:ring-focus-error",
2281
2270
  className
2282
2271
  ),
2283
- style: tokenStyles,
2272
+ style,
2284
2273
  ref,
2285
2274
  ...props
2286
2275
  }
@@ -2290,52 +2279,67 @@ var Textarea = React16.forwardRef(
2290
2279
  Textarea.displayName = "Textarea";
2291
2280
 
2292
2281
  // src/components/ui/badge.tsx
2293
- var React17 = __toESM(require("react"));
2282
+ var React18 = __toESM(require("react"));
2294
2283
  var import_class_variance_authority10 = require("class-variance-authority");
2295
2284
  var import_jsx_runtime19 = require("react/jsx-runtime");
2296
2285
  var badgeVariants = (0, import_class_variance_authority10.cva)(
2297
- "inline-flex items-center justify-center gap-1 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
2286
+ "px-2 py-1 inline-flex items-center justify-center gap-1 whitespace-nowrap transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-focus-default",
2298
2287
  {
2299
2288
  variants: {
2300
2289
  variant: {
2301
- primary: "bg-primary text-light",
2302
- secondary: "bg-light text-dark border border-strong",
2303
- accent: "bg-blue-300 text-dark",
2304
- success: "bg-success-subtle text-success",
2305
- warning: "bg-warning-subtle text-warning",
2306
- error: "bg-error-subtle text-error",
2307
- neutral: "bg-neutral-300 text-dark"
2290
+ primary: "interactive-accent interactive-accent-fg type-label-xs-medium",
2291
+ secondary: "interactive-secondary interactive-secondary-fg type-label-xs-medium",
2292
+ outline: "interactive-default interactive-default-fg border border-default type-label-xs-medium",
2293
+ ghost: "interactive-default interactive-default-fg type-label-xs-medium",
2294
+ destructive: "interactive-destructive interactive-destructive-fg type-label-xs-medium focus-visible:ring-3 focus-visible:ring-focus-error"
2295
+ },
2296
+ rounded: {
2297
+ true: "rounded-full",
2298
+ false: "rounded-md"
2308
2299
  }
2309
2300
  },
2310
2301
  defaultVariants: {
2311
- variant: "primary"
2302
+ variant: "primary",
2303
+ rounded: false
2312
2304
  }
2313
2305
  }
2314
2306
  );
2315
- function getBadgeTypographyStyles() {
2316
- return { font: "var(--typography-label-sm-bold)" };
2307
+ function isSingleDisplayCharacter(node) {
2308
+ if (node == null || typeof node === "boolean") return false;
2309
+ if (typeof node === "string" || typeof node === "number") {
2310
+ const trimmed = String(node).trim();
2311
+ return trimmed.length === 1;
2312
+ }
2313
+ if (Array.isArray(node)) {
2314
+ const parts = node.filter((x) => x != null && typeof x !== "boolean");
2315
+ if (parts.length !== 1) return false;
2316
+ return isSingleDisplayCharacter(parts[0]);
2317
+ }
2318
+ if (React18.isValidElement(node)) {
2319
+ return isSingleDisplayCharacter(
2320
+ node.props.children
2321
+ );
2322
+ }
2323
+ return false;
2317
2324
  }
2318
- var Badge = React17.forwardRef(
2319
- ({ className, variant, style, ...props }, ref) => {
2325
+ var Badge = React18.forwardRef(
2326
+ ({ className, variant, rounded, style, children, ...props }, ref) => {
2320
2327
  if (!variant) {
2321
2328
  return null;
2322
2329
  }
2323
- const typographyStyles = getBadgeTypographyStyles();
2324
- const tokenStyles = {
2325
- ...typographyStyles,
2326
- ...style
2327
- };
2330
+ const circle = isSingleDisplayCharacter(children);
2328
2331
  return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2329
2332
  "span",
2330
2333
  {
2331
2334
  className: cn(
2332
- badgeVariants({ variant }),
2333
- "rounded-full px-3 py-1",
2335
+ badgeVariants({ variant, rounded }),
2336
+ circle ? "size-5 shrink-0 p-0" : "",
2334
2337
  className
2335
2338
  ),
2336
- style: tokenStyles,
2339
+ style,
2337
2340
  ref,
2338
- ...props
2341
+ ...props,
2342
+ children
2339
2343
  }
2340
2344
  );
2341
2345
  }
@@ -2343,11 +2347,11 @@ var Badge = React17.forwardRef(
2343
2347
  Badge.displayName = "Badge";
2344
2348
 
2345
2349
  // src/components/pdf-viewer/index.tsx
2346
- var React27 = __toESM(require("react"));
2350
+ var React28 = __toESM(require("react"));
2347
2351
  var import_TextLayer = require("react-pdf/dist/Page/TextLayer.css");
2348
2352
 
2349
2353
  // src/components/pdf-viewer/components/CustomScrollbar.tsx
2350
- var React18 = __toESM(require("react"));
2354
+ var React19 = __toESM(require("react"));
2351
2355
  var import_jsx_runtime20 = require("react/jsx-runtime");
2352
2356
  var scrollbarStyles = `
2353
2357
  .custom-scrollbar-content {
@@ -2416,15 +2420,15 @@ function CustomScrollbar({
2416
2420
  backgroundColor = "#F5F5F5",
2417
2421
  className
2418
2422
  }) {
2419
- const internalContainerRef = React18.useRef(null);
2423
+ const internalContainerRef = React19.useRef(null);
2420
2424
  const containerRef = externalContainerRef || internalContainerRef;
2421
- const wrapperRef = React18.useRef(null);
2422
- const thumbVerticalRef = React18.useRef(null);
2423
- const thumbHorizontalRef = React18.useRef(null);
2424
- const lastScrollPosRef = React18.useRef({ top: 0, left: 0 });
2425
- const scrollTimeoutsRef = React18.useRef({ vertical: null, horizontal: null });
2425
+ const wrapperRef = React19.useRef(null);
2426
+ const thumbVerticalRef = React19.useRef(null);
2427
+ const thumbHorizontalRef = React19.useRef(null);
2428
+ const lastScrollPosRef = React19.useRef({ top: 0, left: 0 });
2429
+ const scrollTimeoutsRef = React19.useRef({ vertical: null, horizontal: null });
2426
2430
  const WHEEL_LINE_HEIGHT_PX = 16;
2427
- const showScrollbar = React18.useCallback(
2431
+ const showScrollbar = React19.useCallback(
2428
2432
  (direction) => {
2429
2433
  const wrapper = wrapperRef.current;
2430
2434
  if (!wrapper) return;
@@ -2438,7 +2442,7 @@ function CustomScrollbar({
2438
2442
  },
2439
2443
  [autoHideDelay]
2440
2444
  );
2441
- const updateScrollbarThumbPosition = React18.useCallback(() => {
2445
+ const updateScrollbarThumbPosition = React19.useCallback(() => {
2442
2446
  const container = containerRef.current;
2443
2447
  const thumbVertical = thumbVerticalRef.current;
2444
2448
  const thumbHorizontal = thumbHorizontalRef.current;
@@ -2476,7 +2480,7 @@ function CustomScrollbar({
2476
2480
  }
2477
2481
  }
2478
2482
  }, [containerRef]);
2479
- React18.useEffect(() => {
2483
+ React19.useEffect(() => {
2480
2484
  const container = containerRef.current;
2481
2485
  if (!container) return;
2482
2486
  lastScrollPosRef.current = {
@@ -2509,7 +2513,7 @@ function CustomScrollbar({
2509
2513
  if (rafId) cancelAnimationFrame(rafId);
2510
2514
  };
2511
2515
  }, [containerRef, showScrollbar, updateScrollbarThumbPosition]);
2512
- React18.useEffect(() => {
2516
+ React19.useEffect(() => {
2513
2517
  const container = containerRef.current;
2514
2518
  if (!container) return;
2515
2519
  const normalizeWheelDelta = (delta, deltaMode, axisSize) => {
@@ -2565,7 +2569,7 @@ function CustomScrollbar({
2565
2569
  container.removeEventListener("wheel", handleWheel);
2566
2570
  };
2567
2571
  }, [containerRef, showScrollbar]);
2568
- React18.useEffect(() => {
2572
+ React19.useEffect(() => {
2569
2573
  const thumbVertical = thumbVerticalRef.current;
2570
2574
  const thumbHorizontal = thumbHorizontalRef.current;
2571
2575
  const container = containerRef.current;
@@ -2625,7 +2629,7 @@ function CustomScrollbar({
2625
2629
  document.removeEventListener("mouseup", handleMouseUp);
2626
2630
  };
2627
2631
  }, [containerRef, showScrollbar]);
2628
- React18.useEffect(() => {
2632
+ React19.useEffect(() => {
2629
2633
  updateScrollbarThumbPosition();
2630
2634
  }, [children, updateScrollbarThumbPosition]);
2631
2635
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
@@ -2661,7 +2665,7 @@ function CustomScrollbar({
2661
2665
  }
2662
2666
 
2663
2667
  // src/components/pdf-viewer/components/PdfControls.tsx
2664
- var React19 = __toESM(require("react"));
2668
+ var React20 = __toESM(require("react"));
2665
2669
 
2666
2670
  // src/components/pdf-viewer/utils/types.ts
2667
2671
  var DEFAULT_BOUNDING_BOX_STYLE = {
@@ -2691,11 +2695,11 @@ var PdfControls = ({
2691
2695
  const canGoNext = currentPage < totalPages;
2692
2696
  const canZoomIn = zoom < PDF_ZOOM.MAX;
2693
2697
  const canZoomOut = zoom > PDF_ZOOM.MIN;
2694
- const [pageInputValue, setPageInputValue] = React19.useState(
2698
+ const [pageInputValue, setPageInputValue] = React20.useState(
2695
2699
  String(currentPage)
2696
2700
  );
2697
- const isEscapeRef = React19.useRef(false);
2698
- React19.useEffect(() => {
2701
+ const isEscapeRef = React20.useRef(false);
2702
+ React20.useEffect(() => {
2699
2703
  setPageInputValue(String(currentPage));
2700
2704
  }, [currentPage]);
2701
2705
  const handlePageInputChange = (e) => {
@@ -2809,7 +2813,7 @@ var PdfControls = ({
2809
2813
  PdfControls.displayName = "PdfControls";
2810
2814
 
2811
2815
  // src/components/pdf-viewer/components/PdfDocument.tsx
2812
- var React21 = __toESM(require("react"));
2816
+ var React22 = __toESM(require("react"));
2813
2817
  var import_react_pdf = require("react-pdf");
2814
2818
 
2815
2819
  // src/components/pdf-viewer/utils/constants.ts
@@ -2835,7 +2839,7 @@ var INTERSECTION_OBSERVER_CONFIG = {
2835
2839
  };
2836
2840
 
2837
2841
  // src/components/pdf-viewer/components/BoundingBoxOverlay.tsx
2838
- var React20 = __toESM(require("react"));
2842
+ var React21 = __toESM(require("react"));
2839
2843
 
2840
2844
  // src/components/pdf-viewer/utils/boundingBoxUtils.ts
2841
2845
  function clamp01(value) {
@@ -2872,11 +2876,11 @@ var BoundingBoxOverlayInner = ({
2872
2876
  onBoxMouseEnter,
2873
2877
  onBoxMouseLeave
2874
2878
  }) => {
2875
- const validBoxes = React20.useMemo(
2879
+ const validBoxes = React21.useMemo(
2876
2880
  () => boxes.map(normalizeBoundingBox).filter((b) => b !== null),
2877
2881
  [boxes]
2878
2882
  );
2879
- const sortedBoxes = React20.useMemo(
2883
+ const sortedBoxes = React21.useMemo(
2880
2884
  () => [...validBoxes].sort((a, b) => {
2881
2885
  const aHighlighted = highlightedIds.has(a.id);
2882
2886
  const bHighlighted = highlightedIds.has(b.id);
@@ -2935,7 +2939,7 @@ var BoundingBoxOverlayInner = ({
2935
2939
  }
2936
2940
  );
2937
2941
  };
2938
- var BoundingBoxOverlay = React20.memo(BoundingBoxOverlayInner);
2942
+ var BoundingBoxOverlay = React21.memo(BoundingBoxOverlayInner);
2939
2943
  BoundingBoxOverlay.displayName = "BoundingBoxOverlay";
2940
2944
 
2941
2945
  // src/components/pdf-viewer/components/PdfDocument.tsx
@@ -2961,14 +2965,14 @@ var PdfDocument = ({
2961
2965
  onBoxMouseEnter,
2962
2966
  onBoxMouseLeave
2963
2967
  }) => {
2964
- const mountedRef = React21.useRef(true);
2965
- React21.useEffect(() => {
2968
+ const mountedRef = React22.useRef(true);
2969
+ React22.useEffect(() => {
2966
2970
  mountedRef.current = true;
2967
2971
  return () => {
2968
2972
  mountedRef.current = false;
2969
2973
  };
2970
2974
  }, []);
2971
- const boxesByPage = React21.useMemo(() => {
2975
+ const boxesByPage = React22.useMemo(() => {
2972
2976
  const map = /* @__PURE__ */ new Map();
2973
2977
  boundingBoxes?.forEach((box) => {
2974
2978
  const pageBoxes = map.get(box.page) || [];
@@ -2977,7 +2981,7 @@ var PdfDocument = ({
2977
2981
  });
2978
2982
  return map;
2979
2983
  }, [boundingBoxes]);
2980
- const highlightedIdsSet = React21.useMemo(
2984
+ const highlightedIdsSet = React22.useMemo(
2981
2985
  () => new Set(highlightedBoxIds),
2982
2986
  [highlightedBoxIds]
2983
2987
  );
@@ -3200,12 +3204,12 @@ var PdfHeader = ({
3200
3204
  PdfHeader.displayName = "PdfHeader";
3201
3205
 
3202
3206
  // src/components/pdf-viewer/hooks/useContainerWidth.ts
3203
- var React22 = __toESM(require("react"));
3207
+ var React23 = __toESM(require("react"));
3204
3208
  function useContainerWidth(padding = 32) {
3205
- const [containerWidth, setContainerWidth] = React22.useState(0);
3206
- const containerRef = React22.useRef(null);
3207
- const lastWidthRef = React22.useRef(0);
3208
- React22.useEffect(() => {
3209
+ const [containerWidth, setContainerWidth] = React23.useState(0);
3210
+ const containerRef = React23.useRef(null);
3211
+ const lastWidthRef = React23.useRef(0);
3212
+ React23.useEffect(() => {
3209
3213
  const element = containerRef.current;
3210
3214
  if (!element) return;
3211
3215
  const resizeObserver = new ResizeObserver((entries) => {
@@ -3229,9 +3233,9 @@ function useContainerWidth(padding = 32) {
3229
3233
  }
3230
3234
 
3231
3235
  // src/components/pdf-viewer/hooks/usePdfDownload.ts
3232
- var React23 = __toESM(require("react"));
3236
+ var React24 = __toESM(require("react"));
3233
3237
  function usePdfDownload(file, title) {
3234
- const download = React23.useCallback(async () => {
3238
+ const download = React24.useCallback(async () => {
3235
3239
  if (!file) return;
3236
3240
  try {
3237
3241
  let blob;
@@ -3263,11 +3267,11 @@ function usePdfDownload(file, title) {
3263
3267
  }
3264
3268
 
3265
3269
  // src/components/pdf-viewer/hooks/usePdfPrint.ts
3266
- var React24 = __toESM(require("react"));
3270
+ var React25 = __toESM(require("react"));
3267
3271
  function usePdfPrint(file) {
3268
- const [printBlobUrl, setPrintBlobUrl] = React24.useState(null);
3269
- const printFrameRef = React24.useRef(null);
3270
- const preparePrint = React24.useCallback(async () => {
3272
+ const [printBlobUrl, setPrintBlobUrl] = React25.useState(null);
3273
+ const printFrameRef = React25.useRef(null);
3274
+ const preparePrint = React25.useCallback(async () => {
3271
3275
  if (!file) return;
3272
3276
  try {
3273
3277
  let blob;
@@ -3283,14 +3287,14 @@ function usePdfPrint(file) {
3283
3287
  console.error("Failed to prepare PDF for printing:", error);
3284
3288
  }
3285
3289
  }, [file]);
3286
- React24.useEffect(() => {
3290
+ React25.useEffect(() => {
3287
3291
  return () => {
3288
3292
  if (printBlobUrl) {
3289
3293
  URL.revokeObjectURL(printBlobUrl);
3290
3294
  }
3291
3295
  };
3292
3296
  }, [printBlobUrl]);
3293
- const print = React24.useCallback(() => {
3297
+ const print = React25.useCallback(() => {
3294
3298
  if (printFrameRef.current?.contentWindow) {
3295
3299
  printFrameRef.current.contentWindow.print();
3296
3300
  }
@@ -3299,7 +3303,7 @@ function usePdfPrint(file) {
3299
3303
  }
3300
3304
 
3301
3305
  // src/components/pdf-viewer/hooks/usePdfScroll.ts
3302
- var React25 = __toESM(require("react"));
3306
+ var React26 = __toESM(require("react"));
3303
3307
  function usePdfScroll({
3304
3308
  containerRef,
3305
3309
  numPages,
@@ -3310,30 +3314,30 @@ function usePdfScroll({
3310
3314
  effectiveWidth,
3311
3315
  viewportBuffer
3312
3316
  }) {
3313
- const [internalPage, setInternalPage] = React25.useState(1);
3317
+ const [internalPage, setInternalPage] = React26.useState(1);
3314
3318
  const isControlled = scrollTo !== void 0;
3315
3319
  const currentPage = isControlled ? scrollTo.page : internalPage;
3316
- const scrollOperationRef = React25.useRef({
3320
+ const scrollOperationRef = React26.useRef({
3317
3321
  isProgrammatic: false,
3318
3322
  targetPage: null,
3319
3323
  lastReportedPage: 1,
3320
3324
  notifyOnComplete: false
3321
3325
  });
3322
- const [visibleRange, setVisibleRange] = React25.useState({
3326
+ const [visibleRange, setVisibleRange] = React26.useState({
3323
3327
  start: 1,
3324
3328
  end: Math.min(1 + viewportBuffer, numPages || 1 + viewportBuffer)
3325
3329
  });
3326
- const visiblePages = React25.useMemo(() => {
3330
+ const visiblePages = React26.useMemo(() => {
3327
3331
  const pages = /* @__PURE__ */ new Set();
3328
3332
  for (let i = visibleRange.start; i <= visibleRange.end; i++) {
3329
3333
  pages.add(i);
3330
3334
  }
3331
3335
  return pages;
3332
3336
  }, [visibleRange.start, visibleRange.end]);
3333
- const observerRef = React25.useRef(null);
3334
- const intersectionRatiosRef = React25.useRef(/* @__PURE__ */ new Map());
3335
- const pageRefsMapRef = React25.useRef(/* @__PURE__ */ new Map());
3336
- const cumulativeOffsets = React25.useMemo(() => {
3337
+ const observerRef = React26.useRef(null);
3338
+ const intersectionRatiosRef = React26.useRef(/* @__PURE__ */ new Map());
3339
+ const pageRefsMapRef = React26.useRef(/* @__PURE__ */ new Map());
3340
+ const cumulativeOffsets = React26.useMemo(() => {
3337
3341
  if (!pageDimensions?.size) return null;
3338
3342
  const offsets = [CONTAINER_PADDING];
3339
3343
  let cumulative = CONTAINER_PADDING;
@@ -3345,7 +3349,7 @@ function usePdfScroll({
3345
3349
  }
3346
3350
  return offsets;
3347
3351
  }, [pageDimensions, effectiveWidth]);
3348
- const calculatePageOffset = React25.useCallback(
3352
+ const calculatePageOffset = React26.useCallback(
3349
3353
  (pageNum) => {
3350
3354
  if (cumulativeOffsets && pageNum <= cumulativeOffsets.length) {
3351
3355
  return cumulativeOffsets[pageNum - 1];
@@ -3360,11 +3364,11 @@ function usePdfScroll({
3360
3364
  },
3361
3365
  [cumulativeOffsets, pageDimensions, effectiveWidth]
3362
3366
  );
3363
- const onPageChangeRef = React25.useRef(onPageChange);
3364
- React25.useEffect(() => {
3367
+ const onPageChangeRef = React26.useRef(onPageChange);
3368
+ React26.useEffect(() => {
3365
3369
  onPageChangeRef.current = onPageChange;
3366
3370
  }, [onPageChange]);
3367
- const updatePage = React25.useCallback(
3371
+ const updatePage = React26.useCallback(
3368
3372
  (pageNum) => {
3369
3373
  scrollOperationRef.current.lastReportedPage = pageNum;
3370
3374
  if (isControlled) {
@@ -3376,7 +3380,7 @@ function usePdfScroll({
3376
3380
  [isControlled]
3377
3381
  // Removed onPageChange - now uses ref
3378
3382
  );
3379
- const onProgrammaticScrollComplete = React25.useCallback((pageNum) => {
3383
+ const onProgrammaticScrollComplete = React26.useCallback((pageNum) => {
3380
3384
  const shouldNotify = scrollOperationRef.current.notifyOnComplete;
3381
3385
  scrollOperationRef.current.isProgrammatic = false;
3382
3386
  scrollOperationRef.current.targetPage = null;
@@ -3386,7 +3390,7 @@ function usePdfScroll({
3386
3390
  onPageChangeRef.current?.(pageNum);
3387
3391
  }
3388
3392
  }, []);
3389
- const scrollToPage = React25.useCallback(
3393
+ const scrollToPage = React26.useCallback(
3390
3394
  (pageNum) => {
3391
3395
  const container = containerRef.current;
3392
3396
  if (!container || !pageDimensions?.size) return;
@@ -3417,7 +3421,7 @@ function usePdfScroll({
3417
3421
  onProgrammaticScrollComplete
3418
3422
  ]
3419
3423
  );
3420
- const scrollToPosition = React25.useCallback(
3424
+ const scrollToPosition = React26.useCallback(
3421
3425
  (target) => {
3422
3426
  const container = containerRef.current;
3423
3427
  if (!container || !pageDimensions?.size) return;
@@ -3458,7 +3462,7 @@ function usePdfScroll({
3458
3462
  onProgrammaticScrollComplete
3459
3463
  ]
3460
3464
  );
3461
- const handlePageChange = React25.useCallback(
3465
+ const handlePageChange = React26.useCallback(
3462
3466
  (pageNum) => {
3463
3467
  const clampedPage = Math.max(1, Math.min(pageNum, numPages));
3464
3468
  scrollOperationRef.current.lastReportedPage = clampedPage;
@@ -3472,12 +3476,12 @@ function usePdfScroll({
3472
3476
  },
3473
3477
  [numPages, scrollToPage, isControlled, onPageChange]
3474
3478
  );
3475
- const updatePageRef = React25.useRef(updatePage);
3476
- React25.useEffect(() => {
3479
+ const updatePageRef = React26.useRef(updatePage);
3480
+ React26.useEffect(() => {
3477
3481
  updatePageRef.current = updatePage;
3478
3482
  }, [updatePage]);
3479
- const lastBufferRef = React25.useRef({ start: 1, end: 1 + viewportBuffer });
3480
- React25.useEffect(() => {
3483
+ const lastBufferRef = React26.useRef({ start: 1, end: 1 + viewportBuffer });
3484
+ React26.useEffect(() => {
3481
3485
  const container = containerRef.current;
3482
3486
  if (!container) return;
3483
3487
  const observer = new IntersectionObserver(
@@ -3537,7 +3541,7 @@ function usePdfScroll({
3537
3541
  ratiosMap.clear();
3538
3542
  };
3539
3543
  }, [containerRef, numPages, viewportBuffer]);
3540
- const observePage = React25.useCallback(
3544
+ const observePage = React26.useCallback(
3541
3545
  (pageNum, element) => {
3542
3546
  const prevElement = pageRefsMapRef.current.get(pageNum);
3543
3547
  if (element) {
@@ -3558,7 +3562,7 @@ function usePdfScroll({
3558
3562
  },
3559
3563
  []
3560
3564
  );
3561
- React25.useEffect(() => {
3565
+ React26.useEffect(() => {
3562
3566
  const container = containerRef.current;
3563
3567
  if (!container) return;
3564
3568
  const handleUserScroll = () => {
@@ -3616,9 +3620,9 @@ function usePdfScroll({
3616
3620
  }
3617
3621
  };
3618
3622
  }, [containerRef, onProgrammaticScrollComplete]);
3619
- const lastScrollTargetRef = React25.useRef(null);
3620
- const prevEffectiveWidthRef = React25.useRef(effectiveWidth);
3621
- React25.useEffect(() => {
3623
+ const lastScrollTargetRef = React26.useRef(null);
3624
+ const prevEffectiveWidthRef = React26.useRef(effectiveWidth);
3625
+ React26.useEffect(() => {
3622
3626
  if (prevEffectiveWidthRef.current !== effectiveWidth) {
3623
3627
  prevEffectiveWidthRef.current = effectiveWidth;
3624
3628
  const lastScrollTarget = lastScrollTargetRef.current;
@@ -3627,7 +3631,7 @@ function usePdfScroll({
3627
3631
  }
3628
3632
  }
3629
3633
  }, [effectiveWidth]);
3630
- React25.useEffect(() => {
3634
+ React26.useEffect(() => {
3631
3635
  if (!isControlled || !scrollTo || numPages <= 0) return;
3632
3636
  if (!pageDimensions?.size) return;
3633
3637
  const lastScrollTarget = lastScrollTargetRef.current;
@@ -3660,7 +3664,7 @@ function usePdfScroll({
3660
3664
  pageDimensions,
3661
3665
  effectiveWidth
3662
3666
  ]);
3663
- React25.useEffect(() => {
3667
+ React26.useEffect(() => {
3664
3668
  const pageRefs = pageRefsMapRef.current;
3665
3669
  const ratios = intersectionRatiosRef.current;
3666
3670
  for (const pageNum of pageRefs.keys()) {
@@ -3684,14 +3688,14 @@ function usePdfScroll({
3684
3688
  }
3685
3689
 
3686
3690
  // src/components/pdf-viewer/hooks/useZoomControl.ts
3687
- var React26 = __toESM(require("react"));
3691
+ var React27 = __toESM(require("react"));
3688
3692
  function useZoomControl({
3689
3693
  containerRef,
3690
3694
  initialZoom = PDF_ZOOM.DEFAULT
3691
3695
  }) {
3692
- const [zoom, setZoom] = React26.useState(initialZoom);
3693
- const scrollRatioRef = React26.useRef({ x: 0.5, y: 0 });
3694
- const handleZoomChange = React26.useCallback(
3696
+ const [zoom, setZoom] = React27.useState(initialZoom);
3697
+ const scrollRatioRef = React27.useRef({ x: 0.5, y: 0 });
3698
+ const handleZoomChange = React27.useCallback(
3695
3699
  (newZoom) => {
3696
3700
  const container = containerRef.current;
3697
3701
  if (container) {
@@ -3712,7 +3716,7 @@ function useZoomControl({
3712
3716
  },
3713
3717
  [containerRef]
3714
3718
  );
3715
- React26.useEffect(() => {
3719
+ React27.useEffect(() => {
3716
3720
  const container = containerRef.current;
3717
3721
  if (!container) return;
3718
3722
  requestAnimationFrame(() => {
@@ -3739,7 +3743,7 @@ function initializePdfWorker(workerUrl) {
3739
3743
  // src/components/pdf-viewer/index.tsx
3740
3744
  var import_jsx_runtime25 = require("react/jsx-runtime");
3741
3745
  var DEFAULT_VIEWPORT_BUFFER = 1;
3742
- var PdfViewer = React27.forwardRef(
3746
+ var PdfViewer = React28.forwardRef(
3743
3747
  ({
3744
3748
  file,
3745
3749
  title,
@@ -3766,15 +3770,15 @@ var PdfViewer = React27.forwardRef(
3766
3770
  className,
3767
3771
  ...props
3768
3772
  }, ref) => {
3769
- const [numPages, setNumPages] = React27.useState(0);
3770
- const [pageDimensions, setPageDimensions] = React27.useState(null);
3773
+ const [numPages, setNumPages] = React28.useState(0);
3774
+ const [pageDimensions, setPageDimensions] = React28.useState(null);
3771
3775
  const { containerWidth, containerRef } = useContainerWidth();
3772
3776
  const { zoom, handleZoomChange } = useZoomControl({ containerRef });
3773
3777
  const { printFrameRef, printBlobUrl, preparePrint, print } = usePdfPrint(file);
3774
3778
  const download = usePdfDownload(file, title);
3775
3779
  const baseWidth = Math.min(pageWidth || containerWidth, 800);
3776
3780
  const effectiveWidth = Math.round(baseWidth * (zoom / 100));
3777
- const handleDimensionsLoaded = React27.useCallback(
3781
+ const handleDimensionsLoaded = React28.useCallback(
3778
3782
  (dimensions) => {
3779
3783
  setPageDimensions(dimensions);
3780
3784
  onDimensionsReady?.(dimensions);
@@ -3791,7 +3795,7 @@ var PdfViewer = React27.forwardRef(
3791
3795
  effectiveWidth,
3792
3796
  viewportBuffer
3793
3797
  });
3794
- const handleLoadSuccess = React27.useCallback(
3798
+ const handleLoadSuccess = React28.useCallback(
3795
3799
  async (pages) => {
3796
3800
  setNumPages(pages);
3797
3801
  onLoadSuccess?.(pages);
@@ -3799,14 +3803,14 @@ var PdfViewer = React27.forwardRef(
3799
3803
  },
3800
3804
  [onLoadSuccess, preparePrint]
3801
3805
  );
3802
- const handleDownload = React27.useCallback(() => {
3806
+ const handleDownload = React28.useCallback(() => {
3803
3807
  if (onDownload) {
3804
3808
  onDownload();
3805
3809
  return;
3806
3810
  }
3807
3811
  download();
3808
3812
  }, [onDownload, download]);
3809
- const handlePrint = React27.useCallback(() => {
3813
+ const handlePrint = React28.useCallback(() => {
3810
3814
  if (onPrint) {
3811
3815
  onPrint();
3812
3816
  return;
@@ -3883,7 +3887,7 @@ var PdfViewer = React27.forwardRef(
3883
3887
  PdfViewer.displayName = "PdfViewer";
3884
3888
 
3885
3889
  // src/components/ui/tabs.tsx
3886
- var React28 = __toESM(require("react"));
3890
+ var React29 = __toESM(require("react"));
3887
3891
  var import_class_variance_authority11 = require("class-variance-authority");
3888
3892
  var import_jsx_runtime26 = require("react/jsx-runtime");
3889
3893
  var tabsVariants = (0, import_class_variance_authority11.cva)(
@@ -3899,17 +3903,17 @@ var tabsVariants = (0, import_class_variance_authority11.cva)(
3899
3903
  }
3900
3904
  }
3901
3905
  );
3902
- var TabsContext = React28.createContext(
3906
+ var TabsContext = React29.createContext(
3903
3907
  void 0
3904
3908
  );
3905
3909
  function useTabsContext() {
3906
- const context = React28.useContext(TabsContext);
3910
+ const context = React29.useContext(TabsContext);
3907
3911
  if (!context) {
3908
3912
  throw new Error("Tabs components must be used within a Tabs provider");
3909
3913
  }
3910
3914
  return context;
3911
3915
  }
3912
- var Tabs = React28.forwardRef((props, ref) => {
3916
+ var Tabs = React29.forwardRef((props, ref) => {
3913
3917
  const {
3914
3918
  className,
3915
3919
  value,
@@ -3918,7 +3922,7 @@ var Tabs = React28.forwardRef((props, ref) => {
3918
3922
  children,
3919
3923
  ...restProps
3920
3924
  } = props;
3921
- const contextValue = React28.useMemo(
3925
+ const contextValue = React29.useMemo(
3922
3926
  () => ({
3923
3927
  activeTab: value,
3924
3928
  setActiveTab: onValueChange,
@@ -3929,7 +3933,7 @@ var Tabs = React28.forwardRef((props, ref) => {
3929
3933
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TabsContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { ref, className: cn("w-full", className), ...restProps, children }) });
3930
3934
  });
3931
3935
  Tabs.displayName = "Tabs";
3932
- var TabsList = React28.forwardRef(
3936
+ var TabsList = React29.forwardRef(
3933
3937
  (props, ref) => {
3934
3938
  const { className, children, ...restProps } = props;
3935
3939
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
@@ -3948,7 +3952,7 @@ TabsList.displayName = "TabsList";
3948
3952
  var getTabTypographyStyles = (isActive) => ({
3949
3953
  font: isActive ? "var(--typography-label-sm-bold)" : "var(--typography-label-sm-regular)"
3950
3954
  });
3951
- var TabsTrigger = React28.forwardRef(
3955
+ var TabsTrigger = React29.forwardRef(
3952
3956
  (props, ref) => {
3953
3957
  const { className, value, disabled, style, children, ...restProps } = props;
3954
3958
  const { activeTab, setActiveTab, variant } = useTabsContext();
@@ -3956,18 +3960,18 @@ var TabsTrigger = React28.forwardRef(
3956
3960
  throw new Error("TabsTrigger must have a value prop");
3957
3961
  }
3958
3962
  const isActive = activeTab === value;
3959
- const tokenStyles = React28.useMemo(
3963
+ const tokenStyles = React29.useMemo(
3960
3964
  () => ({
3961
3965
  ...getTabTypographyStyles(isActive),
3962
3966
  ...style
3963
3967
  }),
3964
3968
  [isActive, style]
3965
3969
  );
3966
- const triggerClassName = React28.useMemo(
3970
+ const triggerClassName = React29.useMemo(
3967
3971
  () => cn(tabsVariants({ variant }), className),
3968
3972
  [variant, className]
3969
3973
  );
3970
- const handleClick = React28.useCallback(() => {
3974
+ const handleClick = React29.useCallback(() => {
3971
3975
  if (disabled) return;
3972
3976
  setActiveTab(value);
3973
3977
  }, [disabled, setActiveTab, value]);
@@ -3991,7 +3995,7 @@ var TabsTrigger = React28.forwardRef(
3991
3995
  }
3992
3996
  );
3993
3997
  TabsTrigger.displayName = "TabsTrigger";
3994
- var TabsContent = React28.forwardRef(
3998
+ var TabsContent = React29.forwardRef(
3995
3999
  (props, ref) => {
3996
4000
  const { className, value, children, ...restProps } = props;
3997
4001
  const { activeTab } = useTabsContext();
@@ -4020,11 +4024,11 @@ var TabsContent = React28.forwardRef(
4020
4024
  TabsContent.displayName = "TabsContent";
4021
4025
 
4022
4026
  // src/components/ui/dropdown-menu.tsx
4023
- var React29 = __toESM(require("react"));
4027
+ var React30 = __toESM(require("react"));
4024
4028
  var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
4025
4029
  var import_jsx_runtime27 = require("react/jsx-runtime");
4026
4030
  var DropdownMenu = DropdownMenuPrimitive.Root;
4027
- var DropdownMenuTrigger = React29.forwardRef(({ className, icon, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4031
+ var DropdownMenuTrigger = React30.forwardRef(({ className, icon, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4028
4032
  DropdownMenuPrimitive.Trigger,
4029
4033
  {
4030
4034
  ref,
@@ -4044,7 +4048,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
4044
4048
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
4045
4049
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
4046
4050
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
4047
- var DropdownMenuSubTrigger = React29.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4051
+ var DropdownMenuSubTrigger = React30.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4048
4052
  DropdownMenuPrimitive.SubTrigger,
4049
4053
  {
4050
4054
  ref,
@@ -4062,7 +4066,7 @@ var DropdownMenuSubTrigger = React29.forwardRef(({ className, inset, children, .
4062
4066
  }
4063
4067
  ));
4064
4068
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
4065
- var DropdownMenuSubContent = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4069
+ var DropdownMenuSubContent = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4066
4070
  DropdownMenuPrimitive.SubContent,
4067
4071
  {
4068
4072
  ref,
@@ -4074,7 +4078,7 @@ var DropdownMenuSubContent = React29.forwardRef(({ className, ...props }, ref) =
4074
4078
  }
4075
4079
  ));
4076
4080
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
4077
- var DropdownMenuContent = React29.forwardRef(({ className, sideOffset = 4, align = "end", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4081
+ var DropdownMenuContent = React30.forwardRef(({ className, sideOffset = 4, align = "end", ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4078
4082
  DropdownMenuPrimitive.Content,
4079
4083
  {
4080
4084
  ref,
@@ -4088,7 +4092,7 @@ var DropdownMenuContent = React29.forwardRef(({ className, sideOffset = 4, align
4088
4092
  }
4089
4093
  ) }));
4090
4094
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
4091
- var DropdownMenuItem = React29.forwardRef(({ className, inset, style, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4095
+ var DropdownMenuItem = React30.forwardRef(({ className, inset, style, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4092
4096
  DropdownMenuPrimitive.Item,
4093
4097
  {
4094
4098
  ref,
@@ -4105,7 +4109,7 @@ var DropdownMenuItem = React29.forwardRef(({ className, inset, style, ...props }
4105
4109
  }
4106
4110
  ));
4107
4111
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
4108
- var DropdownMenuCheckboxItem = React29.forwardRef(({ className, children, style, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4112
+ var DropdownMenuCheckboxItem = React30.forwardRef(({ className, children, style, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4109
4113
  DropdownMenuPrimitive.CheckboxItem,
4110
4114
  {
4111
4115
  ref,
@@ -4133,7 +4137,7 @@ var DropdownMenuCheckboxItem = React29.forwardRef(({ className, children, style,
4133
4137
  }
4134
4138
  ));
4135
4139
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
4136
- var DropdownMenuRadioItem = React29.forwardRef(({ className, children, style, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4140
+ var DropdownMenuRadioItem = React30.forwardRef(({ className, children, style, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
4137
4141
  DropdownMenuPrimitive.RadioItem,
4138
4142
  {
4139
4143
  ref,
@@ -4153,7 +4157,7 @@ var DropdownMenuRadioItem = React29.forwardRef(({ className, children, style, ..
4153
4157
  }
4154
4158
  ));
4155
4159
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
4156
- var DropdownMenuLabel = React29.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4160
+ var DropdownMenuLabel = React30.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4157
4161
  DropdownMenuPrimitive.Label,
4158
4162
  {
4159
4163
  ref,
@@ -4166,7 +4170,7 @@ var DropdownMenuLabel = React29.forwardRef(({ className, inset, ...props }, ref)
4166
4170
  }
4167
4171
  ));
4168
4172
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
4169
- var DropdownMenuSeparator = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4173
+ var DropdownMenuSeparator = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
4170
4174
  DropdownMenuPrimitive.Separator,
4171
4175
  {
4172
4176
  ref,