@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.js CHANGED
@@ -1131,7 +1131,7 @@ var CommandSeparator = React36.forwardRef(({ className, ...props }, ref) => /* @
1131
1131
  Command$1.Separator,
1132
1132
  {
1133
1133
  ref,
1134
- className: cn("-mx-1 h-px bg-border", className),
1134
+ className: cn("-mx-1 h-px bg-card", className),
1135
1135
  ...props
1136
1136
  }
1137
1137
  ));
@@ -1370,7 +1370,7 @@ var ContextMenuSeparator = React36.forwardRef(({ className, ...props }, ref) =>
1370
1370
  ContextMenuPrimitive.Separator,
1371
1371
  {
1372
1372
  ref,
1373
- className: cn("-mx-1 my-1 h-px bg-border", className),
1373
+ className: cn("-mx-1 my-1 h-px bg-card", className),
1374
1374
  ...props
1375
1375
  }
1376
1376
  ));
@@ -2275,149 +2275,163 @@ var MenubarShortcut = ({
2275
2275
  );
2276
2276
  };
2277
2277
  MenubarShortcut.displayname = "MenubarShortcut";
2278
- var MultiCombobox = React36.forwardRef(({
2279
- options,
2280
- placeholder = "Select options...",
2281
- searchPlaceholder = "Search...",
2282
- emptyMessage = "No options found.",
2283
- className,
2284
- contentClassName,
2285
- value: controlledValue,
2286
- onValueChange,
2287
- onSelect,
2288
- onCreate,
2289
- maxDisplayedItems = 3,
2290
- asChild,
2291
- children
2292
- }, ref) => {
2293
- const [open, setOpen] = React36.useState(false);
2294
- const [value, setValue] = React36.useState(controlledValue || []);
2295
- const [search, setSearch] = React36.useState("");
2296
- React36.useEffect(() => {
2297
- if (controlledValue !== void 0) {
2298
- setValue(controlledValue);
2299
- }
2300
- }, [controlledValue]);
2301
- const handleSelect = React36.useCallback((currentValue) => {
2302
- const newValue = value.includes(currentValue) ? value.filter((v) => v !== currentValue) : [...value, currentValue];
2303
- setValue(newValue);
2304
- onValueChange?.(newValue);
2305
- onSelect?.(newValue);
2306
- }, [value, onValueChange, onSelect]);
2307
- const handleRemove = React36.useCallback((valueToRemove) => {
2308
- const newValue = value.filter((v) => v !== valueToRemove);
2309
- setValue(newValue);
2310
- onValueChange?.(newValue);
2311
- onSelect?.(newValue);
2312
- }, [value, onValueChange, onSelect]);
2313
- const selectedLabels = React36.useMemo(() => {
2314
- return value.map((v) => options.find((opt) => opt.value === v)?.label).filter(Boolean);
2315
- }, [value, options]);
2316
- return /* @__PURE__ */ jsxs(Popover$1, { open, onOpenChange: setOpen, children: [
2317
- /* @__PURE__ */ jsx(PopoverTrigger$1, { asChild: true, children: asChild ? children : /* @__PURE__ */ jsxs(
2318
- Button,
2319
- {
2320
- variant: "outline",
2321
- role: "combobox",
2322
- "aria-expanded": open,
2323
- className: cn("w-full justify-between", className),
2324
- children: [
2325
- /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-1 items-center", children: [
2326
- value.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-1", children: [
2327
- selectedLabels.slice(0, maxDisplayedItems).map((label, index) => /* @__PURE__ */ jsxs(
2328
- "div",
2278
+ var MultiCombobox = React36.forwardRef(
2279
+ ({
2280
+ options,
2281
+ placeholder = "Select options...",
2282
+ searchPlaceholder = "Search...",
2283
+ emptyMessage = "No options found.",
2284
+ className,
2285
+ contentClassName,
2286
+ value: controlledValue,
2287
+ onValueChange,
2288
+ onSelect,
2289
+ onCreate,
2290
+ maxDisplayedItems = 3,
2291
+ asChild,
2292
+ children
2293
+ }, ref) => {
2294
+ const [open, setOpen] = React36.useState(false);
2295
+ const [value, setValue] = React36.useState(controlledValue || []);
2296
+ const [search, setSearch] = React36.useState("");
2297
+ React36.useEffect(() => {
2298
+ if (controlledValue !== void 0) {
2299
+ setValue(controlledValue);
2300
+ }
2301
+ }, [controlledValue]);
2302
+ const handleSelect = React36.useCallback(
2303
+ (currentValue) => {
2304
+ const newValue = value.includes(currentValue) ? value.filter((v) => v !== currentValue) : [...value, currentValue];
2305
+ setValue(newValue);
2306
+ onValueChange?.(newValue);
2307
+ onSelect?.(newValue);
2308
+ },
2309
+ [value, onValueChange, onSelect]
2310
+ );
2311
+ const handleRemove = React36.useCallback(
2312
+ (valueToRemove) => {
2313
+ const newValue = value.filter((v) => v !== valueToRemove);
2314
+ setValue(newValue);
2315
+ onValueChange?.(newValue);
2316
+ onSelect?.(newValue);
2317
+ },
2318
+ [value, onValueChange, onSelect]
2319
+ );
2320
+ const selectedLabels = React36.useMemo(() => {
2321
+ return value.map((v) => options.find((opt) => opt.value === v)?.label).filter(Boolean);
2322
+ }, [value, options]);
2323
+ return /* @__PURE__ */ jsxs(Popover$1, { open, onOpenChange: setOpen, children: [
2324
+ /* @__PURE__ */ jsx(PopoverTrigger$1, { asChild: true, children: asChild ? children : /* @__PURE__ */ jsxs(
2325
+ Button,
2326
+ {
2327
+ variant: "outline",
2328
+ role: "combobox",
2329
+ "aria-expanded": open,
2330
+ className: cn("w-full justify-between", className),
2331
+ children: [
2332
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-1 items-center", children: [
2333
+ value.length > 0 && /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap gap-1", children: [
2334
+ selectedLabels.slice(0, maxDisplayedItems).map((label, index) => /* @__PURE__ */ jsxs(
2335
+ "div",
2336
+ {
2337
+ className: "flex items-center gap-1 bg-secondary px-2 py-0.5 rounded-md text-sm",
2338
+ children: [
2339
+ /* @__PURE__ */ jsx("span", { children: label }),
2340
+ /* @__PURE__ */ jsx(
2341
+ "div",
2342
+ {
2343
+ onClick: (e) => {
2344
+ e.stopPropagation();
2345
+ handleRemove(value[index]);
2346
+ },
2347
+ className: "hover:bg-secondary-foreground/20 rounded-sm",
2348
+ children: /* @__PURE__ */ jsx(Cross2Icon, { className: "h-3 w-3" })
2349
+ }
2350
+ )
2351
+ ]
2352
+ },
2353
+ index
2354
+ )),
2355
+ selectedLabels.length > maxDisplayedItems && /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
2356
+ "+",
2357
+ selectedLabels.length - maxDisplayedItems,
2358
+ " more"
2359
+ ] })
2360
+ ] }),
2361
+ value.length === 0 && /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground font-normal", children: placeholder })
2362
+ ] }),
2363
+ /* @__PURE__ */ jsx(ChevronDownIcon, { className: "opacity-50" })
2364
+ ]
2365
+ }
2366
+ ) }),
2367
+ /* @__PURE__ */ jsx(
2368
+ PopoverContent,
2369
+ {
2370
+ className: cn("w-full p-0 !rounded-xl border-none", contentClassName),
2371
+ children: /* @__PURE__ */ jsxs(Command, { className: "rounded-xl border", children: [
2372
+ /* @__PURE__ */ jsx(
2373
+ CommandInput,
2374
+ {
2375
+ placeholder: searchPlaceholder,
2376
+ className: "h-9 w-full",
2377
+ value: search,
2378
+ onValueChange: setSearch
2379
+ }
2380
+ ),
2381
+ /* @__PURE__ */ jsxs(CommandList, { children: [
2382
+ /* @__PURE__ */ jsxs(CommandEmpty, { className: "flex flex-col gap-3 px-4 py-5", children: [
2383
+ !!onCreate && search && /* @__PURE__ */ jsxs(
2384
+ Button,
2385
+ {
2386
+ variant: "outline",
2387
+ size: "sm",
2388
+ onClick: () => {
2389
+ setOpen(false);
2390
+ onCreate(search);
2391
+ },
2392
+ children: [
2393
+ /* @__PURE__ */ jsx(PlusIcon, { className: "h-4 w-4" }),
2394
+ /* @__PURE__ */ jsxs("span", { className: "truncate", children: [
2395
+ 'Create "',
2396
+ search,
2397
+ '"'
2398
+ ] })
2399
+ ]
2400
+ }
2401
+ ),
2402
+ /* @__PURE__ */ jsx("span", { className: "text-center text-muted-foreground text-xs", children: "No results found" })
2403
+ ] }),
2404
+ /* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs(
2405
+ CommandItem,
2329
2406
  {
2330
- className: "flex items-center gap-1 bg-secondary px-2 py-0.5 rounded-md text-sm",
2407
+ className: "rounded-xl",
2408
+ keywords: [option.label],
2409
+ value: option.value,
2410
+ onSelect: () => handleSelect(option.value),
2411
+ onKeyUp: (e) => e.key === "Enter" && handleSelect(option.value),
2412
+ onKeyDown: (e) => e.key === "Enter" && handleSelect(option.value),
2331
2413
  children: [
2332
- /* @__PURE__ */ jsx("span", { children: label }),
2414
+ option.label,
2333
2415
  /* @__PURE__ */ jsx(
2334
- "div",
2416
+ CheckIcon,
2335
2417
  {
2336
- onClick: (e) => {
2337
- e.stopPropagation();
2338
- handleRemove(value[index]);
2339
- },
2340
- className: "hover:bg-secondary-foreground/20 rounded-sm",
2341
- children: /* @__PURE__ */ jsx(Cross2Icon, { className: "h-3 w-3" })
2418
+ className: cn(
2419
+ "ml-auto",
2420
+ value.includes(option.value) ? "opacity-100" : "opacity-0"
2421
+ )
2342
2422
  }
2343
2423
  )
2344
2424
  ]
2345
2425
  },
2346
- index
2347
- )),
2348
- selectedLabels.length > maxDisplayedItems && /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
2349
- "+",
2350
- selectedLabels.length - maxDisplayedItems,
2351
- " more"
2352
- ] })
2353
- ] }),
2354
- value.length === 0 && /* @__PURE__ */ jsx("span", { className: "text-sm text-muted-foreground font-normal", children: placeholder })
2355
- ] }),
2356
- /* @__PURE__ */ jsx(ChevronDownIcon, { className: "opacity-50" })
2357
- ]
2358
- }
2359
- ) }),
2360
- /* @__PURE__ */ jsx(PopoverContent, { className: cn("w-full p-0 !rounded-xl border-none", contentClassName), children: /* @__PURE__ */ jsxs(Command, { className: "rounded-xl border", children: [
2361
- /* @__PURE__ */ jsx(
2362
- CommandInput,
2363
- {
2364
- placeholder: searchPlaceholder,
2365
- className: "h-9 w-full",
2366
- value: search,
2367
- onValueChange: setSearch
2426
+ `${option.value}-${option.label}`
2427
+ )) })
2428
+ ] })
2429
+ ] })
2368
2430
  }
