UNPKG

@anoki/fse-marche-ui

Version:

FSE UI components library

7 lines (4 loc) 6.97 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const H=require("react"),p=require("./index.cjs235.js"),v=require("./index.cjs236.js"),T=require("./index.cjs237.js"),R=require("./index.cjs241.js"),B=require("./index.cjs238.js"),V=require("./index.cjs251.js"),z=require("./index.cjs252.js"),K=require("./index.cjs253.js"),E=require("./index.cjs247.js"),x=require("./index.cjs239.js"),U=require("./index.cjs254.js"),Y=require("./index.cjs255.js"),Z=require("./index.cjs256.js"),J=require("./index.cjs257.js"),i=require("./index.cjs137.js");function Q(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=Q(H);var j="Dialog",[A,X]=T.createContextScope(j),[ee,u]=A(j),C=e=>{const{__scopeDialog:t,children:n,open:r,defaultOpen:s,onOpenChange:o,modal:c=!0}=e,l=a.useRef(null),d=a.useRef(null),[f=!1,D]=B.useControllableState({prop:r,defaultProp:s,onChange:o});return i.jsxRuntimeExports.jsx(ee,{scope:t,triggerRef:l,contentRef:d,contentId:R.useId(),titleId:R.useId(),descriptionId:R.useId(),open:f,onOpenChange:D,onOpenToggle:a.useCallback(()=>D(L=>!L),[D]),modal:c,children:n})};C.displayName=j;var M="DialogTrigger",S=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(M,n),o=v.useComposedRefs(t,s.triggerRef);return i.jsxRuntimeExports.jsx(x.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":s.open,"aria-controls":s.contentId,"data-state":I(s.open),...r,ref:o,onClick:p.composeEventHandlers(e.onClick,s.onOpenToggle)})});S.displayName=M;var P="DialogPortal",[te,w]=A(P,{forceMount:void 0}),_=e=>{const{__scopeDialog:t,forceMount:n,children:r,container:s}=e,o=u(P,t);return i.jsxRuntimeExports.jsx(te,{scope:t,forceMount:n,children:a.Children.map(r,c=>i.jsxRuntimeExports.jsx(E.Presence,{present:n||o.open,children:i.jsxRuntimeExports.jsx(K.Portal,{asChild:!0,container:s,children:c})}))})};_.displayName=P;var m="DialogOverlay",y=a.forwardRef((e,t)=>{const n=w(m,e.__scopeDialog),{forceMount:r=n.forceMount,...s}=e,o=u(m,e.__scopeDialog);return o.modal?i.jsxRuntimeExports.jsx(E.Presence,{present:r||o.open,children:i.jsxRuntimeExports.jsx(oe,{...s,ref:t})}):null});y.displayName=m;var oe=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(m,n);return i.jsxRuntimeExports.jsx(Y,{as:J.Slot,allowPinchZoom:!0,shards:[s.contentRef],children:i.jsxRuntimeExports.jsx(x.Primitive.div,{"data-state":I(s.open),...r,ref:t,style:{pointerEvents:"auto",...r.style}})})}),g="DialogContent",O=a.forwardRef((e,t)=>{const n=w(g,e.__scopeDialog),{forceMount:r=n.forceMount,...s}=e,o=u(g,e.__scopeDialog);return i.jsxRuntimeExports.jsx(E.Presence,{present:r||o.open,children:o.modal?i.jsxRuntimeExports.jsx(ne,{...s,ref:t}):i.jsxRuntimeExports.jsx(re,{...s,ref:t})})});O.displayName=g;var ne=a.forwardRef((e,t)=>{const n=u(g,e.__scopeDialog),r=a.useRef(null),s=v.useComposedRefs(t,n.contentRef,r);return a.useEffect(()=>{const o=r.current;if(o)return Z.hideOthers(o)},[]),i.jsxRuntimeExports.jsx(F,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:p.composeEventHandlers(e.onCloseAutoFocus,o=>{var c;o.preventDefault(),(c=n.triggerRef.current)==null||c.focus()}),onPointerDownOutside:p.composeEventHandlers(e.onPointerDownOutside,o=>{const c=o.detail.originalEvent,l=c.button===0&&c.ctrlKey===!0;(c.button===2||l)&&o.preventDefault()}),onFocusOutside:p.composeEventHandlers(e.onFocusOutside,o=>o.preventDefault())})}),re=a.forwardRef((e,t)=>{const n=u(g,e.__scopeDialog),r=a.useRef(!1),s=a.useRef(!1);return i.jsxRuntimeExports.jsx(F,{...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,f;(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;((f=n.triggerRef.current)==null?void 0:f.contains(c))&&o.preventDefault(),o.detail.originalEvent.type==="focusin"&&s.current&&o.preventDefault()}})}),F=a.forwardRef((e,t)=>{const{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:s,onCloseAutoFocus:o,...c}=e,l=u(g,n),d=a.useRef(null),f=v.useComposedRefs(t,d);return U.useFocusGuards(),i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(z.FocusScope,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:s,onUnmountAutoFocus:o,children:i.jsxRuntimeExports.jsx(V.DismissableLayer,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":I(l.open),...c,ref:f,onDismiss:()=>l.onOpenChange(!1)})}),i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(ie,{titleId:l.titleId}),i.jsxRuntimeExports.jsx(ce,{contentRef:d,descriptionId:l.descriptionId})]})]})}),h="DialogTitle",N=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(h,n);return i.jsxRuntimeExports.jsx(x.Primitive.h2,{id:s.titleId,...r,ref:t})});N.displayName=h;var q="DialogDescription",$=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(q,n);return i.jsxRuntimeExports.jsx(x.Primitive.p,{id:s.descriptionId,...r,ref:t})});$.displayName=q;var W="DialogClose",b=a.forwardRef((e,t)=>{const{__scopeDialog:n,...r}=e,s=u(W,n);return i.jsxRuntimeExports.jsx(x.Primitive.button,{type:"button",...r,ref:t,onClick:p.composeEventHandlers(e.onClick,()=>s.onOpenChange(!1))})});b.displayName=W;function I(e){return e?"open":"closed"}var k="DialogTitleWarning",[se,G]=T.createContext(k,{contentName:g,titleName:h,docsSlug:"dialog"}),ie=({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},ae="DialogDescriptionWarning",ce=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${G(ae).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},le=C,ue=_,de=y,ge=O,fe=N,pe=b;exports.Close=pe;exports.Content=ge;exports.Dialog=C;exports.DialogClose=b;exports.DialogContent=O;exports.DialogDescription=$;exports.DialogOverlay=y;exports.DialogPortal=_;exports.DialogTitle=N;exports.DialogTrigger=S;exports.Overlay=de;exports.Portal=ue;exports.Root=le;exports.Title=fe;exports.WarningProvider=se;exports.createDialogScope=X; //# sourceMappingURL=index.cjs181.js.map