@nuvia/components 1.4.0 → 1.4.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.
Files changed (49) hide show
  1. package/dist/index.cjs +155 -141
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +155 -141
  4. package/dist/index.js.map +1 -1
  5. package/dist/ui/alert.d.cts +1 -1
  6. package/dist/ui/alert.d.ts +1 -1
  7. package/dist/ui/combobox.cjs +1 -1
  8. package/dist/ui/combobox.cjs.map +1 -1
  9. package/dist/ui/combobox.js +1 -1
  10. package/dist/ui/combobox.js.map +1 -1
  11. package/dist/ui/command.cjs +1 -1
  12. package/dist/ui/command.cjs.map +1 -1
  13. package/dist/ui/command.d.cts +7 -7
  14. package/dist/ui/command.d.ts +7 -7
  15. package/dist/ui/command.js +1 -1
  16. package/dist/ui/command.js.map +1 -1
  17. package/dist/ui/context-menu.cjs +1 -1
  18. package/dist/ui/context-menu.cjs.map +1 -1
  19. package/dist/ui/context-menu.js +1 -1
  20. package/dist/ui/context-menu.js.map +1 -1
  21. package/dist/ui/input-otp.d.cts +2 -2
  22. package/dist/ui/input-otp.d.ts +2 -2
  23. package/dist/ui/multi-combobox.cjs +149 -135
  24. package/dist/ui/multi-combobox.cjs.map +1 -1
  25. package/dist/ui/multi-combobox.js +149 -135
  26. package/dist/ui/multi-combobox.js.map +1 -1
  27. package/dist/ui/navigation-menu.cjs +1 -1
  28. package/dist/ui/navigation-menu.cjs.map +1 -1
  29. package/dist/ui/navigation-menu.js +1 -1
  30. package/dist/ui/navigation-menu.js.map +1 -1
  31. package/dist/ui/resizable.cjs +2 -2
  32. package/dist/ui/resizable.cjs.map +1 -1
  33. package/dist/ui/resizable.d.cts +1 -1
  34. package/dist/ui/resizable.d.ts +1 -1
  35. package/dist/ui/resizable.js +2 -2
  36. package/dist/ui/resizable.js.map +1 -1
  37. package/dist/ui/scroll-area.cjs +1 -1
  38. package/dist/ui/scroll-area.cjs.map +1 -1
  39. package/dist/ui/scroll-area.js +1 -1
  40. package/dist/ui/scroll-area.js.map +1 -1
  41. package/dist/ui/separator.cjs +1 -1
  42. package/dist/ui/separator.cjs.map +1 -1
  43. package/dist/ui/separator.js +1 -1
  44. package/dist/ui/separator.js.map +1 -1
  45. package/dist/ui/sidebar.cjs +1 -1
  46. package/dist/ui/sidebar.cjs.map +1 -1
  47. package/dist/ui/sidebar.js +1 -1
  48. package/dist/ui/sidebar.js.map +1 -1
  49. package/package.json +2 -2
package/dist/index.cjs CHANGED
@@ -1182,7 +1182,7 @@ var CommandSeparator = React36__namespace.forwardRef(({ className, ...props }, r
1182
1182
  cmdk.Command.Separator,
1183
1183
  {
1184
1184
  ref,
1185
- className: cn("-mx-1 h-px bg-border", className),
1185
+ className: cn("-mx-1 h-px bg-card", className),
1186
1186
  ...props
1187
1187
  }
1188
1188
  ));