2369
- ),
2370
- /* @__PURE__ */ jsxs(CommandList, { children: [
2371
- /* @__PURE__ */ jsxs(CommandEmpty, { className: "flex flex-col gap-3 px-4 py-5", children: [
2372
- !!onCreate && search && /* @__PURE__ */ jsxs(
2373
- Button,
2374
- {
2375
- variant: "outline",
2376
- size: "sm",
2377
- onClick: () => {
2378
- setOpen(false);
2379
- onCreate(search);
2380
- },
2381
- children: [
2382
- /* @__PURE__ */ jsx(PlusIcon, { className: "h-4 w-4" }),
2383
- /* @__PURE__ */ jsxs("span", { className: "truncate", children: [
2384
- 'Create "',
2385
- search,
2386
- '"'
2387
- ] })
2388
- ]
2389
- }
2390
- ),
2391
- /* @__PURE__ */ jsx("span", { className: "text-center text-muted-foreground text-xs", children: "No results found" })
2392
- ] }),
2393
- /* @__PURE__ */ jsx(CommandGroup, { children: options.map((option) => /* @__PURE__ */ jsxs(
2394
- CommandItem,
2395
- {
2396
- className: "rounded-lg",
2397
- keywords: [option.label],
2398
- value: option.value,
2399
- onSelect: () => handleSelect(option.value),
2400
- onKeyUp: (e) => e.key === "Enter" && handleSelect(option.value),
2401
- onKeyDown: (e) => e.key === "Enter" && handleSelect(option.value),
2402
- children: [
2403
- option.label,
2404
- /* @__PURE__ */ jsx(
2405
- CheckIcon,
2406
- {
2407
- className: cn(
2408
- "ml-auto",
2409
- value.includes(option.value) ? "opacity-100" : "opacity-0"
2410
- )
2411
- }
2412
- )
2413
- ]
2414
- },
2415
- option.value
2416
- )) })
2417
- ] })
2418
- ] }) })
2419
- ] });
2420
- });
2431
+ )
2432
+ ] });
2433
+ }
2434
+ );
2421
2435
  MultiCombobox.displayName = "MultiCombobox";
