@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.
- package/dist/index.cjs +155 -141
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +155 -141
- package/dist/index.js.map +1 -1
- package/dist/ui/alert.d.cts +1 -1
- package/dist/ui/alert.d.ts +1 -1
- package/dist/ui/combobox.cjs +1 -1
- package/dist/ui/combobox.cjs.map +1 -1
- package/dist/ui/combobox.js +1 -1
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/command.cjs +1 -1
- package/dist/ui/command.cjs.map +1 -1
- package/dist/ui/command.d.cts +7 -7
- package/dist/ui/command.d.ts +7 -7
- package/dist/ui/command.js +1 -1
- package/dist/ui/command.js.map +1 -1
- package/dist/ui/context-menu.cjs +1 -1
- package/dist/ui/context-menu.cjs.map +1 -1
- package/dist/ui/context-menu.js +1 -1
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/input-otp.d.cts +2 -2
- package/dist/ui/input-otp.d.ts +2 -2
- package/dist/ui/multi-combobox.cjs +149 -135
- package/dist/ui/multi-combobox.cjs.map +1 -1
- package/dist/ui/multi-combobox.js +149 -135
- package/dist/ui/multi-combobox.js.map +1 -1
- package/dist/ui/navigation-menu.cjs +1 -1
- package/dist/ui/navigation-menu.cjs.map +1 -1
- package/dist/ui/navigation-menu.js +1 -1
- package/dist/ui/navigation-menu.js.map +1 -1
- package/dist/ui/resizable.cjs +2 -2
- package/dist/ui/resizable.cjs.map +1 -1
- package/dist/ui/resizable.d.cts +1 -1
- package/dist/ui/resizable.d.ts +1 -1
- package/dist/ui/resizable.js +2 -2
- package/dist/ui/resizable.js.map +1 -1
- package/dist/ui/scroll-area.cjs +1 -1
- package/dist/ui/scroll-area.cjs.map +1 -1
- package/dist/ui/scroll-area.js +1 -1
- package/dist/ui/scroll-area.js.map +1 -1
- package/dist/ui/separator.cjs +1 -1
- package/dist/ui/separator.cjs.map +1 -1
- package/dist/ui/separator.js +1 -1
- package/dist/ui/separator.js.map +1 -1
- package/dist/ui/sidebar.cjs +1 -1
- package/dist/ui/sidebar.cjs.map +1 -1
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/sidebar.js.map +1 -1
- 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-
|
|
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-
|
|
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
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
const
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
|
|
2324
|
-
|
|
2325
|
-
|
|
2326
|
-
|
|
2327
|
-
|
|
2328
|
-
|
|
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: "
|
|
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
|
-
|
|
2414
|
+
option.label,
|
|
2333
2415
|
/* @__PURE__ */ jsx(
|
|
2334
|
-
|
|
2416
|
+
CheckIcon,
|
|
2335
2417
|
{
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
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
|
-
|
|
2347
|
-
))
|
|
2348
|
-
|
|
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
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
2830
|
+
"shrink-0 bg-card",
|
|
2817
2831
|
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
2818
2832
|
className
|
|
2819
2833
|
),
|