@@ -1421,7 +1421,7 @@ var ContextMenuSeparator = React36__namespace.forwardRef(({ className, ...props
1421
1421
  ContextMenuPrimitive__namespace.Separator,
1422
1422
  {
1423
1423
  ref,
1424
- className: cn("-mx-1 my-1 h-px bg-border", className),
1424
+ className: cn("-mx-1 my-1 h-px bg-card", className),
1425
1425
  ...props
1426
1426
  }
1427
1427
  ));
@@ -2326,149 +2326,163 @@ var MenubarShortcut = ({
2326
2326
  );
2327
2327
  };
2328
2328
  MenubarShortcut.displayname = "MenubarShortcut";
2329
- var MultiCombobox = React36__namespace.forwardRef(({
2330
- options,
2331
- placeholder = "Select options...",
2332
- searchPlaceholder = "Search...",
2333
- emptyMessage = "No options found.",
2334
- className,
2335
- contentClassName,
2336
- value: controlledValue,
2337
- onValueChange,
2338
- onSelect,
2339
- onCreate,
2340
- maxDisplayedItems = 3,
2341
- asChild,
2342
- children
2343
- }, ref) => {
2344
- const [open, setOpen] = React36__namespace.useState(false);
2345
- const [value, setValue] = React36__namespace.useState(controlledValue || []);
2346
- const [search, setSearch] = React36__namespace.useState("");
2347
- React36__namespace.useEffect(() => {
2348
- if (controlledValue !== void 0) {
2349
- setValue(controlledValue);
2350
- }
2351
- }, [controlledValue]);
2352
- const handleSelect = React36__namespace.useCallback((currentValue) => {
2353
- const newValue = value.includes(currentValue) ? value.filter((v) => v !== currentValue) : [...value, currentValue];
2354
- setValue(newValue);
2355
- onValueChange?.(newValue);
2356
- onSelect?.(newValue);
2357
- }, [value, onValueChange, onSelect]);
2358
- const handleRemove = React36__namespace.useCallback((valueToRemove) => {
2359
- const newValue = value.filter((v) => v !== valueToRemove);
2360
- setValue(newValue);
2361
- onValueChange?.(newValue);
2362
- onSelect?.(newValue);
2363
- }, [value, onValueChange, onSelect]);
2364
- const selectedLabels = React36__namespace.useMemo(() => {
2365
- return value.map((v) => options.find((opt) => opt.value === v)?.label).filter(Boolean);
2366
- }, [value, options]);
2367
- return /* @__PURE__ */ jsxRuntime.jsxs(PopoverPrimitive.Popover, { open, onOpenChange: setOpen, children: [
2368
- /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive.PopoverTrigger, { asChild: true, children: asChild ? children : /* @__PURE__ */ jsxRuntime.jsxs(
2369
- Button,
2370
- {
2371
- variant: "outline",
2372
- role: "combobox",
2373
- "aria-expanded": open,
2374
- className: cn("w-full justify-between", className),
2375
- children: [
2376
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-1 items-center", children: [
2377
- value.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-1", children: [
2378
- selectedLabels.slice(0, maxDisplayedItems).map((label, index) => /* @__PURE__ */ jsxRuntime.jsxs(
2379
- "div",
2329
+ var MultiCombobox = React36__namespace.forwardRef(
2330
+ ({
2331
+ options,
2332
+ placeholder = "Select options...",
2333
+ searchPlaceholder = "Search...",
2334
+ emptyMessage = "No options found.",
2335
+ className,
2336
+ contentClassName,
2337
+ value: controlledValue,
2338
+ onValueChange,
2339
+ onSelect,
2340
+ onCreate,
2341
+ maxDisplayedItems = 3,
2342
+ asChild,
2343
+ children
2344
+ }, ref) => {
2345
+ const [open, setOpen] = React36__namespace.useState(false);
2346
+ const [value, setValue] = React36__namespace.useState(controlledValue || []);
2347
+ const [search, setSearch] = React36__namespace.useState("");
2348
+ React36__namespace.useEffect(() => {
2349
+ if (controlledValue !== void 0) {
2350
+ setValue(controlledValue);
2351
+ }
2352
+ }, [controlledValue]);
2353
+ const handleSelect = React36__namespace.useCallback(
2354
+ (currentValue) => {
2355
+ const newValue = value.includes(currentValue) ? value.filter((v) => v !== currentValue) : [...value, currentValue];
2356
+ setValue(newValue);
2357
+ onValueChange?.(newValue);
2358
+ onSelect?.(newValue);
2359
+ },
2360
+ [value, onValueChange, onSelect]
2361
+ );
2362
+ const handleRemove = React36__namespace.useCallback(
2363
+ (valueToRemove) => {
2364
+ const newValue = value.filter((v) => v !== valueToRemove);
2365
+ setValue(newValue);
2366
+ onValueChange?.(newValue);
2367
+ onSelect?.(newValue);
2368
+ },
2369
+ [value, onValueChange, onSelect]
2370
+ );
2371
+ const selectedLabels = React36__namespace.useMemo(() => {
2372
+ return value.map((v) => options.find((opt) => opt.value === v)?.label).filter(Boolean);
2373
+ }, [value, options]);
2374
+ return /* @__PURE__ */ jsxRuntime.jsxs(PopoverPrimitive.Popover, { open, onOpenChange: setOpen, children: [
2375
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive.PopoverTrigger, { asChild: true, children: asChild ? children : /* @__PURE__ */ jsxRuntime.jsxs(
2376
+ Button,
2377
+ {
2378
+ variant: "outline",
2379
+ role: "combobox",
2380
+ "aria-expanded": open,
2381
+ className: cn("w-full justify-between", className),
2382
+ children: [
2383
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-1 items-center", children: [
2384
+ value.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-1", children: [
2385
+ selectedLabels.slice(0, maxDisplayedItems).map((label, index) => /* @__PURE__ */ jsxRuntime.jsxs(
2386
+ "div",
2387
+ {
2388
+ className: "flex items-center gap-1 bg-secondary px-2 py-0.5 rounded-md text-sm",
2389
+ children: [
2390
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
2391
+ /* @__PURE__ */ jsxRuntime.jsx(
2392
+ "div",
2393
+ {
2394
+ onClick: (e) => {
2395
+ e.stopPropagation();
2396
+ handleRemove(value[index]);
2397
+ },
2398
+ className: "hover:bg-secondary-foreground/20 rounded-sm",
2399
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.Cross2Icon, { className: "h-3 w-3" })
2400
+ }
2401
+ )
2402
+ ]
2403
+ },
2404
+ index
2405
+ )),
2406
+ selectedLabels.length > maxDisplayedItems && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
2407
+ "+",
2408
+ selectedLabels.length - maxDisplayedItems,
2409
+ " more"
2410
+ ] })
2411
+ ] }),
2412
+ value.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-normal", children: placeholder })
2413
+ ] }),
2414
+ /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronDownIcon, { className: "opacity-50" })
2415
+ ]
2416
+ }
2417
+ ) }),
2418
+ /* @__PURE__ */ jsxRuntime.jsx(
2419
+ PopoverContent,
2420
+ {
2421
+ className: cn("w-full p-0 !rounded-xl border-none", contentClassName),
2422
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Command, { className: "rounded-xl border", children: [
2423
+ /* @__PURE__ */ jsxRuntime.jsx(
2424
+ CommandInput,
2425
+ {
2426
+ placeholder: searchPlaceholder,
2427
+ className: "h-9 w-full",
2428
+ value: search,
2429
+ onValueChange: setSearch
2430
+ }
2431
+ ),
2432
+ /* @__PURE__ */ jsxRuntime.jsxs(CommandList, { children: [
2433
+ /* @__PURE__ */ jsxRuntime.jsxs(CommandEmpty, { className: "flex flex-col gap-3 px-4 py-5", children: [
2434
+ !!onCreate && search && /* @__PURE__ */ jsxRuntime.jsxs(
2435
+ Button,
2436
+ {
2437
+ variant: "outline",
2438
+ size: "sm",
2439
+ onClick: () => {
2440
+ setOpen(false);
2441
+ onCreate(search);
2442
+ },
2443
+ children: [
2444
+ /* @__PURE__ */ jsxRuntime.jsx(reactIcons.PlusIcon, { className: "h-4 w-4" }),
2445
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate", children: [
2446
+ 'Create "',
2447
+ search,
2448
+ '"'
2449
+ ] })
2450
+ ]
2451
+ }
2452
+ ),
2453
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-center text-muted-foreground text-xs", children: "No results found" })
2454
+ ] }),
2455
+ /* @__PURE__ */ jsxRuntime.jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
2456
+ CommandItem,
2380
2457
  {
2381
- className: "flex items-center gap-1 bg-secondary px-2 py-0.5 rounded-md text-sm",
2458
+ className: "rounded-xl",
2459
+ keywords: [option.label],
2460
+ value: option.value,
2461
+ onSelect: () => handleSelect(option.value),
2462
+ onKeyUp: (e) => e.key === "Enter" && handleSelect(option.value),
2463
+ onKeyDown: (e) => e.key === "Enter" && handleSelect(option.value),
2382
2464
  children: [
2383
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
2465
+ option.label,
2384
2466
  /* @__PURE__ */ jsxRuntime.jsx(
2385
- "div",
2467
+ reactIcons.CheckIcon,
2386
2468
  {
2387
- onClick: (e) => {
2388
- e.stopPropagation();
2389
- handleRemove(value[index]);
2390
- },
2391
- className: "hover:bg-secondary-foreground/20 rounded-sm",
2392
- children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.Cross2Icon, { className: "h-3 w-3" })
2469
+ className: cn(
2470
+ "ml-auto",
2471
+ value.includes(option.value) ? "opacity-100" : "opacity-0"
2472
+ )
2393
2473
  }
2394
2474
  )
2395
2475
  ]
2396
2476
  },
2397
- index
2398
- )),
2399
- selectedLabels.length > maxDisplayedItems && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
2400
- "+",
2401
- selectedLabels.length - maxDisplayedItems,
2402
- " more"
2403
- ] })
2404
- ] }),
2405
- value.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-muted-foreground font-normal", children: placeholder })
2406
- ] }),
2407
- /* @__PURE__ */ jsxRuntime.jsx(reactIcons.ChevronDownIcon, { className: "opacity-50" })
2408
- ]
2409
- }
2410
- ) }),
2411
- /* @__PURE__ */ jsxRuntime.jsx(PopoverContent, { className: cn("w-full p-0 !rounded-xl border-none", contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(Command, { className: "rounded-xl border", children: [
2412
- /* @__PURE__ */ jsxRuntime.jsx(
2413
- CommandInput,
2414
- {
2415
- placeholder: searchPlaceholder,
2416
- className: "h-9 w-full",
2417
- value: search,
2418
- onValueChange: setSearch
2477
+ `${option.value}-${option.label}`
2478
+ )) })
2479
+ ] })
2480
+ ] })
2419
2481
  }
