UNPKG

@explita/editor

Version:

`@explita/editor` is a versatile, modern rich-text editor built on TipTap for seamless integration into React applications. It provides extensive customization options and advanced features to cater to diverse content creation needs.

24 lines (23 loc) 3.85 kB
"use client"; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import * as React from "react"; import * as DialogPrimitive from "@radix-ui/react-dialog"; import { LuX } from "react-icons/lu"; import { cn } from "../../lib/utils"; const Dialog = DialogPrimitive.Root; const DialogTrigger = DialogPrimitive.Trigger; const DialogPortal = DialogPrimitive.Portal; const DialogClose = DialogPrimitive.Close; const DialogOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Overlay, { ref: ref, className: cn("explitaeditor:fixed explitaeditor:inset-0 explitaeditor:z-50 explitaeditor:bg-black/40 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className), ...props }))); DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; const DialogContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DialogPortal, { children: [_jsx(DialogOverlay, {}), _jsxs(DialogPrimitive.Content, { ref: ref, className: cn("explitaeditor:fixed explitaeditor:left-[50%] explitaeditor:top-[50%] explitaeditor:z-50 explitaeditor:grid explitaeditor:w-full explitaeditor:max-w-lg explitaeditor:translate-x-[-50%] explitaeditor:translate-y-[-50%] explitaeditor:gap-4 explitaeditor:border explitaeditor:bg-white explitaeditor:p-6 explitaeditor:shadow-lg explitaeditor:duration-200 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 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]", className), ...props, children: [children, _jsxs(DialogPrimitive.Close, { className: "explitaeditor:absolute explitaeditor:right-4 explitaeditor:top-4 explitaeditor:rounded-sm explitaeditor:opacity-70 explitaeditor:ring-offset-background explitaeditor:transition-opacity explitaeditor:hover:opacity-100 explitaeditor:focus:outline-none explitaeditor:focus:ring-2 explitaeditor:focus:ring-ring explitaeditor:focus:ring-offset-2 explitaeditor:disabled:pointer-events-none data-[state=open]:bg-white data-[state=open]:text-black", children: [_jsx(LuX, { className: "explitaeditor:h-4 explitaeditor:w-4" }), _jsx("span", { className: "explitaeditor:sr-only", children: "Close" })] })] })] }))); DialogContent.displayName = DialogPrimitive.Content.displayName; const DialogHeader = ({ className, ...props }) => (_jsx("div", { className: cn("explitaeditor:flex explitaeditor:flex-col explitaeditor:space-y-1.5 explitaeditor:text-center explitaeditor:sm:text-left", className), ...props })); DialogHeader.displayName = "DialogHeader"; const DialogFooter = ({ className, ...props }) => (_jsx("div", { className: cn("explitaeditor:flex explitaeditor:flex-col-reverse explitaeditor:sm:flex-row explitaeditor:sm:justify-end explitaeditor:sm:space-x-2", className), ...props })); DialogFooter.displayName = "DialogFooter"; const DialogTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Title, { ref: ref, className: cn("explitaeditor:text-lg explitaeditor:font-semibold explitaeditor:leading-none explitaeditor:tracking-tight explitaeditor:text-black", className), ...props }))); DialogTitle.displayName = DialogPrimitive.Title.displayName; const DialogDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DialogPrimitive.Description, { ref: ref, className: cn("explitaeditor:text-sm explitaeditor:text-black", className), ...props }))); DialogDescription.displayName = DialogPrimitive.Description.displayName; export { Dialog, DialogPortal, DialogOverlay, DialogTrigger, DialogClose, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription, };