@szum-tech/design-system
Version:
Szum-Tech design system with tailwindcss support
142 lines (138 loc) • 4.74 kB
JavaScript
'use strict';
var chunkUIOBJSKZ_cjs = require('./chunk-UIOBJSKZ.cjs');
var chunkH2BWO3SI_cjs = require('./chunk-H2BWO3SI.cjs');
var reactSlot = require('@radix-ui/react-slot');
var classVarianceAuthority = require('class-variance-authority');
var jsxRuntime = require('react/jsx-runtime');
var itemVariants = classVarianceAuthority.cva(
"group/item [a]:hover:bg-accent/50 [a]:transition-colors focus-visible:border-ring focus-visible:ring-ring/50 flex flex-wrap items-center rounded border border-transparent text-sm outline-none transition-colors duration-100 focus-visible:ring",
{
variants: {
variant: {
default: "bg-transparent",
outline: "border-border",
muted: "bg-muted/50"
},
size: {
default: "gap-4 p-4 ",
sm: "gap-2.5 px-4 py-3"
}
},
defaultVariants: {
variant: "default",
size: "default"
}
}
);
function Item({ className, variant = "default", size = "default", asChild = false, ...props }) {
const Comp = asChild ? reactSlot.Slot : "div";
return /* @__PURE__ */ jsxRuntime.jsx(
Comp,
{
"data-slot": "item",
"data-variant": variant,
"data-size": size,
className: chunkH2BWO3SI_cjs.cn(itemVariants({ variant, size, className })),
...props
}
);
}
var itemMediaVariants = classVarianceAuthority.cva(
"flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none",
{
variants: {
variant: {
default: "bg-transparent",
icon: "border-border bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4",
image: "size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover"
}
},
defaultVariants: {
variant: "default"
}
}
);
function ItemMedia({ className, variant = "default", ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
"data-slot": "item-media",
"data-variant": variant,
className: chunkH2BWO3SI_cjs.cn(itemMediaVariants({ variant }), className),
...props
}
);
}
function ItemGroup({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx("div", { role: "list", "data-slot": "item-group", className: chunkH2BWO3SI_cjs.cn("group/item-group flex flex-col", className), ...props });
}
function ItemActions({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "item-actions", className: chunkH2BWO3SI_cjs.cn("flex items-center gap-2", className), ...props });
}
function ItemContent({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
"data-slot": "item-content",
className: chunkH2BWO3SI_cjs.cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", className),
...props
}
);
}
function ItemDescription({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"p",
{
"data-slot": "item-description",
className: chunkH2BWO3SI_cjs.cn(
"text-muted-foreground line-clamp-2 text-sm leading-normal font-normal text-balance",
"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
className
),
...props
}
);
}
function ItemFooter({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
"data-slot": "item-footer",
className: chunkH2BWO3SI_cjs.cn("flex basis-full items-center justify-between gap-2", className),
...props
}
);
}
function ItemHeader({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
"data-slot": "item-header",
className: chunkH2BWO3SI_cjs.cn("flex basis-full items-center justify-between gap-2", className),
...props
}
);
}
function ItemTitle({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx(
"div",
{
"data-slot": "item-title",
className: chunkH2BWO3SI_cjs.cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium", className),
...props
}
);
}
function ItemSeparator({ className, ...props }) {
return /* @__PURE__ */ jsxRuntime.jsx(chunkUIOBJSKZ_cjs.Separator, { "data-slot": "item-separator", orientation: "horizontal", className: chunkH2BWO3SI_cjs.cn("my-0", className), ...props });
}
exports.Item = Item;
exports.ItemActions = ItemActions;
exports.ItemContent = ItemContent;
exports.ItemDescription = ItemDescription;
exports.ItemFooter = ItemFooter;
exports.ItemGroup = ItemGroup;
exports.ItemHeader = ItemHeader;
exports.ItemMedia = ItemMedia;
exports.ItemSeparator = ItemSeparator;
exports.ItemTitle = ItemTitle;