UNPKG

@anoki/fse-ui

Version:

FSE UI components library

3 lines (2 loc) 6.32 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("react"),P=require("./index.cjs479.js"),y=require("./index.cjs478.js"),H=require("./index.cjs477.js"),L=require("./index.cjs483.js"),G=require("./index.cjs488.js"),K=require("./index.cjs484.js"),z=require("./index.cjs481.js"),f=require("./index.cjs571.js"),U=require("./index.cjs485.js"),S=require("./index.cjs486.js"),N=require("./index.cjs487.js"),V=require("./index.cjs480.js"),W=require("./index.cjs482.js"),Z=require("./index.cjs490.js"),B=require("./index.cjs489.js"),u=require("./index.cjs237.js");function J(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const s=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,s.get?s:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const i=J(I);var h="Popover",[F]=H.createContextScope(h,[f.createPopperScope]),g=f.createPopperScope(),[Q,d]=F(h),E=e=>{const{__scopePopover:n,children:o,open:s,defaultOpen:t,onOpenChange:r,modal:c=!1}=e,a=g(n),p=i.useRef(null),[l,m]=i.useState(!1),[R,v]=W.useControllableState({prop:s,defaultProp:t??!1,onChange:r,caller:h});return u.jsxRuntimeExports.jsx(f.Root,{...a,children:u.jsxRuntimeExports.jsx(Q,{scope:n,contentId:z.useId(),triggerRef:p,open:R,onOpenChange:v,onOpenToggle:i.useCallback(()=>v(C=>!C),[v]),hasCustomAnchor:l,onCustomAnchorAdd:i.useCallback(()=>m(!0),[]),onCustomAnchorRemove:i.useCallback(()=>m(!1),[]),modal:c,children:o})})};E.displayName=h;var q="PopoverAnchor",j=i.forwardRef((e,n)=>{const{__scopePopover:o,...s}=e,t=d(q,o),r=g(o),{onCustomAnchorAdd:c,onCustomAnchorRemove:a}=t;return i.useEffect(()=>(c(),()=>a()),[c,a]),u.jsxRuntimeExports.jsx(f.Anchor,{...r,...s,ref:n})});j.displayName=q;var D="PopoverTrigger",A=i.forwardRef((e,n)=>{const{__scopePopover:o,...s}=e,t=d(D,o),r=g(o),c=y.useComposedRefs(n,t.triggerRef),a=u.jsxRuntimeExports.jsx(N.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":$(t.open),...s,ref:c,onClick:P.composeEventHandlers(e.onClick,t.onOpenToggle)});return t.hasCustomAnchor?a:u.jsxRuntimeExports.jsx(f.Anchor,{asChild:!0,...r,children:a})});A.displayName=D;var O="PopoverPortal",[X,Y]=F(O,{forceMount:void 0}),_=e=>{const{__scopePopover:n,forceMount:o,children:s,container:t}=e,r=d(O,n);return u.jsxRuntimeExports.jsx(X,{scope:n,forceMount:o,children:u.jsxRuntimeExports.jsx(S.Presence,{present:o||r.open,children:u.jsxRuntimeExports.jsx(U.Portal,{asChild:!0,container:t,children:s})})})};_.displayName=O;var x="PopoverContent",b=i.forwardRef((e,n)=>{const o=Y(x,e.__scopePopover),{forceMount:s=o.forceMount,...t}=e,r=d(x,e.__scopePopover);return u.jsxRuntimeExports.jsx(S.Presence,{present:s||r.open,children:r.modal?u.jsxRuntimeExports.jsx(oe,{...t,ref:n}):u.jsxRuntimeExports.jsx(te,{...t,ref:n})})});b.displayName=x;var ee=V.createSlot("PopoverContent.RemoveScroll"),oe=i.forwardRef((e,n)=>{const o=d(x,e.__scopePopover),s=i.useRef(null),t=y.useComposedRefs(n,s),r=i.useRef(!1);return i.useEffect(()=>{const c=s.current;if(c)return Z.hideOthers(c)},[]),u.jsxRuntimeExports.jsx(B,{as:ee,allowPinchZoom:!0,children:u.jsxRuntimeExports.jsx(M,{...e,ref:t,trapFocus:o.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:P.composeEventHandlers(e.onCloseAutoFocus,c=>{var a;c.preventDefault(),r.current||(a=o.triggerRef.current)==null||a.focus()}),onPointerDownOutside:P.composeEventHandlers(e.onPointerDownOutside,c=>{const a=c.detail.originalEvent,p=a.button===0&&a.ctrlKey===!0,l=a.button===2||p;r.current=l},{checkForDefaultPrevented:!1}),onFocusOutside:P.composeEventHandlers(e.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1})})})}),te=i.forwardRef((e,n)=>{const o=d(x,e.__scopePopover),s=i.useRef(!1),t=i.useRef(!1);return u.jsxRuntimeExports.jsx(M,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{var c,a;(c=e.onCloseAutoFocus)==null||c.call(e,r),r.defaultPrevented||(s.current||(a=o.triggerRef.current)==null||a.focus(),r.preventDefault()),s.current=!1,t.current=!1},onInteractOutside:r=>{var p,l;(p=e.onInteractOutside)==null||p.call(e,r),r.defaultPrevented||(s.current=!0,r.detail.originalEvent.type==="pointerdown"&&(t.current=!0));const c=r.target;((l=o.triggerRef.current)==null?void 0:l.contains(c))&&r.preventDefault(),r.detail.originalEvent.type==="focusin"&&t.current&&r.preventDefault()}})}),M=i.forwardRef((e,n)=>{const{__scopePopover:o,trapFocus:s,onOpenAutoFocus:t,onCloseAutoFocus:r,disableOutsidePointerEvents:c,onEscapeKeyDown:a,onPointerDownOutside:p,onFocusOutside:l,onInteractOutside:m,...R}=e,v=d(x,o),C=g(o);return G.useFocusGuards(),u.jsxRuntimeExports.jsx(K.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:t,onUnmountAutoFocus:r,children:u.jsxRuntimeExports.jsx(L.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:c,onInteractOutside:m,onEscapeKeyDown:a,onPointerDownOutside:p,onFocusOutside:l,onDismiss:()=>v.onOpenChange(!1),children:u.jsxRuntimeExports.jsx(f.Content,{"data-state":$(v.open),role:"dialog",id:v.contentId,...C,...R,ref:n,style:{...R.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),T="PopoverClose",w=i.forwardRef((e,n)=>{const{__scopePopover:o,...s}=e,t=d(T,o);return u.jsxRuntimeExports.jsx(N.Primitive.button,{type:"button",...s,ref:n,onClick:P.composeEventHandlers(e.onClick,()=>t.onOpenChange(!1))})});w.displayName=T;var re="PopoverArrow",k=i.forwardRef((e,n)=>{const{__scopePopover:o,...s}=e,t=g(o);return u.jsxRuntimeExports.jsx(f.Arrow,{...t,...s,ref:n})});k.displayName=re;function $(e){return e?"open":"closed"}var ne=E,se=j,ce=A,ae=_,ie=b,ue=w;exports.Anchor=se;exports.Close=ue;exports.Content=ie;exports.Popover=E;exports.PopoverAnchor=j;exports.PopoverArrow=k;exports.PopoverClose=w;exports.PopoverContent=b;exports.PopoverPortal=_;exports.PopoverTrigger=A;exports.Portal=ae;exports.Root=ne;exports.Trigger=ce; //# sourceMappingURL=index.cjs627.js.map