@vela-ui/react
Version:
Vela UI React components
3 lines (2 loc) • 2.74 kB
JavaScript
"use client"
;"use client";var m=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var w=(e,a)=>{for(var t in a)m(e,t,{get:a[t],enumerable:!0})},b=(e,a,t,s)=>{if(a&&typeof a=="object"||typeof a=="function")for(let o of y(a))!h.call(e,o)&&o!==t&&m(e,o,{get:()=>a[o],enumerable:!(s=f(a,o))||s.enumerable});return e};var g=e=>b(m({},"__esModule",{value:!0}),e);var V={};w(V,{Modal:()=>x,ModalContent:()=>O,ModalOverlay:()=>p});module.exports=g(V);var r=require("react-aria-components"),d=require("tailwind-variants"),i=require("react/jsx-runtime"),M=(0,d.tv)({base:"fixed inset-0 z-50 flex w-full items-center justify-center bg-black/50",variants:{placement:{top:"items-start",center:"items-center",bottom:"items-end"},scrollBehavior:{inside:"items-stretch overflow-hidden",outside:"overflow-auto"},isBlurred:{true:"backdrop-blur-md backdrop-saturate-150"},isEntering:{true:"animate-in fade-in duration-300 ease-out"},isExiting:{true:"animate-out fade-out duration-200 ease-in"}},compoundVariants:[{placement:"center",scrollBehavior:"outside",className:"[&>div]:m-auto"},{placement:"bottom",scrollBehavior:"outside",className:"[&>div]:mt-auto"}],defaultVariants:{placement:"top",scrollBehavior:"outside",isBlurred:!1}}),P=(0,d.tv)({base:"bg-background my-16 w-full max-w-[calc(100%-2rem)] rounded-lg border shadow-lg transition",variants:{scrollBehavior:{inside:"max-h-[calc(100%-7.5rem)]",outside:""},isEntering:{true:"animate-in zoom-in-95 duration-300 ease-out"},isExiting:{true:"animate-out zoom-out-95 duration-200 ease-in"},size:{xs:"sm:max-w-xs",sm:"sm:max-w-sm",md:"sm:max-w-md",lg:"sm:max-w-lg",xl:"sm:max-w-xl","2xl":"sm:max-w-2xl","3xl":"sm:max-w-3xl","4xl":"sm:max-w-4xl","5xl":"sm:max-w-5xl",full:"my-0 h-dvh max-w-full rounded-none"}},defaultVariants:{size:"lg"}});function p({className:e,placement:a,scrollBehavior:t,isBlurred:s,...o}){return(0,i.jsx)(r.ModalOverlay,{"data-slot":"modal-overlay",style:{height:"var(--visual-viewport-height)"},className:(0,r.composeRenderProps)(e,(l,n)=>M({...n,placement:a,scrollBehavior:t,isBlurred:s,className:l})),...o})}function x({className:e,size:a,scrollBehavior:t,...s}){return(0,i.jsx)(r.Modal,{"data-slot":"modal",className:(0,r.composeRenderProps)(e,(o,l)=>P({...l,size:a,scrollBehavior:t,className:o})),...s})}function O({className:e,overlayClassName:a,isDismissable:t=!0,isOpen:s,onOpenChange:o,size:l,placement:n,scrollBehavior:u,isBlurred:v,...c}){return(0,i.jsx)(p,{isDismissable:t,isOpen:s,onOpenChange:o,className:a,placement:n,scrollBehavior:u,isBlurred:v,...c,children:(0,i.jsx)(x,{className:e,size:l,scrollBehavior:u,...c})})}0&&(module.exports={Modal,ModalContent,ModalOverlay});