@nextlyhq/ui 0.0.2-alpha.50 → 0.0.2-alpha.52
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/README.md +4 -2
- package/dist/index.cjs +244 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +312 -8
- package/dist/index.d.ts +312 -8
- package/dist/index.mjs +227 -16
- package/dist/index.mjs.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.scoped.css +1 -1
- package/dist/tailwind-preset.cjs +7 -0
- package/dist/tailwind-preset.cjs.map +1 -1
- package/dist/tailwind-preset.d.cts +4 -0
- package/dist/tailwind-preset.d.ts +4 -0
- package/dist/tailwind-preset.mjs +7 -0
- package/dist/tailwind-preset.mjs.map +1 -1
- package/dist/theme.css +26 -0
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +2 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.mjs.map +1 -1
- package/package.json +6 -4
package/dist/index.mjs
CHANGED
|
@@ -1004,10 +1004,12 @@ var DialogOverlay = forwardRef17(({ className, ...props }, ref) => /* @__PURE__
|
|
|
1004
1004
|
ref,
|
|
1005
1005
|
"data-slot": "dialog-overlay",
|
|
1006
1006
|
className: cn(
|
|
1007
|
-
// A modal scrim
|
|
1008
|
-
//
|
|
1009
|
-
// make it a white veil in light mode
|
|
1010
|
-
|
|
1007
|
+
// A modal scrim, from the `--nx-overlay` token rather than a surface
|
|
1008
|
+
// token. A black wash is the point — painting it from `background` would
|
|
1009
|
+
// make it a white veil in light mode — but the alpha still has to differ
|
|
1010
|
+
// per mode, because what it composites over is white in one and mid-tone
|
|
1011
|
+
// in the other.
|
|
1012
|
+
"fixed inset-0 z-50 bg-overlay backdrop-blur-sm transition-opacity duration-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1011
1013
|
className
|
|
1012
1014
|
),
|
|
1013
1015
|
...props
|
|
@@ -1126,10 +1128,12 @@ var AlertDialogOverlay = forwardRef18(({ className, ...props }, ref) => /* @__PU
|
|
|
1126
1128
|
{
|
|
1127
1129
|
ref,
|
|
1128
1130
|
className: cn(
|
|
1129
|
-
// A modal scrim
|
|
1130
|
-
//
|
|
1131
|
-
// make it a white veil in light mode
|
|
1132
|
-
|
|
1131
|
+
// A modal scrim, from the `--nx-overlay` token rather than a surface
|
|
1132
|
+
// token. A black wash is the point — painting it from `background` would
|
|
1133
|
+
// make it a white veil in light mode — but the alpha still has to differ
|
|
1134
|
+
// per mode, because what it composites over is white in one and mid-tone
|
|
1135
|
+
// in the other.
|
|
1136
|
+
"fixed inset-0 z-50 bg-overlay backdrop-blur-sm transition-opacity duration-150 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1133
1137
|
className
|
|
1134
1138
|
),
|
|
1135
1139
|
...props
|
|
@@ -1551,10 +1555,12 @@ var SheetOverlay = React7.forwardRef(({ className, ...props }, ref) => /* @__PUR
|
|
|
1551
1555
|
DialogPrimitive2.Overlay,
|
|
1552
1556
|
{
|
|
1553
1557
|
className: cn(
|
|
1554
|
-
// A modal scrim
|
|
1555
|
-
//
|
|
1556
|
-
// make it a white veil in light mode
|
|
1557
|
-
|
|
1558
|
+
// A modal scrim, from the `--nx-overlay` token rather than a surface
|
|
1559
|
+
// token. A black wash is the point — painting it from `background` would
|
|
1560
|
+
// make it a white veil in light mode — but the alpha still has to differ
|
|
1561
|
+
// per mode, because what it composites over is white in one and mid-tone
|
|
1562
|
+
// in the other.
|
|
1563
|
+
"fixed inset-0 z-50 bg-overlay backdrop-blur-sm",
|
|
1558
1564
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
1559
1565
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1560
1566
|
className
|
|
@@ -1669,10 +1675,12 @@ var CommandDialogOverlay = forwardRef22(({ className, ...props }, ref) => /* @__
|
|
|
1669
1675
|
{
|
|
1670
1676
|
ref,
|
|
1671
1677
|
className: cn(
|
|
1672
|
-
// A modal scrim
|
|
1673
|
-
//
|
|
1674
|
-
// make it a white veil in light mode
|
|
1675
|
-
|
|
1678
|
+
// A modal scrim, from the `--nx-overlay` token rather than a surface
|
|
1679
|
+
// token. A black wash is the point — painting it from `background` would
|
|
1680
|
+
// make it a white veil in light mode — but the alpha still has to differ
|
|
1681
|
+
// per mode, because what it composites over is white in one and mid-tone
|
|
1682
|
+
// in the other.
|
|
1683
|
+
"fixed inset-0 z-[99] bg-overlay backdrop-blur-sm",
|
|
1676
1684
|
"data-[state=open]:animate-in data-[state=closed]:animate-out",
|
|
1677
1685
|
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1678
1686
|
"transition-opacity duration-200",
|
|
@@ -2123,6 +2131,192 @@ var TableSkeleton = ({
|
|
|
2123
2131
|
return /* @__PURE__ */ jsx33("div", { className: "table-wrapper rounded-md border border-border bg-card overflow-hidden", children: content });
|
|
2124
2132
|
};
|
|
2125
2133
|
TableSkeleton.displayName = "TableSkeleton";
|
|
2134
|
+
|
|
2135
|
+
// src/components/context-menu.tsx
|
|
2136
|
+
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
2137
|
+
import { Check as Check4, ChevronRight as ChevronRight2, Circle as Circle2 } from "lucide-react";
|
|
2138
|
+
import * as React9 from "react";
|
|
2139
|
+
import { jsx as jsx34, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2140
|
+
var menuItemBase2 = "cursor-pointer transition-colors data-[highlighted]:bg-muted data-[highlighted]:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50";
|
|
2141
|
+
var menuSurface = "z-50 max-h-[var(--radix-context-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-lg border border-border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 origin-[--radix-context-menu-content-transform-origin]";
|
|
2142
|
+
var ContextMenu = ContextMenuPrimitive.Root;
|
|
2143
|
+
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
2144
|
+
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
2145
|
+
var ContextMenuSub = ContextMenuPrimitive.Sub;
|
|
2146
|
+
var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
|
|
2147
|
+
var ContextMenuSubTrigger = React9.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
|
|
2148
|
+
ContextMenuPrimitive.SubTrigger,
|
|
2149
|
+
{
|
|
2150
|
+
ref,
|
|
2151
|
+
className: cn(
|
|
2152
|
+
"flex select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-muted [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
2153
|
+
menuItemBase2,
|
|
2154
|
+
inset && "pl-8",
|
|
2155
|
+
className
|
|
2156
|
+
),
|
|
2157
|
+
...props,
|
|
2158
|
+
children: [
|
|
2159
|
+
children,
|
|
2160
|
+
/* @__PURE__ */ jsx34(ChevronRight2, { className: "ml-auto" })
|
|
2161
|
+
]
|
|
2162
|
+
}
|
|
2163
|
+
));
|
|
2164
|
+
ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
|
|
2165
|
+
var ContextMenuSubContent = React9.forwardRef(({ className, ...props }, ref) => {
|
|
2166
|
+
const portalContainer = usePortalContainer();
|
|
2167
|
+
return /* @__PURE__ */ jsx34(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx34(
|
|
2168
|
+
ContextMenuPrimitive.SubContent,
|
|
2169
|
+
{
|
|
2170
|
+
ref,
|
|
2171
|
+
className: cn(menuSurface, className),
|
|
2172
|
+
...props
|
|
2173
|
+
}
|
|
2174
|
+
) });
|
|
2175
|
+
});
|
|
2176
|
+
ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
|
|
2177
|
+
var ContextMenuContent = React9.forwardRef(({ className, ...props }, ref) => {
|
|
2178
|
+
const portalContainer = usePortalContainer();
|
|
2179
|
+
return /* @__PURE__ */ jsx34(ContextMenuPrimitive.Portal, { container: portalContainer, children: /* @__PURE__ */ jsx34(
|
|
2180
|
+
ContextMenuPrimitive.Content,
|
|
2181
|
+
{
|
|
2182
|
+
ref,
|
|
2183
|
+
className: cn(menuSurface, className),
|
|
2184
|
+
...props
|
|
2185
|
+
}
|
|
2186
|
+
) });
|
|
2187
|
+
});
|
|
2188
|
+
ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
|
|
2189
|
+
var ContextMenuItem = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2190
|
+
ContextMenuPrimitive.Item,
|
|
2191
|
+
{
|
|
2192
|
+
ref,
|
|
2193
|
+
className: cn(
|
|
2194
|
+
"relative flex select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
2195
|
+
menuItemBase2,
|
|
2196
|
+
inset && "pl-8",
|
|
2197
|
+
className
|
|
2198
|
+
),
|
|
2199
|
+
...props
|
|
2200
|
+
}
|
|
2201
|
+
));
|
|
2202
|
+
ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
|
|
2203
|
+
var ContextMenuCheckboxItem = React9.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs13(
|
|
2204
|
+
ContextMenuPrimitive.CheckboxItem,
|
|
2205
|
+
{
|
|
2206
|
+
ref,
|
|
2207
|
+
className: cn(
|
|
2208
|
+
"relative flex select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
|
|
2209
|
+
menuItemBase2,
|
|
2210
|
+
className
|
|
2211
|
+
),
|
|
2212
|
+
checked,
|
|
2213
|
+
...props,
|
|
2214
|
+
children: [
|
|
2215
|
+
/* @__PURE__ */ jsx34("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(Check4, { className: "h-4 w-4" }) }) }),
|
|
2216
|
+
children
|
|
2217
|
+
]
|
|
2218
|
+
}
|
|
2219
|
+
));
|
|
2220
|
+
ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
|
|
2221
|
+
var ContextMenuRadioItem = React9.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs13(
|
|
2222
|
+
ContextMenuPrimitive.RadioItem,
|
|
2223
|
+
{
|
|
2224
|
+
ref,
|
|
2225
|
+
className: cn(
|
|
2226
|
+
"relative flex select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none",
|
|
2227
|
+
menuItemBase2,
|
|
2228
|
+
className
|
|
2229
|
+
),
|
|
2230
|
+
...props,
|
|
2231
|
+
children: [
|
|
2232
|
+
/* @__PURE__ */ jsx34("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx34(ContextMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx34(Circle2, { className: "h-2 w-2 fill-current" }) }) }),
|
|
2233
|
+
children
|
|
2234
|
+
]
|
|
2235
|
+
}
|
|
2236
|
+
));
|
|
2237
|
+
ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
|
|
2238
|
+
var ContextMenuLabel = React9.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2239
|
+
ContextMenuPrimitive.Label,
|
|
2240
|
+
{
|
|
2241
|
+
ref,
|
|
2242
|
+
className: cn(
|
|
2243
|
+
"px-2 py-1.5 text-sm font-semibold text-foreground",
|
|
2244
|
+
inset && "pl-8",
|
|
2245
|
+
className
|
|
2246
|
+
),
|
|
2247
|
+
...props
|
|
2248
|
+
}
|
|
2249
|
+
));
|
|
2250
|
+
ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
|
|
2251
|
+
var ContextMenuSeparator = React9.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx34(
|
|
2252
|
+
ContextMenuPrimitive.Separator,
|
|
2253
|
+
{
|
|
2254
|
+
ref,
|
|
2255
|
+
className: cn("-mx-1 my-1 h-px bg-border", className),
|
|
2256
|
+
...props
|
|
2257
|
+
}
|
|
2258
|
+
));
|
|
2259
|
+
ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
|
|
2260
|
+
var ContextMenuShortcut = ({
|
|
2261
|
+
className,
|
|
2262
|
+
...props
|
|
2263
|
+
}) => /* @__PURE__ */ jsx34(
|
|
2264
|
+
"span",
|
|
2265
|
+
{
|
|
2266
|
+
className: cn(
|
|
2267
|
+
"ml-auto text-xs tracking-widest text-muted-foreground",
|
|
2268
|
+
className
|
|
2269
|
+
),
|
|
2270
|
+
...props
|
|
2271
|
+
}
|
|
2272
|
+
);
|
|
2273
|
+
ContextMenuShortcut.displayName = "ContextMenuShortcut";
|
|
2274
|
+
|
|
2275
|
+
// src/components/resizable.tsx
|
|
2276
|
+
import { GripVertical } from "lucide-react";
|
|
2277
|
+
import * as ResizablePrimitive from "react-resizable-panels";
|
|
2278
|
+
import { jsx as jsx35, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2279
|
+
var ResizablePanelGroup = ({
|
|
2280
|
+
className,
|
|
2281
|
+
...props
|
|
2282
|
+
}) => /* @__PURE__ */ jsx35(
|
|
2283
|
+
ResizablePrimitive.Group,
|
|
2284
|
+
{
|
|
2285
|
+
className: cn("h-full w-full", className),
|
|
2286
|
+
...props
|
|
2287
|
+
}
|
|
2288
|
+
);
|
|
2289
|
+
var ResizablePanel = ResizablePrimitive.Panel;
|
|
2290
|
+
var ResizableHandle = ({
|
|
2291
|
+
withGrip,
|
|
2292
|
+
className,
|
|
2293
|
+
children,
|
|
2294
|
+
...props
|
|
2295
|
+
}) => /* @__PURE__ */ jsxs14(
|
|
2296
|
+
ResizablePrimitive.Separator,
|
|
2297
|
+
{
|
|
2298
|
+
className: cn(
|
|
2299
|
+
// The drawn line is 1px; the element around it is wider and transparent, so the pointer
|
|
2300
|
+
// target is comfortably larger than what it appears to grab (WCAG 2.5.8).
|
|
2301
|
+
"relative flex items-center justify-center bg-border",
|
|
2302
|
+
// Keyed off `aria-orientation`, which is what the separator actually carries, and read as
|
|
2303
|
+
// the ARIA spec defines it: the attribute describes the SEPARATOR, not the group. A
|
|
2304
|
+
// horizontal group puts its panels side by side, so its separator is a vertical line.
|
|
2305
|
+
"aria-[orientation=vertical]:w-px aria-[orientation=horizontal]:h-px",
|
|
2306
|
+
"focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background",
|
|
2307
|
+
// Reachable without precision pointing, without drawing a heavier divider: the hit area
|
|
2308
|
+
// grows across the line, so a vertical line widens and a horizontal one deepens.
|
|
2309
|
+
"after:absolute after:inset-0",
|
|
2310
|
+
"aria-[orientation=vertical]:after:-inset-x-1 aria-[orientation=horizontal]:after:-inset-y-1",
|
|
2311
|
+
className
|
|
2312
|
+
),
|
|
2313
|
+
...props,
|
|
2314
|
+
children: [
|
|
2315
|
+
withGrip ? /* @__PURE__ */ jsx35("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border border-border bg-border", children: /* @__PURE__ */ jsx35(GripVertical, { className: "h-2.5 w-2.5 text-muted-foreground" }) }) : null,
|
|
2316
|
+
children
|
|
2317
|
+
]
|
|
2318
|
+
}
|
|
2319
|
+
);
|
|
2126
2320
|
export {
|
|
2127
2321
|
Accordion,
|
|
2128
2322
|
AccordionContent,
|
|
@@ -2167,6 +2361,20 @@ export {
|
|
|
2167
2361
|
CommandList,
|
|
2168
2362
|
CommandSeparator,
|
|
2169
2363
|
CommandShortcut,
|
|
2364
|
+
ContextMenu,
|
|
2365
|
+
ContextMenuCheckboxItem,
|
|
2366
|
+
ContextMenuContent,
|
|
2367
|
+
ContextMenuGroup,
|
|
2368
|
+
ContextMenuItem,
|
|
2369
|
+
ContextMenuLabel,
|
|
2370
|
+
ContextMenuRadioGroup,
|
|
2371
|
+
ContextMenuRadioItem,
|
|
2372
|
+
ContextMenuSeparator,
|
|
2373
|
+
ContextMenuShortcut,
|
|
2374
|
+
ContextMenuSub,
|
|
2375
|
+
ContextMenuSubContent,
|
|
2376
|
+
ContextMenuSubTrigger,
|
|
2377
|
+
ContextMenuTrigger,
|
|
2170
2378
|
Dialog,
|
|
2171
2379
|
DialogClose,
|
|
2172
2380
|
DialogContent,
|
|
@@ -2204,6 +2412,9 @@ export {
|
|
|
2204
2412
|
Progress,
|
|
2205
2413
|
RadioGroup,
|
|
2206
2414
|
RadioGroupItem,
|
|
2415
|
+
ResizableHandle,
|
|
2416
|
+
ResizablePanel,
|
|
2417
|
+
ResizablePanelGroup,
|
|
2207
2418
|
Select,
|
|
2208
2419
|
SelectContent,
|
|
2209
2420
|
SelectGroup,
|