ivt
Version:
Ivt Components Library
82 lines (79 loc) • 3.85 kB
JavaScript
import { R as Root, C as Close, a as Content, D as Description, O as Overlay, P as Portal, T as Title, b as Trigger } from './index-CaYwp6E6.mjs';
import * as React from 'react';
import { c as cn } from './utils-BDcRwQMd.mjs';
import { X } from './x-B6hDJA_l.mjs';
function Dialog({ ...props }) {
return /*#__PURE__*/ React.createElement(Root, {
"data-slot": "dialog",
...props
});
}
function DialogTrigger({ ...props }) {
return /*#__PURE__*/ React.createElement(Trigger, {
"data-slot": "dialog-trigger",
...props
});
}
function DialogPortal({ ...props }) {
return /*#__PURE__*/ React.createElement(Portal, {
"data-slot": "dialog-portal",
...props
});
}
function DialogClose({ ...props }) {
return /*#__PURE__*/ React.createElement(Close, {
"data-slot": "dialog-close",
...props
});
}
function DialogOverlay({ className, ...props }) {
return /*#__PURE__*/ React.createElement(Overlay, {
"data-slot": "dialog-overlay",
className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", className),
...props
});
}
function DialogContent({ className, children, showCloseButton = true, ...props }) {
return /*#__PURE__*/ React.createElement(DialogPortal, {
"data-slot": "dialog-portal"
}, /*#__PURE__*/ React.createElement(DialogOverlay, null), /*#__PURE__*/ React.createElement(Content, {
"data-slot": "dialog-content",
className: cn("bg-background 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200", className),
...props
}, children, showCloseButton && /*#__PURE__*/ React.createElement(Close, {
"data-slot": "dialog-close",
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
}, /*#__PURE__*/ React.createElement(X, null), /*#__PURE__*/ React.createElement("span", {
className: "sr-only"
}, "Close"))));
}
function DialogHeader({ className, ...props }) {
return /*#__PURE__*/ React.createElement("div", {
"data-slot": "dialog-header",
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
...props
});
}
function DialogFooter({ className, ...props }) {
return /*#__PURE__*/ React.createElement("div", {
"data-slot": "dialog-footer",
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
...props
});
}
function DialogTitle({ className, ...props }) {
return /*#__PURE__*/ React.createElement(Title, {
"data-slot": "dialog-title",
className: cn("text-lg leading-none font-semibold", className),
...props
});
}
function DialogDescription({ className, ...props }) {
return /*#__PURE__*/ React.createElement(Description, {
"data-slot": "dialog-description",
className: cn("text-muted-foreground text-sm", className),
...props
});
}
export { Dialog as D, DialogClose as a, DialogContent as b, DialogDescription as c, DialogFooter as d, DialogHeader as e, DialogOverlay as f, DialogPortal as g, DialogTitle as h, DialogTrigger as i };
//# sourceMappingURL=dialog-DL1cSseU.mjs.map