2420
- ),
2421
- /* @__PURE__ */ jsxRuntime.jsxs(CommandList, { children: [
2422
- /* @__PURE__ */ jsxRuntime.jsxs(CommandEmpty, { className: "flex flex-col gap-3 px-4 py-5", children: [
2423
- !!onCreate && search && /* @__PURE__ */ jsxRuntime.jsxs(
2424
- Button,
2425
- {
2426
- variant: "outline",
2427
- size: "sm",
2428
- onClick: () => {
2429
- setOpen(false);
2430
- onCreate(search);
2431
- },
2432
- children: [
2433
- /* @__PURE__ */ jsxRuntime.jsx(reactIcons.PlusIcon, { className: "h-4 w-4" }),
2434
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "truncate", children: [
2435
- 'Create "',
2436
- search,
2437
- '"'
2438
- ] })
2439
- ]
2440
- }
2441
- ),
2442
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-center text-muted-foreground text-xs", children: "No results found" })
2443
- ] }),
2444
- /* @__PURE__ */ jsxRuntime.jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsxs(
2445
- CommandItem,
2446
- {
2447
- className: "rounded-lg",
2448
- keywords: [option.label],
2449
- value: option.value,
2450
- onSelect: () => handleSelect(option.value),
2451
- onKeyUp: (e) => e.key === "Enter" && handleSelect(option.value),
2452
- onKeyDown: (e) => e.key === "Enter" && handleSelect(option.value),
2453
- children: [
2454
- option.label,
2455
- /* @__PURE__ */ jsxRuntime.jsx(
2456
- reactIcons.CheckIcon,
2457
- {
2458
- className: cn(
2459
- "ml-auto",
2460
- value.includes(option.value) ? "opacity-100" : "opacity-0"
2461
- )
2462
- }
2463
- )
2464
- ]
2465
- },
2466
- option.value
2467
- )) })
2468
- ] })
2469
- ] }) })
2470
- ] });
2471
- });
2482
+ )
2483
+ ] });
2484
+ }
2485
+ );
2472
2486
  MultiCombobox.displayName = "MultiCombobox";