2422
2436
  var NavigationMenu = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
2423
2437
  NavigationMenuPrimitive.Root,
@@ -2505,7 +2519,7 @@ var NavigationMenuIndicator = React36.forwardRef(({ className, ...props }, ref)
2505
2519
  className
2506
2520
  ),
2507
2521
  ...props,
2508
- children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
2522
+ children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-card shadow-md" })
2509
2523
  }
2510
2524
  ));
2511
2525
  NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
@@ -2661,11 +2675,11 @@ var ResizableHandle = ({
2661
2675
  ResizablePrimitive.PanelResizeHandle,
2662
2676
  {
2663
2677
  className: cn(
2664
- "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",
2678
+ "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",
2665
2679
  className
2666
2680
  ),
2667
2681
  ...props,
2668
- children: withHandle && /* @__PURE__ */ jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx(DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
2682
+ children: withHandle && /* @__PURE__ */ jsx("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-card", children: /* @__PURE__ */ jsx(DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
2669
2683
  }
2670
2684
  );
2671
2685
  var ScrollArea = React36.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
@@ -2694,7 +2708,7 @@ var ScrollBar = React36.forwardRef(({ className, orientation = "vertical", ...pr
2694
2708
  className
2695
2709
  ),
2696
2710
  ...props,
2697
- children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
2711
+ children: /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-card" })
2698
2712
  }
2699
2713
  ));
2700
2714
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
@@ -2813,7 +2827,7 @@ var Separator5 = React36.forwardRef(
2813
2827
  decorative,
2814
2828
  orientation,
2815
2829
  className: cn(
2816
- "shrink-0 bg-border",
2830
+ "shrink-0 bg-card",
2817
2831
  orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
2818
2832
  className
2819
2833
  ),