UNPKG

@snowball-tech/fractal

Version:

Fractal's (Snowball's design system) React component library based on RadixUI and PandaCSS

3 lines 2.89 kB
'use client'; import{a,c as L}from"./chunk-K7NCX4QF.js";import{f as w}from"./chunk-4JB6HFZC.js";import{d as I}from"./chunk-RA5E6SMO.js";import{b as E}from"./chunk-UC7BXZ7T.js";import{b as t}from"./chunk-CMFNILWJ.js";import{a as l,b as R}from"./chunk-KHPUS472.js";import*as e from"@radix-ui/react-dialog";import{UilTimes as q}from"@tooni/iconscout-unicons-react";import{forwardRef as J,useEffect as K,useImperativeHandle as Q,useRef as D,useState as V}from"react";import c from"lodash/fp/isFunction";import O from"lodash/fp/isString";import F from"lodash/fp/omit";import{Fragment as W,jsx as o,jsxs as f}from"react/jsx-runtime";var H=J(({children:y,closeButtonLabel:M="Close",defaultOpen:g,disabled:s=!1,dismissable:z=!0,modal:B=!0,onClose:$,onDismiss:U,onInteractOutside:h,onOpen:b,onToggle:C,open:u,overlayStyle:N="light",position:_=L,root:v,title:A,trigger:n,...P},S)=>{let d=D(null),k=D(null),p=D(null);Q(S,()=>({get container(){return d?.current??null},get content(){return p?.current??null},get trigger(){return k?.current??null}}));let T=!!n,G=!!y,[m,X]=V(u===!0||g===!0),x=r=>{if(s)return;let i=m;X(r),c(C)&&i!==r&&C(r),!i&&r&&c(b)&&b(),i&&!r&&c($)&&$()};K(()=>{x(u===!0||g===!0)},[g,u]);let j=r=>{let{target:i}=r;i===window||i===null||i===void 0||((d?.current?.contains(i)||p?.current?.contains(i))&&r.preventDefault(),c(h)&&h(r))};return o("div",{ref:d,className:R(`${t}-${a}`,m?`${t}-${a}--opened`:`${t}-${a}--closed`,s?`${t}-${a}--disabled`:"",v?.className),...F(["className"],v),children:f(e.Root,{...s?{open:!1}:{open:m},modal:B,onOpenChange:x,children:[o(e.Trigger,{asChild:!O(n),className:l(`${t}-${a}__trigger`,O(n)?"appearance-none border-none bg-unset px-unset py-unset text-left text-color-unset outline-none":"",T?"flex items-center":"invisible h-0 max-h-0 border-y-0 py-0",s?`${t}-${a}__trigger--disabled cursor-default text-disabled`:"cursor-pointer"),children:T&&n}),o(e.Portal,{children:m&&f(W,{children:[N!=="none"&&o(e.Overlay,{className:l(`${t}-${a}__overlay`,"z-[9999]","inset-0",N==="light"?"bg-[rgba(255,251,244,0.8)]":"bg-[rgba(0,0,0,0.7)]"),style:{position:_}}),o(e.Content,{ref:p,"aria-describedby":void 0,asChild:!0,className:R(`${t}-${a}__content`,"z-[9999]",P.className),onInteractOutside:j,...F(["className","onInteractOutside","asChild"],P),children:f(I,{className:"left-1/2 top-1/2 flex size-fit -translate-x-1/2 -translate-y-1/2 flex-col gap-3",elevation:"2",style:{position:_},children:[f("div",{className:"flex flex-row",children:[o(e.Title,{asChild:!0,className:l(`${t}-${a}__title`,"flex-1"),children:o(E,{variant:"heading-4",children:A})}),z&&o(e.Close,{asChild:!0,className:l(`${t}-${a}__dismiss`),children:o("div",{className:"text-right",children:o(w,{icon:o(q,{}),iconOnly:!0,label:M,variant:"text",onClick:U})})})]}),G&&y]})})]})})]})})});H.displayName="Dialog";var me=H;export{H as a,me as b}; //# sourceMappingURL=chunk-2YOYRH77.js.map