@data-slot/popover 0.2.31 → 0.2.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=s(require(`@data-slot/core`)),l=[`top`,`right`,`bottom`,`left`],u=[`start`,`center`,`end`],d=`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])`;function f(e,t={}){let n=(0,c.getPart)(e,`popover-trigger`),r=(0,c.getPart)(e,`popover-content`),i=(0,c.getPart)(e,`popover-close`);if(!n||!r)throw Error(`Popover requires trigger and content slots`);let a=t.defaultOpen??(0,c.getDataBool)(e,`defaultOpen`)??!1,o=t.onOpenChange,s=t.closeOnClickOutside??(0,c.getDataBool)(e,`closeOnClickOutside`)??!0,f=t.closeOnEscape??(0,c.getDataBool)(e,`closeOnEscape`)??!0,p=t.position??(0,c.getDataEnum)(r,`position`,l)??(0,c.getDataEnum)(e,`position`,l),m=t.side??(0,c.getDataEnum)(r,`side`,l)??(0,c.getDataEnum)(e,`side`,l)??p??`bottom`,h=t.align??(0,c.getDataEnum)(r,`align`,u)??(0,c.getDataEnum)(e,`align`,u)??`center`,g=t.sideOffset??(0,c.getDataNumber)(r,`sideOffset`)??(0,c.getDataNumber)(e,`sideOffset`)??4,_=t.alignOffset??(0,c.getDataNumber)(r,`alignOffset`)??(0,c.getDataNumber)(e,`alignOffset`)??0,v=t.avoidCollisions??(0,c.getDataBool)(r,`avoidCollisions`)??(0,c.getDataBool)(e,`avoidCollisions`)??!0,y=t.collisionPadding??(0,c.getDataNumber)(r,`collisionPadding`)??(0,c.getDataNumber)(e,`collisionPadding`)??8,b=a,x=[],S=null,C=!1,w=()=>{C&&(r.removeAttribute(`tabindex`),C=!1)},T=()=>{let e=r.querySelector(`[autofocus]`);if(e)return e.focus();let t=r.querySelector(d);if(t)return t.focus();r.getAttribute(`tabindex`)||(r.setAttribute(`tabindex`,`-1`),C=!0),r.focus()},E=(0,c.ensureId)(r,`popover-content`);n.setAttribute(`aria-haspopup`,`dialog`),n.setAttribute(`aria-controls`,E),r.setAttribute(`data-side`,m),r.setAttribute(`data-align`,h),r.setAttribute(`data-position`,m);let D=()=>{let t=e.ownerDocument.defaultView??window,i=n.getBoundingClientRect(),a=r.getBoundingClientRect(),o=(0,c.computeFloatingPosition)({anchorRect:i,contentRect:a,side:m,align:h,sideOffset:g,alignOffset:_,avoidCollisions:v,collisionPadding:y});r.style.position=`absolute`,r.style.top=`${o.y+t.scrollY}px`,r.style.left=`${o.x+t.scrollX}px`,r.style.margin=`0`,r.setAttribute(`data-side`,o.side),r.setAttribute(`data-align`,o.align),r.setAttribute(`data-position`,o.side)},O=(0,c.createPositionSync)({observedElements:[n,r],isActive:()=>b,ancestorScroll:!1,onUpdate:D}),k=t=>{b!==t&&(t&&(S=document.activeElement),b=t,(0,c.setAria)(n,`expanded`,b),(0,c.emit)(e,`popover:change`,{open:b}),o?.(b),t?(r.hidden=!1,e.setAttribute(`data-state`,`open`),r.setAttribute(`data-state`,`open`),D(),O.start(),O.update(),requestAnimationFrame(T)):(O.stop(),r.hidden=!0,e.setAttribute(`data-state`,`closed`),r.setAttribute(`data-state`,`closed`),w(),requestAnimationFrame(()=>{S&&S.isConnected?S.focus():n.focus(),S=null})))};(0,c.setAria)(n,`expanded`,b),r.hidden=!b,e.setAttribute(`data-state`,b?`open`:`closed`),r.setAttribute(`data-state`,b?`open`:`closed`),a&&(D(),O.start(),O.update(),requestAnimationFrame(T)),x.push((0,c.on)(n,`click`,()=>k(!b))),i&&x.push((0,c.on)(i,`click`,()=>k(!1))),x.push((0,c.createDismissLayer)({root:e,isOpen:()=>b,onDismiss:()=>k(!1),closeOnClickOutside:s,closeOnEscape:f})),x.push((0,c.on)(e,`popover:set`,e=>{let t=e.detail,n;t?.open===void 0?t?.value!==void 0&&(n=t.value):n=t.open,typeof n==`boolean`&&k(n)}));let A={open:()=>k(!0),close:()=>k(!1),toggle:()=>k(!b),get isOpen(){return b},destroy:()=>{O.stop(),x.forEach(e=>e()),x.length=0,w()}};return A}const p=new WeakSet;function m(e=document){let t=[];for(let n of(0,c.getRoots)(e,`popover`)){if(p.has(n))continue;p.add(n),t.push(f(n))}return t}exports.create=m,exports.createPopover=f;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@data-slot/core`);const t=[`top`,`right`,`bottom`,`left`],n=[`start`,`center`,`end`];function r(r,i={}){let a=(0,e.getPart)(r,`popover-trigger`),o=(0,e.getPart)(r,`popover-content`),s=(0,e.getPart)(r,`popover-close`);if(!a||!o)throw Error(`Popover requires trigger and content slots`);let c=i.defaultOpen??(0,e.getDataBool)(r,`defaultOpen`)??!1,l=i.onOpenChange,u=i.closeOnClickOutside??(0,e.getDataBool)(r,`closeOnClickOutside`)??!0,d=i.closeOnEscape??(0,e.getDataBool)(r,`closeOnEscape`)??!0,f=i.position??(0,e.getDataEnum)(o,`position`,t)??(0,e.getDataEnum)(r,`position`,t),p=i.side??(0,e.getDataEnum)(o,`side`,t)??(0,e.getDataEnum)(r,`side`,t)??f??`bottom`,m=i.align??(0,e.getDataEnum)(o,`align`,n)??(0,e.getDataEnum)(r,`align`,n)??`center`,h=i.sideOffset??(0,e.getDataNumber)(o,`sideOffset`)??(0,e.getDataNumber)(r,`sideOffset`)??4,g=i.alignOffset??(0,e.getDataNumber)(o,`alignOffset`)??(0,e.getDataNumber)(r,`alignOffset`)??0,_=i.avoidCollisions??(0,e.getDataBool)(o,`avoidCollisions`)??(0,e.getDataBool)(r,`avoidCollisions`)??!0,v=i.collisionPadding??(0,e.getDataNumber)(o,`collisionPadding`)??(0,e.getDataNumber)(r,`collisionPadding`)??8,y=c,b=[],x=null,S=!1,C=()=>{S&&=(o.removeAttribute(`tabindex`),!1)},w=()=>{let e=o.querySelector(`[autofocus]`);if(e)return e.focus();let t=o.querySelector(`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])`);if(t)return t.focus();o.getAttribute(`tabindex`)||(o.setAttribute(`tabindex`,`-1`),S=!0),o.focus()},T=(0,e.ensureId)(o,`popover-content`);a.setAttribute(`aria-haspopup`,`dialog`),a.setAttribute(`aria-controls`,T),o.setAttribute(`data-side`,p),o.setAttribute(`data-align`,m),o.setAttribute(`data-position`,p);let E=()=>{let t=r.ownerDocument.defaultView??window,n=(0,e.computeFloatingPosition)({anchorRect:a.getBoundingClientRect(),contentRect:o.getBoundingClientRect(),side:p,align:m,sideOffset:h,alignOffset:g,avoidCollisions:_,collisionPadding:v});o.style.position=`absolute`,o.style.top=`${n.y+t.scrollY}px`,o.style.left=`${n.x+t.scrollX}px`,o.style.margin=`0`,o.setAttribute(`data-side`,n.side),o.setAttribute(`data-align`,n.align),o.setAttribute(`data-position`,n.side)},D=(0,e.createPositionSync)({observedElements:[a,o],isActive:()=>y,ancestorScroll:!1,onUpdate:E}),O=t=>{y!==t&&(t&&(x=document.activeElement),y=t,(0,e.setAria)(a,`expanded`,y),(0,e.emit)(r,`popover:change`,{open:y}),l?.(y),t?(o.hidden=!1,r.setAttribute(`data-state`,`open`),o.setAttribute(`data-state`,`open`),E(),D.start(),D.update(),requestAnimationFrame(w)):(D.stop(),o.hidden=!0,r.setAttribute(`data-state`,`closed`),o.setAttribute(`data-state`,`closed`),C(),requestAnimationFrame(()=>{x&&x.isConnected?x.focus():a.focus(),x=null})))};return(0,e.setAria)(a,`expanded`,y),o.hidden=!y,r.setAttribute(`data-state`,y?`open`:`closed`),o.setAttribute(`data-state`,y?`open`:`closed`),c&&(E(),D.start(),D.update(),requestAnimationFrame(w)),b.push((0,e.on)(a,`click`,()=>O(!y))),s&&b.push((0,e.on)(s,`click`,()=>O(!1))),b.push((0,e.createDismissLayer)({root:r,isOpen:()=>y,onDismiss:()=>O(!1),closeOnClickOutside:u,closeOnEscape:d})),b.push((0,e.on)(r,`popover:set`,e=>{let t=e.detail,n;t?.open===void 0?t?.value!==void 0&&(n=t.value):n=t.open,typeof n==`boolean`&&O(n)})),{open:()=>O(!0),close:()=>O(!1),toggle:()=>O(!y),get isOpen(){return y},destroy:()=>{D.stop(),b.forEach(e=>e()),b.length=0,C()}}}const i=new WeakSet;function a(t=document){let n=[];for(let a of(0,e.getRoots)(t,`popover`))i.has(a)||(i.add(a),n.push(r(a)));return n}exports.create=a,exports.createPopover=r;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{computeFloatingPosition as e,createDismissLayer as t,createPositionSync as n,emit as r,ensureId as i,getDataBool as a,getDataEnum as o,getDataNumber as s,getPart as c,getRoots as l,on as u,setAria as d}from"@data-slot/core";const f=[`top`,`right`,`bottom`,`left`],p=[`start`,`center`,`end`],m=`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])`;function h(l,h={}){let g=c(l,`popover-trigger`),_=c(l,`popover-content`),v=c(l,`popover-close`);if(!g||!_)throw Error(`Popover requires trigger and content slots`);let y=h.defaultOpen??a(l,`defaultOpen`)??!1,b=h.onOpenChange,x=h.closeOnClickOutside??a(l,`closeOnClickOutside`)??!0,S=h.closeOnEscape??a(l,`closeOnEscape`)??!0,C=h.position??o(_,`position`,f)??o(l,`position`,f),w=h.side??o(_,`side`,f)??o(l,`side`,f)??C??`bottom`,T=h.align??o(_,`align`,p)??o(l,`align`,p)??`center`,E=h.sideOffset??s(_,`sideOffset`)??s(l,`sideOffset`)??4,D=h.alignOffset??s(_,`alignOffset`)??s(l,`alignOffset`)??0,O=h.avoidCollisions??a(_,`avoidCollisions`)??a(l,`avoidCollisions`)??!0,k=h.collisionPadding??s(_,`collisionPadding`)??s(l,`collisionPadding`)??8,A=y,j=[],M=null,N=!1,P=()=>{N&&(_.removeAttribute(`tabindex`),N=!1)},F=()=>{let e=_.querySelector(`[autofocus]`);if(e)return e.focus();let t=_.querySelector(m);if(t)return t.focus();_.getAttribute(`tabindex`)||(_.setAttribute(`tabindex`,`-1`),N=!0),_.focus()},I=i(_,`popover-content`);g.setAttribute(`aria-haspopup`,`dialog`),g.setAttribute(`aria-controls`,I),_.setAttribute(`data-side`,w),_.setAttribute(`data-align`,T),_.setAttribute(`data-position`,w);let L=()=>{let t=l.ownerDocument.defaultView??window,n=g.getBoundingClientRect(),r=_.getBoundingClientRect(),i=e({anchorRect:n,contentRect:r,side:w,align:T,sideOffset:E,alignOffset:D,avoidCollisions:O,collisionPadding:k});_.style.position=`absolute`,_.style.top=`${i.y+t.scrollY}px`,_.style.left=`${i.x+t.scrollX}px`,_.style.margin=`0`,_.setAttribute(`data-side`,i.side),_.setAttribute(`data-align`,i.align),_.setAttribute(`data-position`,i.side)},R=n({observedElements:[g,_],isActive:()=>A,ancestorScroll:!1,onUpdate:L}),z=e=>{A!==e&&(e&&(M=document.activeElement),A=e,d(g,`expanded`,A),r(l,`popover:change`,{open:A}),b?.(A),e?(_.hidden=!1,l.setAttribute(`data-state`,`open`),_.setAttribute(`data-state`,`open`),L(),R.start(),R.update(),requestAnimationFrame(F)):(R.stop(),_.hidden=!0,l.setAttribute(`data-state`,`closed`),_.setAttribute(`data-state`,`closed`),P(),requestAnimationFrame(()=>{M&&M.isConnected?M.focus():g.focus(),M=null})))};d(g,`expanded`,A),_.hidden=!A,l.setAttribute(`data-state`,A?`open`:`closed`),_.setAttribute(`data-state`,A?`open`:`closed`),y&&(L(),R.start(),R.update(),requestAnimationFrame(F)),j.push(u(g,`click`,()=>z(!A))),v&&j.push(u(v,`click`,()=>z(!1))),j.push(t({root:l,isOpen:()=>A,onDismiss:()=>z(!1),closeOnClickOutside:x,closeOnEscape:S})),j.push(u(l,`popover:set`,e=>{let t=e.detail,n;t?.open===void 0?t?.value!==void 0&&(n=t.value):n=t.open,typeof n==`boolean`&&z(n)}));let B={open:()=>z(!0),close:()=>z(!1),toggle:()=>z(!A),get isOpen(){return A},destroy:()=>{R.stop(),j.forEach(e=>e()),j.length=0,P()}};return B}const g=new WeakSet;function _(e=document){let t=[];for(let n of l(e,`popover`)){if(g.has(n))continue;g.add(n),t.push(h(n))}return t}export{_ as create,h as createPopover};
1
+ import{computeFloatingPosition as e,createDismissLayer as t,createPositionSync as n,emit as r,ensureId as i,getDataBool as a,getDataEnum as o,getDataNumber as s,getPart as c,getRoots as l,on as u,setAria as d}from"@data-slot/core";const f=[`top`,`right`,`bottom`,`left`],p=[`start`,`center`,`end`];function m(l,m={}){let h=c(l,`popover-trigger`),g=c(l,`popover-content`),_=c(l,`popover-close`);if(!h||!g)throw Error(`Popover requires trigger and content slots`);let v=m.defaultOpen??a(l,`defaultOpen`)??!1,y=m.onOpenChange,b=m.closeOnClickOutside??a(l,`closeOnClickOutside`)??!0,x=m.closeOnEscape??a(l,`closeOnEscape`)??!0,S=m.position??o(g,`position`,f)??o(l,`position`,f),C=m.side??o(g,`side`,f)??o(l,`side`,f)??S??`bottom`,w=m.align??o(g,`align`,p)??o(l,`align`,p)??`center`,T=m.sideOffset??s(g,`sideOffset`)??s(l,`sideOffset`)??4,E=m.alignOffset??s(g,`alignOffset`)??s(l,`alignOffset`)??0,D=m.avoidCollisions??a(g,`avoidCollisions`)??a(l,`avoidCollisions`)??!0,O=m.collisionPadding??s(g,`collisionPadding`)??s(l,`collisionPadding`)??8,k=v,A=[],j=null,M=!1,N=()=>{M&&=(g.removeAttribute(`tabindex`),!1)},P=()=>{let e=g.querySelector(`[autofocus]`);if(e)return e.focus();let t=g.querySelector(`a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])`);if(t)return t.focus();g.getAttribute(`tabindex`)||(g.setAttribute(`tabindex`,`-1`),M=!0),g.focus()},F=i(g,`popover-content`);h.setAttribute(`aria-haspopup`,`dialog`),h.setAttribute(`aria-controls`,F),g.setAttribute(`data-side`,C),g.setAttribute(`data-align`,w),g.setAttribute(`data-position`,C);let I=()=>{let t=l.ownerDocument.defaultView??window,n=e({anchorRect:h.getBoundingClientRect(),contentRect:g.getBoundingClientRect(),side:C,align:w,sideOffset:T,alignOffset:E,avoidCollisions:D,collisionPadding:O});g.style.position=`absolute`,g.style.top=`${n.y+t.scrollY}px`,g.style.left=`${n.x+t.scrollX}px`,g.style.margin=`0`,g.setAttribute(`data-side`,n.side),g.setAttribute(`data-align`,n.align),g.setAttribute(`data-position`,n.side)},L=n({observedElements:[h,g],isActive:()=>k,ancestorScroll:!1,onUpdate:I}),R=e=>{k!==e&&(e&&(j=document.activeElement),k=e,d(h,`expanded`,k),r(l,`popover:change`,{open:k}),y?.(k),e?(g.hidden=!1,l.setAttribute(`data-state`,`open`),g.setAttribute(`data-state`,`open`),I(),L.start(),L.update(),requestAnimationFrame(P)):(L.stop(),g.hidden=!0,l.setAttribute(`data-state`,`closed`),g.setAttribute(`data-state`,`closed`),N(),requestAnimationFrame(()=>{j&&j.isConnected?j.focus():h.focus(),j=null})))};return d(h,`expanded`,k),g.hidden=!k,l.setAttribute(`data-state`,k?`open`:`closed`),g.setAttribute(`data-state`,k?`open`:`closed`),v&&(I(),L.start(),L.update(),requestAnimationFrame(P)),A.push(u(h,`click`,()=>R(!k))),_&&A.push(u(_,`click`,()=>R(!1))),A.push(t({root:l,isOpen:()=>k,onDismiss:()=>R(!1),closeOnClickOutside:b,closeOnEscape:x})),A.push(u(l,`popover:set`,e=>{let t=e.detail,n;t?.open===void 0?t?.value!==void 0&&(n=t.value):n=t.open,typeof n==`boolean`&&R(n)})),{open:()=>R(!0),close:()=>R(!1),toggle:()=>R(!k),get isOpen(){return k},destroy:()=>{L.stop(),A.forEach(e=>e()),A.length=0,N()}}}const h=new WeakSet;function g(e=document){let t=[];for(let n of l(e,`popover`))h.has(n)||(h.add(n),t.push(m(n)));return t}export{g as create,m as createPopover};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-slot/popover",
3
- "version": "0.2.31",
3
+ "version": "0.2.32",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.cjs",
File without changes
File without changes