dgz-ui
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript
6 lines (3 loc) • 6.64 kB
JavaScript
"use strict";const H=require("react"),f=require("./index-OHKxBzpT.cjs"),j=require("./index-C1oWDt_I.cjs"),h=require("./index-Dyp2JWEo.cjs"),R=require("./index-2AoaKL3W.cjs"),B=require("./index-B4TRRfSv.cjs"),x=require("./index-C01riI3g.cjs"),m=require("./index-9_bM8_1f.cjs"),V=require("./index-BbYJWkTf.cjs"),i=require("./jsx-runtime-h4oGeKUK.cjs");function z(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=z(H);var D="Dialog",[O,K]=h.createContextScope(D),[U,u]=O(D),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,E]=R.useControllableState({prop:r,defaultProp:s??!1,onChange:o,caller:D});return i.jsxRuntimeExports.jsx(U,{scope:t,triggerRef:l,contentRef:d,contentId:R.useId(),titleId:R.useId(),descriptionId:R.useId(),open:p,onOpenChange:E,onOpenToggle:a.useCallback(()=>E(L=>!L),[E]),modal:c,children:n})};y.displayName=D;var N="DialogTrigger",I=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(N,n),o=j.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",[Y,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(Y,{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(J,{...s,ref:t})}):null});A.displayName=v;var Z=V.createSlot("DialogOverlay.RemoveScroll"),J=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(v,n);return i.jsxRuntimeExports.jsx(x.ReactRemoveScroll,{as:Z,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(Q,{...s,ref:t}):i.jsxRuntimeExports.jsx(X,{...s,ref:t})})});M.displayName=g;var Q=a.forwardRef((e,t)=>{const n=u(g,e.__scopeDialog),r=a.useRef(null),s=j.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())})}),X=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=j.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(te,{titleId:l.titleId}),i.jsxRuntimeExports.jsx(ne,{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",[ee,G]=h.createContext2(k,{contentName:g,titleName:_,docsSlug:"dialog"}),te=({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},oe="DialogDescriptionWarning",ne=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${G(oe).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},re=y,se=I,ie=T,ae=A,ce=M,le=w,ue=W,de=q;exports.Close=de;exports.Content=ce;exports.Description=ue;exports.Overlay=ae;exports.Portal=ie;exports.Root=re;exports.Title=le;exports.Trigger=se;exports.WarningProvider=ee;exports.createDialogScope=K;