dgz-ui
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript
6 lines (3 loc) • 6.61 kB
JavaScript
"use strict";const H=require("react"),f=require("./index-Ch6ABCiC.cjs"),D=require("./index-t1JFNXJ1.cjs"),h=require("./index-DcWZbXs6.cjs"),R=require("./index-C1ZpNc2P.cjs"),B=require("./index-k4DXjtBr.cjs"),x=require("./index-C6c4SVyw.cjs"),m=require("./index-CMmIsz5H.cjs"),i=require("./jsx-runtime-DUiatUiq.cjs");function V(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const a=V(H);var E="Dialog",[O,z]=h.createContextScope(E),[K,u]=O(E),y=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:s,onOpenChange:o,modal:c=!0}=e,l=a.useRef(null),d=a.useRef(null),[p,j]=R.useControllableState({prop:r,defaultProp:s??!1,onChange:o,caller:E});return i.jsxRuntimeExports.jsx(K,{scope:t,triggerRef:l,contentRef:d,contentId:R.useId(),titleId:R.useId(),descriptionId:R.useId(),open:p,onOpenChange:j,onOpenToggle:a.useCallback(()=>j(L=>!L),[j]),modal:c,children:n})};y.displayName=E;var N="DialogTrigger",I=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(N,n),o=D.useComposedRefs(t,s.triggerRef);return i.jsxRuntimeExports.jsx(m.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":P(s.open),...r,ref:o,onClick:f.composeEventHandlers(e.onClick,s.onOpenToggle)})});I.displayName=N;var C="DialogPortal",[U,b]=O(C,{forceMount:void 0}),T=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:s}=e,o=u(C,t);return i.jsxRuntimeExports.jsx(U,{scope:t,forceMount:n,children:a.Children.map(r,c=>i.jsxRuntimeExports.jsx(f.Presence,{present:n||o.open,children:i.jsxRuntimeExports.jsx(x.Portal,{asChild:!0,container:s,children:c})}))})};T.displayName=C;var v="DialogOverlay",A=a.forwardRef((e,t)=>{const n=b(v,e.__scopeDialog),{forceMount:r=n.forceMount,...s}=e,o=u(v,e.__scopeDialog);return o.modal?i.jsxRuntimeExports.jsx(f.Presence,{present:r||o.open,children:i.jsxRuntimeExports.jsx(Z,{...s,ref:t})}):null});A.displayName=v;var Y=D.createSlot("DialogOverlay.RemoveScroll"),Z=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(v,n);return i.jsxRuntimeExports.jsx(x.ReactRemoveScroll,{as:Y,allowPinchZoom:!0,shards:[s.contentRef],children:i.jsxRuntimeExports.jsx(m.Primitive.div,{"data-state":P(s.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),g="DialogContent",M=a.forwardRef((e,t)=>{const n=b(g,e.__scopeDialog),{forceMount:r=n.forceMount,...s}=e,o=u(g,e.__scopeDialog);return i.jsxRuntimeExports.jsx(f.Presence,{present:r||o.open,children:o.modal?i.jsxRuntimeExports.jsx(J,{...s,ref:t}):i.jsxRuntimeExports.jsx(Q,{...s,ref:t})})});M.displayName=g;var J=a.forwardRef((e,t)=>{const n=u(g,e.__scopeDialog),r=a.useRef(null),s=D.useComposedRefs(t,n.contentRef,r);return a.useEffect(()=>{const o=r.current;if(o)return x.hideOthers(o)},[]),i.jsxRuntimeExports.jsx(S,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:f.composeEventHandlers(e.onCloseAutoFocus,o=>{var c;o.preventDefault(),(c=n.triggerRef.current)==null||c.focus()}),onPointerDownOutside:f.composeEventHandlers(e.onPointerDownOutside,o=>{const c=o.detail.originalEvent,l=c.button===0&&c.ctrlKey===!0;(c.button===2||l)&&o.preventDefault()}),onFocusOutside:f.composeEventHandlers(e.onFocusOutside,o=>o.preventDefault())})}),Q=a.forwardRef((e,t)=>{const n=u(g,e.__scopeDialog),r=a.useRef(!1),s=a.useRef(!1);return i.jsxRuntimeExports.jsx(S,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:o=>{var c,l;(c=e.onCloseAutoFocus)==null||c.call(e,o),o.defaultPrevented||(r.current||(l=n.triggerRef.current)==null||l.focus(),o.preventDefault()),r.current=!1,s.current=!1},onInteractOutside:o=>{var d,p;(d=e.onInteractOutside)==null||d.call(e,o),o.defaultPrevented||(r.current=!0,o.detail.originalEvent.type==="pointerdown"&&(s.current=!0));const c=o.target;((p=n.triggerRef.current)==null?void 0:p.contains(c))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&s.current&&o.preventDefault()}})}),S=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:o,...c}=e,l=u(g,n),d=a.useRef(null),p=D.useComposedRefs(t,d);return x.useFocusGuards(),i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(x.FocusScope,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:o,children:i.jsxRuntimeExports.jsx(B.DismissableLayer,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":P(l.open),...c,ref:p,onDismiss:()=>l.onOpenChange(!1)})}),i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(ee,{titleId:l.titleId}),i.jsxRuntimeExports.jsx(oe,{contentRef:d,descriptionId:l.descriptionId})]})]})}),_="DialogTitle",w=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(_,n);return i.jsxRuntimeExports.jsx(m.Primitive.h2,{id:s.titleId,...r,ref:t})});w.displayName=_;var F="DialogDescription",W=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(F,n);return i.jsxRuntimeExports.jsx(m.Primitive.p,{id:s.descriptionId,...r,ref:t})});W.displayName=F;var $="DialogClose",q=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u($,n);return i.jsxRuntimeExports.jsx(m.Primitive.button,{type:"button",...r,ref:t,onClick:f.composeEventHandlers(e.onClick,()=>s.onOpenChange(!1))})});q.displayName=$;function P(e){return e?"open":"closed"}var k="DialogTitleWarning",[X,G]=h.createContext2(k,{contentName:g,titleName:_,docsSlug:"dialog"}),ee=({titleId:e})=>{const t=G(k),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return a.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},te="DialogDescriptionWarning",oe=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${G(te).contentName}}.`;return a.useEffect(()=>{var o;const s=(o=e.current)==null?void 0:o.getAttribute("aria-describedby");t&&s&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},ne=y,re=I,se=T,ie=A,ae=M,ce=w,le=W,ue=q;exports.Close=ue;exports.Content=ae;exports.Description=le;exports.Overlay=ie;exports.Portal=se;exports.Root=ne;exports.Title=ce;exports.Trigger=re;exports.WarningProvider=X;exports.createDialogScope=z;