2473
2487
  var NavigationMenu = React36__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
2474
2488
  NavigationMenuPrimitive__namespace.Root,
@@ -2556,7 +2570,7 @@ var NavigationMenuIndicator = React36__namespace.forwardRef(({ className, ...pro
2556
2570
  className
2557
2571
  ),
2558
2572
  ...props,
2559
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
2573
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-card shadow-md" })
2560
2574
  }
2561
2575
  ));
2562
2576
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive__namespace.Indicator.displayName;
@@ -2712,11 +2726,11 @@ var ResizableHandle = ({
2712
2726
  ResizablePrimitive__namespace.PanelResizeHandle,
2713
2727
  {
2714
2728
  className: cn(
2715
- "relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
2729
+ "relative flex w-px items-center justify-center bg-card after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90",
2716
2730
  className
2717
2731
  ),
2718
2732
  ...props,
2719
- children: withHandle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
2733
+ children: withHandle && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-card", children: /* @__PURE__ */ jsxRuntime.jsx(reactIcons.DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
2720
2734
  }
2721
2735
  );
2722
2736
  var ScrollArea = React36__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
@@ -2745,7 +2759,7 @@ var ScrollBar = React36__namespace.forwardRef(({ className, orientation = "verti
2745
2759
  className
2746
2760
  ),
2747
2761
  ...props,
2748
- children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
2762
+ children: /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-card" })
2749
2763
  }
2750
2764
  ));
2751
2765
  ScrollBar.displayName = ScrollAreaPrimitive__namespace.ScrollAreaScrollbar.displayName;
@@ -2864,7 +2878,7 @@ var Separator5 = React36__namespace.forwardRef(
2864
2878
  decorative,
2865
2879
  orientation,
2866
2880
  className: cn(
2867
- "shrink-0 bg-border",
2881
+ "shrink-0 bg-card",
2868
2882
  orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
2869
2883
  className
2870
2884
  ),