@data-slot/core 0.2.140 → 0.2.142
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 +1 -1
- package/dist/index.d.cts +6 -3
- package/dist/index.d.ts +6 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=Symbol.for(`data-slot.root-bindings`),i=Symbol.for(`data-slot.root-binding-warnings`),a=(e,t=!1)=>{let n=e,i=n[r];return!i&&t&&(i=new Map,n[r]=i),i},o=(e,t=!1)=>{let n=e,r=n[i];return!r&&t&&(r=new Set,n[i]=r),r};function s(e,t){return a(e)?.get(t)}function c(e,t){return a(e)?.has(t)??!1}function l(e,t,n){return a(e,!0).set(t,n),n}function u(e,t,n){let i=a(e);return!i?.has(t)||arguments.length>=3&&i.get(t)!==n?!1:(i.delete(t),i.size===0&&delete e[r],!0)}function d(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=o(e,!0);r.has(t)||(r.add(t),console.warn(n))}function f(e,t,n){let r=s(e,t);return r!==void 0&&d(e,t,n),r}const p=new WeakMap;function m(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=p.get(e);r||(r=new Set,p.set(e,r)),!r.has(t)&&(r.add(t),console.warn(`[@data-slot] ${n}`))}function h(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function g(e,t){for(let n of h(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function _(e,t){return h(t).some(t=>e.hasAttribute(t))}const v=new Set([``,`true`,`1`,`yes`]),y=new Set([`false`,`0`,`no`]);function ee(e,t){if(!_(e,t))return;let n=g(e,t);if(n===null)return;let r=n.toLowerCase();if(v.has(r))return!0;if(y.has(r))return!1;m(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function te(e,t){let n=g(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){m(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function ne(e,t){if(_(e,t))return g(e,t)??void 0}function re(e,t,n){let r=g(e,t);if(r!==null){if(n.includes(r))return r;m(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}const b=new WeakMap,x=Symbol.for(`data-slot.portal-owner`),S=e=>e[x]??b.get(e),ie=(e,t)=>{b.set(e,t),e[x]=t},C=e=>{b.delete(e),delete e[x]};function w(e,t){return T(e,t,new Set)}function T(e,t,n){if(!t)return!1;let r=t instanceof Element?t:t.parentElement;if(!r)return!1;if(e.contains(r))return!0;let i=r;for(;i;){let t=S(i);if(t&&!n.has(t)&&(n.add(t),T(e,t,n)))return!0;i=i.parentElement}return!1}function E(e,t,n){if(n.portaled)return;let r=(t.ownerDocument??document)?.body;r&&(n.originalParent=e.parentNode,n.originalNextSibling=e.nextSibling,ie(e,t),r.appendChild(e),n.portaled=!0)}function D(e,t){if(!t.portaled)return;C(e);let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.portaled=!1,t.originalParent=null,t.originalNextSibling=null}let ae=0;const O=(e,t)=>e.id||=`${t}-${++ae}`,k=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))},A=(e,t,n)=>{t&&e.setAttribute(`aria-labelledby`,O(t,`title`)),n&&e.setAttribute(`aria-describedby`,O(n,`desc`))};function j(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const oe=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n})),se=(...e)=>t=>{for(let n of e){if(t.defaultPrevented)break;n?.(t)}};let M=0,N=``,P=``;function ce(){if(M===0){let e=document.documentElement;N=e.style.overflow,P=e.style.scrollbarGutter,e.style.overflow=`hidden`,e.style.scrollbarGutter=`stable`}M++}function le(){if(M=Math.max(0,M-1),M===0){let e=document.documentElement;e.style.overflow=N,e.style.scrollbarGutter=P}}const ue=[`top`,`right`,`bottom`,`left`],F=e=>{let t=window.visualViewport,n=e.viewportWidth??t?.width,r=e.viewportHeight??t?.height;if(n==null||r==null)throw Error(`computeFloatingPosition requires window.visualViewport when viewport dimensions are not provided`);return{x:t?.offsetLeft??0,y:t?.offsetTop??0,width:n,height:r}},I=(e,t,n,r,i,a)=>{let o=0,s=0;return e===`top`?s=n.top-r.height-i:e===`bottom`?s=n.bottom+i:o=e===`left`?n.left-r.width-i:n.right+i,e===`top`||e===`bottom`?o=t===`start`?n.left+a:t===`center`?n.left+n.width/2-r.width/2+a:n.right-r.width-a:s=t===`start`?n.top+a:t===`center`?n.top+n.height/2-r.height/2+a:n.bottom-r.height-a,{x:o,y:s}},L=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},R=(e,t,n)=>{let r=L(n,t);return e===`top`?{x:r.x,y:n.top}:e===`bottom`?{x:r.x,y:n.bottom}:e===`left`?{x:n.left,y:r.y}:{x:n.right,y:r.y}},z=e=>{let t=R(e.side,e.align,e.anchorRect);return`${t.x-e.popupX}px ${t.y-e.popupY}px`};function B(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0?e.offsetWidth:t.width,r=e.offsetHeight>0?e.offsetHeight:t.height;return{top:t.top,left:t.left,right:t.left+n,bottom:t.top+r,width:n,height:r}}const V=e=>{if(e)try{e.focus({preventScroll:!0})}catch{e.focus()}},H=new WeakMap,U=(e,t)=>{let n=String(t);e.overlay&&(e.overlay.setAttribute(`data-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-overlay-stack-index`,n)),e.content.setAttribute(`data-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-content-stack-index`,n)},de=e=>{e.overlay&&(e.overlay.removeAttribute(`data-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-overlay-stack-index`)),e.content.removeAttribute(`data-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-content-stack-index`)},W=e=>{e.entries.forEach((e,t)=>U(e,t))},fe=e=>{let t={entries:[],cleanup:()=>{}},n=j(e,`keydown`,e=>{if(e.key!==`Tab`)return;let n=t.entries[t.entries.length-1];n&&n.onTabKeydown?.(e)});return t.cleanup=()=>{n(),t.entries.length=0},t},pe=e=>{let t=H.get(e);if(t)return t;let n=fe(e);return H.set(e,n),n};function me(e){let t=e.content.ownerDocument??document,n={content:e.content,overlay:e.overlay??null,onTabKeydown:e.onTabKeydown,cssVarPrefix:e.cssVarPrefix},r=!1,i=null,a=()=>{if(i?.entries.includes(n))return i;let e=H.get(t)??null;return e?.entries.includes(n)?(i=e,e):(i=null,null)},o=()=>{let e=a();if(!e)return;let r=e.entries.indexOf(n);if(r===-1){i===e&&(i=null);return}e.entries.splice(r,1),de(n),W(e),i===e&&(i=null),e.entries.length===0&&(e.cleanup(),H.delete(t))};return{open:()=>{if(r)return;let e=a()??pe(t);e.entries.includes(n)||(e.entries.push(n),i=e,W(e))},close:o,destroy:()=>{r||(r=!0,o())}}}const he=(e,t,n,r,i)=>{let a=r.x+i,o=r.x+r.width-i,s=r.y+i,c=r.y+r.height-i;return e===`top`?Math.max(0,s-t.y):e===`bottom`?Math.max(0,t.y+n.height-c):e===`left`?Math.max(0,a-t.x):Math.max(0,t.x+n.width-o)},G=(e,t,n)=>n<t?t:Math.min(Math.max(e,t),n),K=(e,t,n,r)=>t>n&&e<r,ge=e=>e===`top`||e===`bottom`;function _e(e){let t=F(e),n=e.allowedSides?.length?[...new Set(e.allowedSides)]:[...ue],r=n.includes(e.side)?e.side:n[0],i=r,a=I(i,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset);if(e.avoidCollisions){let o=t.x+e.collisionPadding,s=t.y+e.collisionPadding,c=K(e.anchorRect.left,e.anchorRect.right,t.x,t.x+t.width),l=K(e.anchorRect.top,e.anchorRect.bottom,t.y,t.y+t.height);if(ge(r)?l:c){let o=[r,...n.filter(e=>e!==r)],s=i,c=a,l=1/0;for(let n of o){let r=I(n,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset),i=he(n,r,e.contentRect,t,e.collisionPadding);if(i<=0){s=n,c=r,l=i;break}i<l&&(s=n,c=r,l=i)}i=s,a=c}let u=t.x+t.width-e.contentRect.width-e.collisionPadding,d=t.y+t.height-e.contentRect.height-e.collisionPadding;c&&(a.x=G(a.x,o,u)),l&&(a.y=G(a.y,s,d))}return{x:a.x,y:a.y,side:i,align:e.align}}function ve(e,t,n=4){if(t.clientHeight<=0)return;let r=Math.max(0,t.scrollHeight-t.clientHeight);if(r<=0)return;let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=i.top-a.top+t.scrollTop,s=o+i.height,c=t.scrollTop+n,l=t.scrollTop+t.clientHeight-n,u=t.scrollTop;o<c?u=o-n:s>l&&(u=s-t.clientHeight+n),u=Math.min(Math.max(u,0),r),u!==t.scrollTop&&(t.scrollTop=u)}const q=e=>({x:e.x,y:e.y,width:e.width,height:e.height}),J=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,ye=e=>{let t=getComputedStyle(e),n=`${t.overflow}${t.overflowX}${t.overflowY}`;return/(auto|scroll|overlay)/.test(n)},be=(e,t)=>{let n=new Set([e]),r=e.parentNode;for(;r;){if(r instanceof Element){ye(r)&&n.add(r),r=r.parentNode;continue}if(r instanceof Document){r.scrollingElement&&n.add(r.scrollingElement),n.add(r),r.defaultView&&(n.add(r.defaultView),r.defaultView.visualViewport&&n.add(r.defaultView.visualViewport));break}r=null}return n.add(t),t.visualViewport&&n.add(t.visualViewport),[...n]},xe=(e,t,n)=>{let r=null,i=null,a=()=>{i!==null&&(n.clearTimeout(i),i=null),r?.disconnect(),r=null},o=(s=!1,c=1)=>{a();let l=e.getBoundingClientRect();if(s||t(),!l.width||!l.height)return;let u=e.ownerDocument.documentElement,d=Math.floor(l.top),f=Math.floor(u.clientWidth-(l.left+l.width)),p=Math.floor(u.clientHeight-(l.top+l.height)),m=Math.floor(l.left),h=`${-d}px ${-f}px ${-p}px ${-m}px`,g=Math.max(0,Math.min(1,c))||1,_=!0;r=new IntersectionObserver(t=>{let r=t[0]?.intersectionRatio??1;if(r!==g){if(!_){o();return}r?o(!1,r):i=n.setTimeout(()=>{o(!1,1e-7)},1e3)}if(r===1&&!J(q(l),q(e.getBoundingClientRect()))){o();return}_=!1},{rootMargin:h,threshold:g}),r.observe(e)};return o(!0),a};function Se(e){let t=e.win??window,n=e.isActive??(()=>!0),r=e.observedElements??[],i=e.ancestorScroll??!0,a=e.ancestorResize??!0,o=e.elementResize??typeof ResizeObserver<`u`,s=e.layoutShift??!1,c=e.animationFrame??!1,l=null,u=null,d=!1,f=null,p=null,m=[],h=()=>{l===null&&(l=t.requestAnimationFrame(()=>{l=null,n()&&e.onUpdate()}))},g=()=>h(),_=t=>{e.ignoreScrollTarget?.(t.target)||h()},v=()=>{let e=new Set,n=r.length?r:[];if(n.length===0)return e.add(t),t.visualViewport&&e.add(t.visualViewport),[...e];for(let r of n)for(let n of be(r,t))e.add(n);return[...e]},y=e=>{let n=new Set([t]);t.visualViewport&&n.add(t.visualViewport);for(let r of e)(r===t||r===t.visualViewport)&&n.add(r);return[...n]};return{start:()=>{if(d)return;d=!0;let e=v(),n=y(e);if(i)for(let t of e)t.addEventListener(`scroll`,_,{passive:!0}),m.push(()=>t.removeEventListener(`scroll`,_));if(a)for(let e of n)e.addEventListener(`resize`,g),m.push(()=>e.removeEventListener(`resize`,g));if(o&&typeof ResizeObserver<`u`){f=new ResizeObserver(g);for(let e of r)f.observe(e)}let l=r[0]??null;if(s&&l&&typeof IntersectionObserver<`u`&&(p=xe(l,h,t)),c&&l){let e=q(l.getBoundingClientRect()),n=()=>{if(!d)return;let r=q(l.getBoundingClientRect());J(e,r)||h(),e=r,u=t.requestAnimationFrame(n)};u=t.requestAnimationFrame(n)}},stop:()=>{d&&(d=!1,l!==null&&(t.cancelAnimationFrame(l),l=null),u!==null&&(t.cancelAnimationFrame(u),u=null),m.forEach(e=>e()),m=[],f?.disconnect(),f=null,p?.(),p=null)},update:h}}const Y=new WeakMap,X=(e,t)=>{let n=t.isOpen();return n&&!t.wasOpen&&(e.openSequence+=1,t.openOrder=e.openSequence),t.wasOpen=n,n},Z=(e,t)=>{let n=null;for(let r of e.layers)X(e,r)&&(t&&!t(r)||(!n||r.openOrder>n.openOrder)&&(n=r));return n},Ce=e=>{let t=e.defaultView??window,n={layers:[],openSequence:0,pendingTouchOutside:!1,pendingIframeBlur:null,cleanup:()=>{}},r=()=>{n.pendingIframeBlur!=null&&(t.clearTimeout(n.pendingIframeBlur),n.pendingIframeBlur=null)},i=j(e,`pointerdown`,e=>{let t=e.target,r=Z(n);if(!r||!r.closeOnClickOutside||r.isInside(t)){n.pendingTouchOutside=!1;return}if(e.pointerType===`touch`){n.pendingTouchOutside=!0;return}n.pendingTouchOutside=!1,r.onDismiss()}),a=j(e,`click`,e=>{if(!n.pendingTouchOutside)return;n.pendingTouchOutside=!1;let t=e.target,r=Z(n);!r||!r.closeOnClickOutside||r.isInside(t)||r.onDismiss()}),o=j(e,`pointercancel`,()=>{n.pendingTouchOutside=!1}),s=j(t,`blur`,()=>{Z(n,e=>e.closeOnClickOutside)&&(n.pendingTouchOutside=!1,r(),n.pendingIframeBlur=t.setTimeout(()=>{n.pendingIframeBlur=null;let r=Z(n,e=>e.closeOnClickOutside);if(!r)return;let i=t.HTMLIFrameElement,a=e.activeElement;!i||!(a instanceof i)||r.isInside(a)||r.onDismiss()},0))}),c=j(e,`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=e.target,r=Z(n,e=>e.closeOnEscape&&e.isInside(t))??Z(n,e=>e.closeOnEscape);r&&(r.preventEscapeDefault&&e.preventDefault(),r.onDismiss())});return n.cleanup=()=>{i(),a(),o(),s(),c(),r(),n.pendingTouchOutside=!1,n.layers.length=0},n},we=e=>{let t=Y.get(e);if(t)return t;let n=Ce(e);return Y.set(e,n),n};function Te(e){let t=e.root.ownerDocument??document,n=we(t),r={isOpen:e.isOpen,onDismiss:e.onDismiss,isInside:e.isInside??(t=>w(e.root,t)),closeOnClickOutside:e.closeOnClickOutside??!0,closeOnEscape:e.closeOnEscape??!0,preventEscapeDefault:e.preventEscapeDefault??!0,wasOpen:!1,openOrder:0};return X(n,r)&&(r.wasOpen=!0),n.layers.push(r),()=>{let e=n.layers.indexOf(r);e!==-1&&n.layers.splice(e,1),n.layers.length===0&&(n.cleanup(),Y.delete(t))}}function Ee(e){let t=e.enabled??!0,n=e.wrapperSlot,r=e.container,i=e.mountTarget??r??e.content,a=e.state??{originalParent:null,originalNextSibling:null,portaled:!1},o=e.root.ownerDocument??document,s=null,c=()=>{if(s)return s;let e=o.createElement(`div`);return n&&(e.setAttribute(`data-slot`,n),e.style.isolation=`isolate`,e.style.zIndex=`50`),s=e,e},l=()=>{if(a.portaled)return;let t=e.content.parentNode;if(!t)return;let n=c();t.insertBefore(n,e.content),n.appendChild(e.content),E(n,e.root,a)},u=()=>{a.portaled||i.isConnected&&E(i,e.root,a)},d=()=>{if(!a.portaled)return;let t=s;if(!t)return;D(t,a);let n=t.parentNode;n&&n.isConnected?(n.insertBefore(e.content,t),t.remove()):e.content.remove()},f=()=>{a.portaled&&D(i,a)};return{state:a,get container(){return r||(t&&n&&a.portaled&&s?s:e.content)},mount:()=>{if(t){if(r||e.mountTarget){u();return}n?l():E(e.content,e.root,a)}},restore:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}},cleanup:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}}}}const Q=e=>{let t=e.trim().toLowerCase();if(!t)return 0;if(t.endsWith(`ms`)){let e=Number(t.slice(0,-2).trim());return Number.isFinite(e)?e:0}if(t.endsWith(`s`)){let e=Number(t.slice(0,-1).trim());return Number.isFinite(e)?e*1e3:0}let n=Number(t);return Number.isFinite(n)?n:0},$=(e,t)=>{let n=e.split(`,`),r=t.split(`,`),i=Math.max(n.length,r.length),a=0;for(let e=0;e<i;e++){let t=Q(n[e]??n[n.length-1]??`0`),i=Q(r[e]??r[r.length-1]??`0`);a=Math.max(a,t+i)}return a},De=e=>{let t=getComputedStyle(e),n=$(t.transitionDuration,t.transitionDelay),r=$(t.animationDuration,t.animationDelay);return Math.max(n,r)};function Oe(e){let t=e.win??window,n=!1,r=null,i=null,a=null,o=null,s=[],c=()=>{a!==null&&(t.cancelAnimationFrame(a),a=null),o!==null&&(t.clearTimeout(o),o=null),s.forEach(e=>e()),s=[]},l=()=>{c(),n=!1,e.element.removeAttribute(`data-ending-style`)},u=()=>{r!==null&&(t.cancelAnimationFrame(r),r=null),i!==null&&(t.cancelAnimationFrame(i),i=null),e.element.removeAttribute(`data-starting-style`)},d=()=>{n&&(c(),n=!1,e.element.removeAttribute(`data-ending-style`),e.onExitComplete())};return{get isExiting(){return n},enter:()=>{l(),u(),e.element.setAttribute(`data-starting-style`,``),r=t.requestAnimationFrame(()=>{r=null,i=t.requestAnimationFrame(()=>{i=null,e.element.removeAttribute(`data-starting-style`)})})},exit:()=>{l(),u(),n=!0,e.element.setAttribute(`data-ending-style`,``);let r=De(e.element);if(r>0){let n=t=>{t.target===e.element&&d()};e.element.addEventListener(`transitionend`,n),e.element.addEventListener(`animationend`,n),s.push(()=>e.element.removeEventListener(`transitionend`,n)),s.push(()=>e.element.removeEventListener(`animationend`,n)),o=t.setTimeout(()=>{o=null,d()},Math.ceil(r)+50)}else a=t.requestAnimationFrame(()=>{a=null,d()})},cleanup:()=>{l(),u()}}}exports.clearRootBinding=u,exports.composeHandlers=se,exports.computeFloatingPosition=_e,exports.computeFloatingTransformOrigin=z,exports.containsWithPortals=w,exports.createDismissLayer=Te,exports.createModalStackItem=me,exports.createPortalLifecycle=Ee,exports.createPositionSync=Se,exports.createPresenceLifecycle=Oe,exports.emit=oe,exports.ensureId=O,exports.ensureItemVisibleInContainer=ve,exports.focusElement=V,exports.getDataBool=ee,exports.getDataEnum=re,exports.getDataNumber=te,exports.getDataString=ne,exports.getFloatingTransformOriginAnchor=R,exports.getPart=e,exports.getParts=t,exports.getRootBinding=s,exports.getRoots=n,exports.hasRootBinding=c,exports.linkLabelledBy=A,exports.lockScroll=ce,exports.measurePopupContentRect=B,exports.on=j,exports.portalToBody=E,exports.restorePortal=D,exports.reuseRootBinding=f,exports.setAria=k,exports.setRootBinding=l,exports.unlockScroll=le,exports.warnRootBindingOnce=d;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=Symbol.for(`data-slot.root-bindings`),i=Symbol.for(`data-slot.root-binding-warnings`),a=(e,t=!1)=>{let n=e,i=n[r];return!i&&t&&(i=new Map,n[r]=i),i},o=(e,t=!1)=>{let n=e,r=n[i];return!r&&t&&(r=new Set,n[i]=r),r};function s(e,t){return a(e)?.get(t)}function c(e,t){return a(e)?.has(t)??!1}function l(e,t,n){return a(e,!0).set(t,n),n}function u(e,t,n){let i=a(e);return!i?.has(t)||arguments.length>=3&&i.get(t)!==n?!1:(i.delete(t),i.size===0&&delete e[r],!0)}function d(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=o(e,!0);r.has(t)||(r.add(t),console.warn(n))}function f(e,t,n){let r=s(e,t);return r!==void 0&&d(e,t,n),r}const p=new WeakMap;function m(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=p.get(e);r||(r=new Set,p.set(e,r)),!r.has(t)&&(r.add(t),console.warn(`[@data-slot] ${n}`))}function h(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function g(e,t){for(let n of h(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function _(e,t){return h(t).some(t=>e.hasAttribute(t))}const v=new Set([``,`true`,`1`,`yes`]),y=new Set([`false`,`0`,`no`]);function ee(e,t){if(!_(e,t))return;let n=g(e,t);if(n===null)return;let r=n.toLowerCase();if(v.has(r))return!0;if(y.has(r))return!1;m(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function b(e,t){let n=g(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){m(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function te(e,t){if(_(e,t))return g(e,t)??void 0}function ne(e,t,n){let r=g(e,t);if(r!==null){if(n.includes(r))return r;m(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}const x=new WeakMap,S=Symbol.for(`data-slot.portal-owner`),C=e=>e[S]??x.get(e),re=(e,t)=>{x.set(e,t),e[S]=t},ie=e=>{x.delete(e),delete e[S]};function w(e,t){return T(e,t,new Set)}function T(e,t,n){if(!t)return!1;let r=t instanceof Element?t:t.parentElement;if(!r)return!1;if(e.contains(r))return!0;let i=r;for(;i;){let t=C(i);if(t&&!n.has(t)&&(n.add(t),T(e,t,n)))return!0;i=i.parentElement}return!1}function E(e,t,n){if(n.portaled)return;let r=(t.ownerDocument??document)?.body;r&&(n.originalParent=e.parentNode,n.originalNextSibling=e.nextSibling,re(e,t),r.appendChild(e),n.portaled=!0)}function D(e,t){if(!t.portaled)return;ie(e);let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.portaled=!1,t.originalParent=null,t.originalNextSibling=null}let O=0;const k=(e,t)=>e.id||=`${t}-${++O}`,ae=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))},oe=(e,t,n)=>{t&&e.setAttribute(`aria-labelledby`,k(t,`title`)),n&&e.setAttribute(`aria-describedby`,k(n,`desc`))};function A(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const se=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n})),ce=(...e)=>t=>{for(let n of e){if(t.defaultPrevented)break;n?.(t)}};let j=0,M=``,N=``;function le(){if(j===0){let e=document.documentElement;M=e.style.overflow,N=e.style.scrollbarGutter,e.style.overflow=`hidden`,e.style.scrollbarGutter=`stable`}j++}function ue(){if(j=Math.max(0,j-1),j===0){let e=document.documentElement;e.style.overflow=M,e.style.scrollbarGutter=N}}const P=(e,t)=>e===`inline-start`?t===`rtl`?`right`:`left`:e===`inline-end`?t===`rtl`?`left`:`right`:e,de=e=>{switch(e){case`top`:return[`top`,`right`,`bottom`,`left`];case`bottom`:return[`bottom`,`top`,`right`,`left`];case`left`:return[`left`,`top`,`right`,`bottom`];case`right`:return[`right`,`top`,`bottom`,`left`];case`inline-start`:return[`inline-start`,`inline-end`,`top`,`bottom`];case`inline-end`:return[`inline-end`,`inline-start`,`top`,`bottom`]}},F=e=>{let t=window.visualViewport,n=e.viewportWidth??t?.width,r=e.viewportHeight??t?.height;if(n==null||r==null)throw Error(`computeFloatingPosition requires window.visualViewport when viewport dimensions are not provided`);return{x:t?.offsetLeft??0,y:t?.offsetTop??0,width:n,height:r}},I=(e,t,n,r,i,a)=>{let o=0,s=0;return e===`top`?s=n.top-r.height-i:e===`bottom`?s=n.bottom+i:o=e===`left`?n.left-r.width-i:n.right+i,e===`top`||e===`bottom`?o=t===`start`?n.left+a:t===`center`?n.left+n.width/2-r.width/2+a:n.right-r.width-a:s=t===`start`?n.top+a:t===`center`?n.top+n.height/2-r.height/2+a:n.bottom-r.height-a,{x:o,y:s}},L=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},R=(e,t,n,r=`ltr`)=>{let i=P(e,r),a=L(n,t);return i===`top`?{x:a.x,y:n.top}:i===`bottom`?{x:a.x,y:n.bottom}:i===`left`?{x:n.left,y:a.y}:{x:n.right,y:a.y}},z=e=>{let t=R(e.side,e.align,e.anchorRect,e.direction);return`${t.x-e.popupX}px ${t.y-e.popupY}px`};function B(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0?e.offsetWidth:t.width,r=e.offsetHeight>0?e.offsetHeight:t.height;return{top:t.top,left:t.left,right:t.left+n,bottom:t.top+r,width:n,height:r}}const V=e=>{if(e)try{e.focus({preventScroll:!0})}catch{e.focus()}},H=new WeakMap,fe=(e,t)=>{let n=String(t);e.overlay&&(e.overlay.setAttribute(`data-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-overlay-stack-index`,n)),e.content.setAttribute(`data-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-content-stack-index`,n)},pe=e=>{e.overlay&&(e.overlay.removeAttribute(`data-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-overlay-stack-index`)),e.content.removeAttribute(`data-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-content-stack-index`)},U=e=>{e.entries.forEach((e,t)=>fe(e,t))},me=e=>{let t={entries:[],cleanup:()=>{}},n=A(e,`keydown`,e=>{if(e.key!==`Tab`)return;let n=t.entries[t.entries.length-1];n&&n.onTabKeydown?.(e)});return t.cleanup=()=>{n(),t.entries.length=0},t},he=e=>{let t=H.get(e);if(t)return t;let n=me(e);return H.set(e,n),n};function ge(e){let t=e.content.ownerDocument??document,n={content:e.content,overlay:e.overlay??null,onTabKeydown:e.onTabKeydown,cssVarPrefix:e.cssVarPrefix},r=!1,i=null,a=()=>{if(i?.entries.includes(n))return i;let e=H.get(t)??null;return e?.entries.includes(n)?(i=e,e):(i=null,null)},o=()=>{let e=a();if(!e)return;let r=e.entries.indexOf(n);if(r===-1){i===e&&(i=null);return}e.entries.splice(r,1),pe(n),U(e),i===e&&(i=null),e.entries.length===0&&(e.cleanup(),H.delete(t))};return{open:()=>{if(r)return;let e=a()??he(t);e.entries.includes(n)||(e.entries.push(n),i=e,U(e))},close:o,destroy:()=>{r||(r=!0,o())}}}const _e=(e,t,n,r,i)=>{let a=r.x+i,o=r.x+r.width-i,s=r.y+i,c=r.y+r.height-i;return e===`top`?Math.max(0,s-t.y):e===`bottom`?Math.max(0,t.y+n.height-c):e===`left`?Math.max(0,a-t.x):Math.max(0,t.x+n.width-o)},W=(e,t,n)=>n<t?t:Math.min(Math.max(e,t),n),G=(e,t,n,r)=>t>n&&e<r,ve=e=>e===`top`||e===`bottom`;function ye(e){let t=F(e),n=e.direction??`ltr`,r=e.allowedSides?.length?[...new Set(e.allowedSides)]:[...de(e.side)],i=r.includes(e.side)?e.side:r[0],a=i,o=P(i,n),s=I(o,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset);if(e.avoidCollisions){let c=t.x+e.collisionPadding,l=t.y+e.collisionPadding,u=G(e.anchorRect.left,e.anchorRect.right,t.x,t.x+t.width),d=G(e.anchorRect.top,e.anchorRect.bottom,t.y,t.y+t.height);if(ve(o)?d:u){let c=[i,...r.filter(e=>e!==i)],l=a,u=s,d=1/0,f=o;for(let r of c){let i=P(r,n),a=I(i,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset),o=_e(i,a,e.contentRect,t,e.collisionPadding);if(o<=0){l=r,u=a,d=o,f=i;break}o<d&&(l=r,u=a,d=o,f=i)}a=l,o=f,s=u}let f=t.x+t.width-e.contentRect.width-e.collisionPadding,p=t.y+t.height-e.contentRect.height-e.collisionPadding;u&&(s.x=W(s.x,c,f)),d&&(s.y=W(s.y,l,p))}return{x:s.x,y:s.y,side:a,align:e.align}}function be(e,t,n=4){if(t.clientHeight<=0)return;let r=Math.max(0,t.scrollHeight-t.clientHeight);if(r<=0)return;let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=i.top-a.top+t.scrollTop,s=o+i.height,c=t.scrollTop+n,l=t.scrollTop+t.clientHeight-n,u=t.scrollTop;o<c?u=o-n:s>l&&(u=s-t.clientHeight+n),u=Math.min(Math.max(u,0),r),u!==t.scrollTop&&(t.scrollTop=u)}const K=e=>({x:e.x,y:e.y,width:e.width,height:e.height}),q=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,xe=e=>{let t=getComputedStyle(e),n=`${t.overflow}${t.overflowX}${t.overflowY}`;return/(auto|scroll|overlay)/.test(n)},Se=(e,t)=>{let n=new Set([e]),r=e.parentNode;for(;r;){if(r instanceof Element){xe(r)&&n.add(r),r=r.parentNode;continue}if(r instanceof Document){r.scrollingElement&&n.add(r.scrollingElement),n.add(r),r.defaultView&&(n.add(r.defaultView),r.defaultView.visualViewport&&n.add(r.defaultView.visualViewport));break}r=null}return n.add(t),t.visualViewport&&n.add(t.visualViewport),[...n]},Ce=(e,t,n)=>{let r=null,i=null,a=()=>{i!==null&&(n.clearTimeout(i),i=null),r?.disconnect(),r=null},o=(s=!1,c=1)=>{a();let l=e.getBoundingClientRect();if(s||t(),!l.width||!l.height)return;let u=e.ownerDocument.documentElement,d=Math.floor(l.top),f=Math.floor(u.clientWidth-(l.left+l.width)),p=Math.floor(u.clientHeight-(l.top+l.height)),m=Math.floor(l.left),h=`${-d}px ${-f}px ${-p}px ${-m}px`,g=Math.max(0,Math.min(1,c))||1,_=!0;r=new IntersectionObserver(t=>{let r=t[0]?.intersectionRatio??1;if(r!==g){if(!_){o();return}r?o(!1,r):i=n.setTimeout(()=>{o(!1,1e-7)},1e3)}if(r===1&&!q(K(l),K(e.getBoundingClientRect()))){o();return}_=!1},{rootMargin:h,threshold:g}),r.observe(e)};return o(!0),a};function we(e){let t=e.win??window,n=e.isActive??(()=>!0),r=e.observedElements??[],i=e.ancestorScroll??!0,a=e.ancestorResize??!0,o=e.elementResize??typeof ResizeObserver<`u`,s=e.layoutShift??!1,c=e.animationFrame??!1,l=null,u=null,d=!1,f=null,p=null,m=[],h=()=>{l===null&&(l=t.requestAnimationFrame(()=>{l=null,n()&&e.onUpdate()}))},g=()=>h(),_=t=>{e.ignoreScrollTarget?.(t.target)||h()},v=()=>{let e=new Set,n=r.length?r:[];if(n.length===0)return e.add(t),t.visualViewport&&e.add(t.visualViewport),[...e];for(let r of n)for(let n of Se(r,t))e.add(n);return[...e]},y=e=>{let n=new Set([t]);t.visualViewport&&n.add(t.visualViewport);for(let r of e)(r===t||r===t.visualViewport)&&n.add(r);return[...n]};return{start:()=>{if(d)return;d=!0;let e=v(),n=y(e);if(i)for(let t of e)t.addEventListener(`scroll`,_,{passive:!0}),m.push(()=>t.removeEventListener(`scroll`,_));if(a)for(let e of n)e.addEventListener(`resize`,g),m.push(()=>e.removeEventListener(`resize`,g));if(o&&typeof ResizeObserver<`u`){f=new ResizeObserver(g);for(let e of r)f.observe(e)}let l=r[0]??null;if(s&&l&&typeof IntersectionObserver<`u`&&(p=Ce(l,h,t)),c&&l){let e=K(l.getBoundingClientRect()),n=()=>{if(!d)return;let r=K(l.getBoundingClientRect());q(e,r)||h(),e=r,u=t.requestAnimationFrame(n)};u=t.requestAnimationFrame(n)}},stop:()=>{d&&(d=!1,l!==null&&(t.cancelAnimationFrame(l),l=null),u!==null&&(t.cancelAnimationFrame(u),u=null),m.forEach(e=>e()),m=[],f?.disconnect(),f=null,p?.(),p=null)},update:h}}const J=new WeakMap,Y=(e,t)=>{let n=t.isOpen();return n&&!t.wasOpen&&(e.openSequence+=1,t.openOrder=e.openSequence),t.wasOpen=n,n},X=(e,t)=>{let n=null;for(let r of e.layers)Y(e,r)&&(t&&!t(r)||(!n||r.openOrder>n.openOrder)&&(n=r));return n},Te=e=>{let t=e.defaultView??window,n={layers:[],openSequence:0,pendingTouchOutside:!1,pendingIframeBlur:null,cleanup:()=>{}},r=()=>{n.pendingIframeBlur!=null&&(t.clearTimeout(n.pendingIframeBlur),n.pendingIframeBlur=null)},i=A(e,`pointerdown`,e=>{let t=e.target,r=X(n);if(!r||!r.closeOnClickOutside||r.isInside(t)){n.pendingTouchOutside=!1;return}if(e.pointerType===`touch`){n.pendingTouchOutside=!0;return}n.pendingTouchOutside=!1,r.onDismiss()}),a=A(e,`click`,e=>{if(!n.pendingTouchOutside)return;n.pendingTouchOutside=!1;let t=e.target,r=X(n);!r||!r.closeOnClickOutside||r.isInside(t)||r.onDismiss()}),o=A(e,`pointercancel`,()=>{n.pendingTouchOutside=!1}),s=A(t,`blur`,()=>{X(n,e=>e.closeOnClickOutside)&&(n.pendingTouchOutside=!1,r(),n.pendingIframeBlur=t.setTimeout(()=>{n.pendingIframeBlur=null;let r=X(n,e=>e.closeOnClickOutside);if(!r)return;let i=t.HTMLIFrameElement,a=e.activeElement;!i||!(a instanceof i)||r.isInside(a)||r.onDismiss()},0))}),c=A(e,`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=e.target,r=X(n,e=>e.closeOnEscape&&e.isInside(t))??X(n,e=>e.closeOnEscape);r&&(r.preventEscapeDefault&&e.preventDefault(),r.onDismiss())});return n.cleanup=()=>{i(),a(),o(),s(),c(),r(),n.pendingTouchOutside=!1,n.layers.length=0},n},Z=e=>{let t=J.get(e);if(t)return t;let n=Te(e);return J.set(e,n),n};function Ee(e){let t=e.root.ownerDocument??document,n=Z(t),r={isOpen:e.isOpen,onDismiss:e.onDismiss,isInside:e.isInside??(t=>w(e.root,t)),closeOnClickOutside:e.closeOnClickOutside??!0,closeOnEscape:e.closeOnEscape??!0,preventEscapeDefault:e.preventEscapeDefault??!0,wasOpen:!1,openOrder:0};return Y(n,r)&&(r.wasOpen=!0),n.layers.push(r),()=>{let e=n.layers.indexOf(r);e!==-1&&n.layers.splice(e,1),n.layers.length===0&&(n.cleanup(),J.delete(t))}}function De(e){let t=e.enabled??!0,n=e.wrapperSlot,r=e.container,i=e.mountTarget??r??e.content,a=e.state??{originalParent:null,originalNextSibling:null,portaled:!1},o=e.root.ownerDocument??document,s=null,c=()=>{if(s)return s;let e=o.createElement(`div`);return n&&(e.setAttribute(`data-slot`,n),e.style.isolation=`isolate`,e.style.zIndex=`50`),s=e,e},l=()=>{if(a.portaled)return;let t=e.content.parentNode;if(!t)return;let n=c();t.insertBefore(n,e.content),n.appendChild(e.content),E(n,e.root,a)},u=()=>{a.portaled||i.isConnected&&E(i,e.root,a)},d=()=>{if(!a.portaled)return;let t=s;if(!t)return;D(t,a);let n=t.parentNode;n&&n.isConnected?(n.insertBefore(e.content,t),t.remove()):e.content.remove()},f=()=>{a.portaled&&D(i,a)};return{state:a,get container(){return r||(t&&n&&a.portaled&&s?s:e.content)},mount:()=>{if(t){if(r||e.mountTarget){u();return}n?l():E(e.content,e.root,a)}},restore:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}},cleanup:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}}}}const Q=e=>{let t=e.trim().toLowerCase();if(!t)return 0;if(t.endsWith(`ms`)){let e=Number(t.slice(0,-2).trim());return Number.isFinite(e)?e:0}if(t.endsWith(`s`)){let e=Number(t.slice(0,-1).trim());return Number.isFinite(e)?e*1e3:0}let n=Number(t);return Number.isFinite(n)?n:0},$=(e,t)=>{let n=e.split(`,`),r=t.split(`,`),i=Math.max(n.length,r.length),a=0;for(let e=0;e<i;e++){let t=Q(n[e]??n[n.length-1]??`0`),i=Q(r[e]??r[r.length-1]??`0`);a=Math.max(a,t+i)}return a},Oe=e=>{let t=getComputedStyle(e),n=$(t.transitionDuration,t.transitionDelay),r=$(t.animationDuration,t.animationDelay);return Math.max(n,r)};function ke(e){let t=e.win??window,n=!1,r=null,i=null,a=null,o=null,s=[],c=()=>{a!==null&&(t.cancelAnimationFrame(a),a=null),o!==null&&(t.clearTimeout(o),o=null),s.forEach(e=>e()),s=[]},l=()=>{c(),n=!1,e.element.removeAttribute(`data-ending-style`)},u=()=>{r!==null&&(t.cancelAnimationFrame(r),r=null),i!==null&&(t.cancelAnimationFrame(i),i=null),e.element.removeAttribute(`data-starting-style`)},d=()=>{n&&(c(),n=!1,e.element.removeAttribute(`data-ending-style`),e.onExitComplete())};return{get isExiting(){return n},enter:()=>{l(),u(),e.element.setAttribute(`data-starting-style`,``),r=t.requestAnimationFrame(()=>{r=null,i=t.requestAnimationFrame(()=>{i=null,e.element.removeAttribute(`data-starting-style`)})})},exit:()=>{l(),u(),n=!0,e.element.setAttribute(`data-ending-style`,``);let r=Oe(e.element);if(r>0){let n=t=>{t.target===e.element&&d()};e.element.addEventListener(`transitionend`,n),e.element.addEventListener(`animationend`,n),s.push(()=>e.element.removeEventListener(`transitionend`,n)),s.push(()=>e.element.removeEventListener(`animationend`,n)),o=t.setTimeout(()=>{o=null,d()},Math.ceil(r)+50)}else a=t.requestAnimationFrame(()=>{a=null,d()})},cleanup:()=>{l(),u()}}}exports.clearRootBinding=u,exports.composeHandlers=ce,exports.computeFloatingPosition=ye,exports.computeFloatingTransformOrigin=z,exports.containsWithPortals=w,exports.createDismissLayer=Ee,exports.createModalStackItem=ge,exports.createPortalLifecycle=De,exports.createPositionSync=we,exports.createPresenceLifecycle=ke,exports.emit=se,exports.ensureId=k,exports.ensureItemVisibleInContainer=be,exports.focusElement=V,exports.getDataBool=ee,exports.getDataEnum=ne,exports.getDataNumber=b,exports.getDataString=te,exports.getFloatingTransformOriginAnchor=R,exports.getPart=e,exports.getParts=t,exports.getRootBinding=s,exports.getRoots=n,exports.hasRootBinding=c,exports.linkLabelledBy=oe,exports.lockScroll=le,exports.measurePopupContentRect=B,exports.on=A,exports.portalToBody=E,exports.restorePortal=D,exports.reuseRootBinding=f,exports.setAria=ae,exports.setRootBinding=l,exports.unlockScroll=ue,exports.warnRootBindingOnce=d;
|
package/dist/index.d.cts
CHANGED
|
@@ -105,7 +105,8 @@ declare function unlockScroll(): void;
|
|
|
105
105
|
*/
|
|
106
106
|
//#endregion
|
|
107
107
|
//#region src/popup.d.ts
|
|
108
|
-
type
|
|
108
|
+
type PopupDirection = "ltr" | "rtl";
|
|
109
|
+
type PopupSide = "top" | "right" | "bottom" | "left" | "inline-start" | "inline-end";
|
|
109
110
|
type PopupAlign = "start" | "center" | "end";
|
|
110
111
|
interface PopupPlacementOptions {
|
|
111
112
|
side: PopupSide;
|
|
@@ -114,6 +115,7 @@ interface PopupPlacementOptions {
|
|
|
114
115
|
alignOffset: number;
|
|
115
116
|
avoidCollisions: boolean;
|
|
116
117
|
collisionPadding: number;
|
|
118
|
+
direction?: PopupDirection;
|
|
117
119
|
allowedSides?: readonly PopupSide[];
|
|
118
120
|
}
|
|
119
121
|
interface RectLike {
|
|
@@ -146,8 +148,9 @@ interface ComputeFloatingTransformOriginInput {
|
|
|
146
148
|
anchorRect: RectLike;
|
|
147
149
|
popupX: number;
|
|
148
150
|
popupY: number;
|
|
151
|
+
direction?: PopupDirection;
|
|
149
152
|
}
|
|
150
|
-
declare const getFloatingTransformOriginAnchor: (side: PopupSide, align: PopupAlign, anchorRect: RectLike) => FloatingTransformOriginAnchor;
|
|
153
|
+
declare const getFloatingTransformOriginAnchor: (side: PopupSide, align: PopupAlign, anchorRect: RectLike, direction?: PopupDirection) => FloatingTransformOriginAnchor;
|
|
151
154
|
declare const computeFloatingTransformOrigin: (input: ComputeFloatingTransformOriginInput) => string;
|
|
152
155
|
/**
|
|
153
156
|
* Measure popup content size in a transform-stable way.
|
|
@@ -238,4 +241,4 @@ interface PresenceLifecycleController {
|
|
|
238
241
|
}
|
|
239
242
|
declare function createPresenceLifecycle(options: PresenceLifecycleOptions): PresenceLifecycleController;
|
|
240
243
|
//#endregion
|
|
241
|
-
export { type ComputeFloatingPositionInput, type ComputeFloatingTransformOriginInput, type DismissLayerOptions, type FloatingPosition, type FloatingTransformOriginAnchor, type ModalStackItemController, type ModalStackItemOptions, type PopupAlign, type PopupPlacementOptions, type PopupSide, type PortalLifecycleController, type PortalLifecycleOptions, type PortalState, type PositionSyncController, type PositionSyncOptions, type PresenceLifecycleController, type PresenceLifecycleOptions, clearRootBinding, composeHandlers, computeFloatingPosition, computeFloatingTransformOrigin, containsWithPortals, createDismissLayer, createModalStackItem, createPortalLifecycle, createPositionSync, createPresenceLifecycle, emit, ensureId, ensureItemVisibleInContainer, focusElement, getDataBool, getDataEnum, getDataNumber, getDataString, getFloatingTransformOriginAnchor, getPart, getParts, getRootBinding, getRoots, hasRootBinding, linkLabelledBy, lockScroll, measurePopupContentRect, on, portalToBody, restorePortal, reuseRootBinding, setAria, setRootBinding, unlockScroll, warnRootBindingOnce };
|
|
244
|
+
export { type ComputeFloatingPositionInput, type ComputeFloatingTransformOriginInput, type DismissLayerOptions, type FloatingPosition, type FloatingTransformOriginAnchor, type ModalStackItemController, type ModalStackItemOptions, type PopupAlign, type PopupDirection, type PopupPlacementOptions, type PopupSide, type PortalLifecycleController, type PortalLifecycleOptions, type PortalState, type PositionSyncController, type PositionSyncOptions, type PresenceLifecycleController, type PresenceLifecycleOptions, clearRootBinding, composeHandlers, computeFloatingPosition, computeFloatingTransformOrigin, containsWithPortals, createDismissLayer, createModalStackItem, createPortalLifecycle, createPositionSync, createPresenceLifecycle, emit, ensureId, ensureItemVisibleInContainer, focusElement, getDataBool, getDataEnum, getDataNumber, getDataString, getFloatingTransformOriginAnchor, getPart, getParts, getRootBinding, getRoots, hasRootBinding, linkLabelledBy, lockScroll, measurePopupContentRect, on, portalToBody, restorePortal, reuseRootBinding, setAria, setRootBinding, unlockScroll, warnRootBindingOnce };
|
package/dist/index.d.ts
CHANGED
|
@@ -105,7 +105,8 @@ declare function unlockScroll(): void;
|
|
|
105
105
|
*/
|
|
106
106
|
//#endregion
|
|
107
107
|
//#region src/popup.d.ts
|
|
108
|
-
type
|
|
108
|
+
type PopupDirection = "ltr" | "rtl";
|
|
109
|
+
type PopupSide = "top" | "right" | "bottom" | "left" | "inline-start" | "inline-end";
|
|
109
110
|
type PopupAlign = "start" | "center" | "end";
|
|
110
111
|
interface PopupPlacementOptions {
|
|
111
112
|
side: PopupSide;
|
|
@@ -114,6 +115,7 @@ interface PopupPlacementOptions {
|
|
|
114
115
|
alignOffset: number;
|
|
115
116
|
avoidCollisions: boolean;
|
|
116
117
|
collisionPadding: number;
|
|
118
|
+
direction?: PopupDirection;
|
|
117
119
|
allowedSides?: readonly PopupSide[];
|
|
118
120
|
}
|
|
119
121
|
interface RectLike {
|
|
@@ -146,8 +148,9 @@ interface ComputeFloatingTransformOriginInput {
|
|
|
146
148
|
anchorRect: RectLike;
|
|
147
149
|
popupX: number;
|
|
148
150
|
popupY: number;
|
|
151
|
+
direction?: PopupDirection;
|
|
149
152
|
}
|
|
150
|
-
declare const getFloatingTransformOriginAnchor: (side: PopupSide, align: PopupAlign, anchorRect: RectLike) => FloatingTransformOriginAnchor;
|
|
153
|
+
declare const getFloatingTransformOriginAnchor: (side: PopupSide, align: PopupAlign, anchorRect: RectLike, direction?: PopupDirection) => FloatingTransformOriginAnchor;
|
|
151
154
|
declare const computeFloatingTransformOrigin: (input: ComputeFloatingTransformOriginInput) => string;
|
|
152
155
|
/**
|
|
153
156
|
* Measure popup content size in a transform-stable way.
|
|
@@ -238,4 +241,4 @@ interface PresenceLifecycleController {
|
|
|
238
241
|
}
|
|
239
242
|
declare function createPresenceLifecycle(options: PresenceLifecycleOptions): PresenceLifecycleController;
|
|
240
243
|
//#endregion
|
|
241
|
-
export { type ComputeFloatingPositionInput, type ComputeFloatingTransformOriginInput, type DismissLayerOptions, type FloatingPosition, type FloatingTransformOriginAnchor, type ModalStackItemController, type ModalStackItemOptions, type PopupAlign, type PopupPlacementOptions, type PopupSide, type PortalLifecycleController, type PortalLifecycleOptions, type PortalState, type PositionSyncController, type PositionSyncOptions, type PresenceLifecycleController, type PresenceLifecycleOptions, clearRootBinding, composeHandlers, computeFloatingPosition, computeFloatingTransformOrigin, containsWithPortals, createDismissLayer, createModalStackItem, createPortalLifecycle, createPositionSync, createPresenceLifecycle, emit, ensureId, ensureItemVisibleInContainer, focusElement, getDataBool, getDataEnum, getDataNumber, getDataString, getFloatingTransformOriginAnchor, getPart, getParts, getRootBinding, getRoots, hasRootBinding, linkLabelledBy, lockScroll, measurePopupContentRect, on, portalToBody, restorePortal, reuseRootBinding, setAria, setRootBinding, unlockScroll, warnRootBindingOnce };
|
|
244
|
+
export { type ComputeFloatingPositionInput, type ComputeFloatingTransformOriginInput, type DismissLayerOptions, type FloatingPosition, type FloatingTransformOriginAnchor, type ModalStackItemController, type ModalStackItemOptions, type PopupAlign, type PopupDirection, type PopupPlacementOptions, type PopupSide, type PortalLifecycleController, type PortalLifecycleOptions, type PortalState, type PositionSyncController, type PositionSyncOptions, type PresenceLifecycleController, type PresenceLifecycleOptions, clearRootBinding, composeHandlers, computeFloatingPosition, computeFloatingTransformOrigin, containsWithPortals, createDismissLayer, createModalStackItem, createPortalLifecycle, createPositionSync, createPresenceLifecycle, emit, ensureId, ensureItemVisibleInContainer, focusElement, getDataBool, getDataEnum, getDataNumber, getDataString, getFloatingTransformOriginAnchor, getPart, getParts, getRootBinding, getRoots, hasRootBinding, linkLabelledBy, lockScroll, measurePopupContentRect, on, portalToBody, restorePortal, reuseRootBinding, setAria, setRootBinding, unlockScroll, warnRootBindingOnce };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=Symbol.for(`data-slot.root-bindings`),i=Symbol.for(`data-slot.root-binding-warnings`),a=(e,t=!1)=>{let n=e,i=n[r];return!i&&t&&(i=new Map,n[r]=i),i},o=(e,t=!1)=>{let n=e,r=n[i];return!r&&t&&(r=new Set,n[i]=r),r};function s(e,t){return a(e)?.get(t)}function c(e,t){return a(e)?.has(t)??!1}function l(e,t,n){return a(e,!0).set(t,n),n}function u(e,t,n){let i=a(e);return!i?.has(t)||arguments.length>=3&&i.get(t)!==n?!1:(i.delete(t),i.size===0&&delete e[r],!0)}function d(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=o(e,!0);r.has(t)||(r.add(t),console.warn(n))}function f(e,t,n){let r=s(e,t);return r!==void 0&&d(e,t,n),r}const p=new WeakMap;function m(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=p.get(e);r||(r=new Set,p.set(e,r)),!r.has(t)&&(r.add(t),console.warn(`[@data-slot] ${n}`))}function h(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function g(e,t){for(let n of h(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function _(e,t){return h(t).some(t=>e.hasAttribute(t))}const v=new Set([``,`true`,`1`,`yes`]),y=new Set([`false`,`0`,`no`]);function ee(e,t){if(!_(e,t))return;let n=g(e,t);if(n===null)return;let r=n.toLowerCase();if(v.has(r))return!0;if(y.has(r))return!1;m(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function te(e,t){let n=g(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){m(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function ne(e,t){if(_(e,t))return g(e,t)??void 0}function re(e,t,n){let r=g(e,t);if(r!==null){if(n.includes(r))return r;m(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}const b=new WeakMap,x=Symbol.for(`data-slot.portal-owner`),S=e=>e[x]??b.get(e),ie=(e,t)=>{b.set(e,t),e[x]=t},C=e=>{b.delete(e),delete e[x]};function w(e,t){return T(e,t,new Set)}function T(e,t,n){if(!t)return!1;let r=t instanceof Element?t:t.parentElement;if(!r)return!1;if(e.contains(r))return!0;let i=r;for(;i;){let t=S(i);if(t&&!n.has(t)&&(n.add(t),T(e,t,n)))return!0;i=i.parentElement}return!1}function E(e,t,n){if(n.portaled)return;let r=(t.ownerDocument??document)?.body;r&&(n.originalParent=e.parentNode,n.originalNextSibling=e.nextSibling,ie(e,t),r.appendChild(e),n.portaled=!0)}function D(e,t){if(!t.portaled)return;C(e);let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.portaled=!1,t.originalParent=null,t.originalNextSibling=null}let ae=0;const O=(e,t)=>e.id||=`${t}-${++ae}`,k=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))},A=(e,t,n)=>{t&&e.setAttribute(`aria-labelledby`,O(t,`title`)),n&&e.setAttribute(`aria-describedby`,O(n,`desc`))};function j(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const oe=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n})),se=(...e)=>t=>{for(let n of e){if(t.defaultPrevented)break;n?.(t)}};let M=0,N=``,P=``;function ce(){if(M===0){let e=document.documentElement;N=e.style.overflow,P=e.style.scrollbarGutter,e.style.overflow=`hidden`,e.style.scrollbarGutter=`stable`}M++}function le(){if(M=Math.max(0,M-1),M===0){let e=document.documentElement;e.style.overflow=N,e.style.scrollbarGutter=P}}const ue=[`top`,`right`,`bottom`,`left`],F=e=>{let t=window.visualViewport,n=e.viewportWidth??t?.width,r=e.viewportHeight??t?.height;if(n==null||r==null)throw Error(`computeFloatingPosition requires window.visualViewport when viewport dimensions are not provided`);return{x:t?.offsetLeft??0,y:t?.offsetTop??0,width:n,height:r}},I=(e,t,n,r,i,a)=>{let o=0,s=0;return e===`top`?s=n.top-r.height-i:e===`bottom`?s=n.bottom+i:o=e===`left`?n.left-r.width-i:n.right+i,e===`top`||e===`bottom`?o=t===`start`?n.left+a:t===`center`?n.left+n.width/2-r.width/2+a:n.right-r.width-a:s=t===`start`?n.top+a:t===`center`?n.top+n.height/2-r.height/2+a:n.bottom-r.height-a,{x:o,y:s}},L=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},R=(e,t,n)=>{let r=L(n,t);return e===`top`?{x:r.x,y:n.top}:e===`bottom`?{x:r.x,y:n.bottom}:e===`left`?{x:n.left,y:r.y}:{x:n.right,y:r.y}},z=e=>{let t=R(e.side,e.align,e.anchorRect);return`${t.x-e.popupX}px ${t.y-e.popupY}px`};function B(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0?e.offsetWidth:t.width,r=e.offsetHeight>0?e.offsetHeight:t.height;return{top:t.top,left:t.left,right:t.left+n,bottom:t.top+r,width:n,height:r}}const V=e=>{if(e)try{e.focus({preventScroll:!0})}catch{e.focus()}},H=new WeakMap,U=(e,t)=>{let n=String(t);e.overlay&&(e.overlay.setAttribute(`data-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-overlay-stack-index`,n)),e.content.setAttribute(`data-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-content-stack-index`,n)},de=e=>{e.overlay&&(e.overlay.removeAttribute(`data-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-overlay-stack-index`)),e.content.removeAttribute(`data-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-content-stack-index`)},W=e=>{e.entries.forEach((e,t)=>U(e,t))},fe=e=>{let t={entries:[],cleanup:()=>{}},n=j(e,`keydown`,e=>{if(e.key!==`Tab`)return;let n=t.entries[t.entries.length-1];n&&n.onTabKeydown?.(e)});return t.cleanup=()=>{n(),t.entries.length=0},t},pe=e=>{let t=H.get(e);if(t)return t;let n=fe(e);return H.set(e,n),n};function me(e){let t=e.content.ownerDocument??document,n={content:e.content,overlay:e.overlay??null,onTabKeydown:e.onTabKeydown,cssVarPrefix:e.cssVarPrefix},r=!1,i=null,a=()=>{if(i?.entries.includes(n))return i;let e=H.get(t)??null;return e?.entries.includes(n)?(i=e,e):(i=null,null)},o=()=>{let e=a();if(!e)return;let r=e.entries.indexOf(n);if(r===-1){i===e&&(i=null);return}e.entries.splice(r,1),de(n),W(e),i===e&&(i=null),e.entries.length===0&&(e.cleanup(),H.delete(t))};return{open:()=>{if(r)return;let e=a()??pe(t);e.entries.includes(n)||(e.entries.push(n),i=e,W(e))},close:o,destroy:()=>{r||(r=!0,o())}}}const he=(e,t,n,r,i)=>{let a=r.x+i,o=r.x+r.width-i,s=r.y+i,c=r.y+r.height-i;return e===`top`?Math.max(0,s-t.y):e===`bottom`?Math.max(0,t.y+n.height-c):e===`left`?Math.max(0,a-t.x):Math.max(0,t.x+n.width-o)},G=(e,t,n)=>n<t?t:Math.min(Math.max(e,t),n),K=(e,t,n,r)=>t>n&&e<r,ge=e=>e===`top`||e===`bottom`;function _e(e){let t=F(e),n=e.allowedSides?.length?[...new Set(e.allowedSides)]:[...ue],r=n.includes(e.side)?e.side:n[0],i=r,a=I(i,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset);if(e.avoidCollisions){let o=t.x+e.collisionPadding,s=t.y+e.collisionPadding,c=K(e.anchorRect.left,e.anchorRect.right,t.x,t.x+t.width),l=K(e.anchorRect.top,e.anchorRect.bottom,t.y,t.y+t.height);if(ge(r)?l:c){let o=[r,...n.filter(e=>e!==r)],s=i,c=a,l=1/0;for(let n of o){let r=I(n,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset),i=he(n,r,e.contentRect,t,e.collisionPadding);if(i<=0){s=n,c=r,l=i;break}i<l&&(s=n,c=r,l=i)}i=s,a=c}let u=t.x+t.width-e.contentRect.width-e.collisionPadding,d=t.y+t.height-e.contentRect.height-e.collisionPadding;c&&(a.x=G(a.x,o,u)),l&&(a.y=G(a.y,s,d))}return{x:a.x,y:a.y,side:i,align:e.align}}function ve(e,t,n=4){if(t.clientHeight<=0)return;let r=Math.max(0,t.scrollHeight-t.clientHeight);if(r<=0)return;let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=i.top-a.top+t.scrollTop,s=o+i.height,c=t.scrollTop+n,l=t.scrollTop+t.clientHeight-n,u=t.scrollTop;o<c?u=o-n:s>l&&(u=s-t.clientHeight+n),u=Math.min(Math.max(u,0),r),u!==t.scrollTop&&(t.scrollTop=u)}const q=e=>({x:e.x,y:e.y,width:e.width,height:e.height}),J=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,ye=e=>{let t=getComputedStyle(e),n=`${t.overflow}${t.overflowX}${t.overflowY}`;return/(auto|scroll|overlay)/.test(n)},be=(e,t)=>{let n=new Set([e]),r=e.parentNode;for(;r;){if(r instanceof Element){ye(r)&&n.add(r),r=r.parentNode;continue}if(r instanceof Document){r.scrollingElement&&n.add(r.scrollingElement),n.add(r),r.defaultView&&(n.add(r.defaultView),r.defaultView.visualViewport&&n.add(r.defaultView.visualViewport));break}r=null}return n.add(t),t.visualViewport&&n.add(t.visualViewport),[...n]},xe=(e,t,n)=>{let r=null,i=null,a=()=>{i!==null&&(n.clearTimeout(i),i=null),r?.disconnect(),r=null},o=(s=!1,c=1)=>{a();let l=e.getBoundingClientRect();if(s||t(),!l.width||!l.height)return;let u=e.ownerDocument.documentElement,d=Math.floor(l.top),f=Math.floor(u.clientWidth-(l.left+l.width)),p=Math.floor(u.clientHeight-(l.top+l.height)),m=Math.floor(l.left),h=`${-d}px ${-f}px ${-p}px ${-m}px`,g=Math.max(0,Math.min(1,c))||1,_=!0;r=new IntersectionObserver(t=>{let r=t[0]?.intersectionRatio??1;if(r!==g){if(!_){o();return}r?o(!1,r):i=n.setTimeout(()=>{o(!1,1e-7)},1e3)}if(r===1&&!J(q(l),q(e.getBoundingClientRect()))){o();return}_=!1},{rootMargin:h,threshold:g}),r.observe(e)};return o(!0),a};function Se(e){let t=e.win??window,n=e.isActive??(()=>!0),r=e.observedElements??[],i=e.ancestorScroll??!0,a=e.ancestorResize??!0,o=e.elementResize??typeof ResizeObserver<`u`,s=e.layoutShift??!1,c=e.animationFrame??!1,l=null,u=null,d=!1,f=null,p=null,m=[],h=()=>{l===null&&(l=t.requestAnimationFrame(()=>{l=null,n()&&e.onUpdate()}))},g=()=>h(),_=t=>{e.ignoreScrollTarget?.(t.target)||h()},v=()=>{let e=new Set,n=r.length?r:[];if(n.length===0)return e.add(t),t.visualViewport&&e.add(t.visualViewport),[...e];for(let r of n)for(let n of be(r,t))e.add(n);return[...e]},y=e=>{let n=new Set([t]);t.visualViewport&&n.add(t.visualViewport);for(let r of e)(r===t||r===t.visualViewport)&&n.add(r);return[...n]};return{start:()=>{if(d)return;d=!0;let e=v(),n=y(e);if(i)for(let t of e)t.addEventListener(`scroll`,_,{passive:!0}),m.push(()=>t.removeEventListener(`scroll`,_));if(a)for(let e of n)e.addEventListener(`resize`,g),m.push(()=>e.removeEventListener(`resize`,g));if(o&&typeof ResizeObserver<`u`){f=new ResizeObserver(g);for(let e of r)f.observe(e)}let l=r[0]??null;if(s&&l&&typeof IntersectionObserver<`u`&&(p=xe(l,h,t)),c&&l){let e=q(l.getBoundingClientRect()),n=()=>{if(!d)return;let r=q(l.getBoundingClientRect());J(e,r)||h(),e=r,u=t.requestAnimationFrame(n)};u=t.requestAnimationFrame(n)}},stop:()=>{d&&(d=!1,l!==null&&(t.cancelAnimationFrame(l),l=null),u!==null&&(t.cancelAnimationFrame(u),u=null),m.forEach(e=>e()),m=[],f?.disconnect(),f=null,p?.(),p=null)},update:h}}const Y=new WeakMap,X=(e,t)=>{let n=t.isOpen();return n&&!t.wasOpen&&(e.openSequence+=1,t.openOrder=e.openSequence),t.wasOpen=n,n},Z=(e,t)=>{let n=null;for(let r of e.layers)X(e,r)&&(t&&!t(r)||(!n||r.openOrder>n.openOrder)&&(n=r));return n},Ce=e=>{let t=e.defaultView??window,n={layers:[],openSequence:0,pendingTouchOutside:!1,pendingIframeBlur:null,cleanup:()=>{}},r=()=>{n.pendingIframeBlur!=null&&(t.clearTimeout(n.pendingIframeBlur),n.pendingIframeBlur=null)},i=j(e,`pointerdown`,e=>{let t=e.target,r=Z(n);if(!r||!r.closeOnClickOutside||r.isInside(t)){n.pendingTouchOutside=!1;return}if(e.pointerType===`touch`){n.pendingTouchOutside=!0;return}n.pendingTouchOutside=!1,r.onDismiss()}),a=j(e,`click`,e=>{if(!n.pendingTouchOutside)return;n.pendingTouchOutside=!1;let t=e.target,r=Z(n);!r||!r.closeOnClickOutside||r.isInside(t)||r.onDismiss()}),o=j(e,`pointercancel`,()=>{n.pendingTouchOutside=!1}),s=j(t,`blur`,()=>{Z(n,e=>e.closeOnClickOutside)&&(n.pendingTouchOutside=!1,r(),n.pendingIframeBlur=t.setTimeout(()=>{n.pendingIframeBlur=null;let r=Z(n,e=>e.closeOnClickOutside);if(!r)return;let i=t.HTMLIFrameElement,a=e.activeElement;!i||!(a instanceof i)||r.isInside(a)||r.onDismiss()},0))}),c=j(e,`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=e.target,r=Z(n,e=>e.closeOnEscape&&e.isInside(t))??Z(n,e=>e.closeOnEscape);r&&(r.preventEscapeDefault&&e.preventDefault(),r.onDismiss())});return n.cleanup=()=>{i(),a(),o(),s(),c(),r(),n.pendingTouchOutside=!1,n.layers.length=0},n},we=e=>{let t=Y.get(e);if(t)return t;let n=Ce(e);return Y.set(e,n),n};function Te(e){let t=e.root.ownerDocument??document,n=we(t),r={isOpen:e.isOpen,onDismiss:e.onDismiss,isInside:e.isInside??(t=>w(e.root,t)),closeOnClickOutside:e.closeOnClickOutside??!0,closeOnEscape:e.closeOnEscape??!0,preventEscapeDefault:e.preventEscapeDefault??!0,wasOpen:!1,openOrder:0};return X(n,r)&&(r.wasOpen=!0),n.layers.push(r),()=>{let e=n.layers.indexOf(r);e!==-1&&n.layers.splice(e,1),n.layers.length===0&&(n.cleanup(),Y.delete(t))}}function Ee(e){let t=e.enabled??!0,n=e.wrapperSlot,r=e.container,i=e.mountTarget??r??e.content,a=e.state??{originalParent:null,originalNextSibling:null,portaled:!1},o=e.root.ownerDocument??document,s=null,c=()=>{if(s)return s;let e=o.createElement(`div`);return n&&(e.setAttribute(`data-slot`,n),e.style.isolation=`isolate`,e.style.zIndex=`50`),s=e,e},l=()=>{if(a.portaled)return;let t=e.content.parentNode;if(!t)return;let n=c();t.insertBefore(n,e.content),n.appendChild(e.content),E(n,e.root,a)},u=()=>{a.portaled||i.isConnected&&E(i,e.root,a)},d=()=>{if(!a.portaled)return;let t=s;if(!t)return;D(t,a);let n=t.parentNode;n&&n.isConnected?(n.insertBefore(e.content,t),t.remove()):e.content.remove()},f=()=>{a.portaled&&D(i,a)};return{state:a,get container(){return r||(t&&n&&a.portaled&&s?s:e.content)},mount:()=>{if(t){if(r||e.mountTarget){u();return}n?l():E(e.content,e.root,a)}},restore:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}},cleanup:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}}}}const Q=e=>{let t=e.trim().toLowerCase();if(!t)return 0;if(t.endsWith(`ms`)){let e=Number(t.slice(0,-2).trim());return Number.isFinite(e)?e:0}if(t.endsWith(`s`)){let e=Number(t.slice(0,-1).trim());return Number.isFinite(e)?e*1e3:0}let n=Number(t);return Number.isFinite(n)?n:0},$=(e,t)=>{let n=e.split(`,`),r=t.split(`,`),i=Math.max(n.length,r.length),a=0;for(let e=0;e<i;e++){let t=Q(n[e]??n[n.length-1]??`0`),i=Q(r[e]??r[r.length-1]??`0`);a=Math.max(a,t+i)}return a},De=e=>{let t=getComputedStyle(e),n=$(t.transitionDuration,t.transitionDelay),r=$(t.animationDuration,t.animationDelay);return Math.max(n,r)};function Oe(e){let t=e.win??window,n=!1,r=null,i=null,a=null,o=null,s=[],c=()=>{a!==null&&(t.cancelAnimationFrame(a),a=null),o!==null&&(t.clearTimeout(o),o=null),s.forEach(e=>e()),s=[]},l=()=>{c(),n=!1,e.element.removeAttribute(`data-ending-style`)},u=()=>{r!==null&&(t.cancelAnimationFrame(r),r=null),i!==null&&(t.cancelAnimationFrame(i),i=null),e.element.removeAttribute(`data-starting-style`)},d=()=>{n&&(c(),n=!1,e.element.removeAttribute(`data-ending-style`),e.onExitComplete())};return{get isExiting(){return n},enter:()=>{l(),u(),e.element.setAttribute(`data-starting-style`,``),r=t.requestAnimationFrame(()=>{r=null,i=t.requestAnimationFrame(()=>{i=null,e.element.removeAttribute(`data-starting-style`)})})},exit:()=>{l(),u(),n=!0,e.element.setAttribute(`data-ending-style`,``);let r=De(e.element);if(r>0){let n=t=>{t.target===e.element&&d()};e.element.addEventListener(`transitionend`,n),e.element.addEventListener(`animationend`,n),s.push(()=>e.element.removeEventListener(`transitionend`,n)),s.push(()=>e.element.removeEventListener(`animationend`,n)),o=t.setTimeout(()=>{o=null,d()},Math.ceil(r)+50)}else a=t.requestAnimationFrame(()=>{a=null,d()})},cleanup:()=>{l(),u()}}}export{u as clearRootBinding,se as composeHandlers,_e as computeFloatingPosition,z as computeFloatingTransformOrigin,w as containsWithPortals,Te as createDismissLayer,me as createModalStackItem,Ee as createPortalLifecycle,Se as createPositionSync,Oe as createPresenceLifecycle,oe as emit,O as ensureId,ve as ensureItemVisibleInContainer,V as focusElement,ee as getDataBool,re as getDataEnum,te as getDataNumber,ne as getDataString,R as getFloatingTransformOriginAnchor,e as getPart,t as getParts,s as getRootBinding,n as getRoots,c as hasRootBinding,A as linkLabelledBy,ce as lockScroll,B as measurePopupContentRect,j as on,E as portalToBody,D as restorePortal,f as reuseRootBinding,k as setAria,l as setRootBinding,le as unlockScroll,d as warnRootBindingOnce};
|
|
1
|
+
const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],r=Symbol.for(`data-slot.root-bindings`),i=Symbol.for(`data-slot.root-binding-warnings`),a=(e,t=!1)=>{let n=e,i=n[r];return!i&&t&&(i=new Map,n[r]=i),i},o=(e,t=!1)=>{let n=e,r=n[i];return!r&&t&&(r=new Set,n[i]=r),r};function s(e,t){return a(e)?.get(t)}function c(e,t){return a(e)?.has(t)??!1}function l(e,t,n){return a(e,!0).set(t,n),n}function u(e,t,n){let i=a(e);return!i?.has(t)||arguments.length>=3&&i.get(t)!==n?!1:(i.delete(t),i.size===0&&delete e[r],!0)}function d(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=o(e,!0);r.has(t)||(r.add(t),console.warn(n))}function f(e,t,n){let r=s(e,t);return r!==void 0&&d(e,t,n),r}const p=new WeakMap;function m(e,t,n){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let r=p.get(e);r||(r=new Set,p.set(e,r)),!r.has(t)&&(r.add(t),console.warn(`[@data-slot] ${n}`))}function h(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function g(e,t){for(let n of h(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function _(e,t){return h(t).some(t=>e.hasAttribute(t))}const v=new Set([``,`true`,`1`,`yes`]),y=new Set([`false`,`0`,`no`]);function ee(e,t){if(!_(e,t))return;let n=g(e,t);if(n===null)return;let r=n.toLowerCase();if(v.has(r))return!0;if(y.has(r))return!1;m(e,t,`Invalid boolean value "${n}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}function b(e,t){let n=g(e,t);if(n===null||n===``)return;let r=Number(n);if(Number.isNaN(r)||!Number.isFinite(r)){m(e,t,`Invalid number value "${n}" for data-${t}.`);return}return r}function te(e,t){if(_(e,t))return g(e,t)??void 0}function ne(e,t,n){let r=g(e,t);if(r!==null){if(n.includes(r))return r;m(e,t,`Invalid value "${r}" for data-${t}. Expected one of: ${n.join(`, `)}.`)}}const x=new WeakMap,S=Symbol.for(`data-slot.portal-owner`),C=e=>e[S]??x.get(e),re=(e,t)=>{x.set(e,t),e[S]=t},ie=e=>{x.delete(e),delete e[S]};function w(e,t){return T(e,t,new Set)}function T(e,t,n){if(!t)return!1;let r=t instanceof Element?t:t.parentElement;if(!r)return!1;if(e.contains(r))return!0;let i=r;for(;i;){let t=C(i);if(t&&!n.has(t)&&(n.add(t),T(e,t,n)))return!0;i=i.parentElement}return!1}function E(e,t,n){if(n.portaled)return;let r=(t.ownerDocument??document)?.body;r&&(n.originalParent=e.parentNode,n.originalNextSibling=e.nextSibling,re(e,t),r.appendChild(e),n.portaled=!0)}function D(e,t){if(!t.portaled)return;ie(e);let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.portaled=!1,t.originalParent=null,t.originalNextSibling=null}let O=0;const k=(e,t)=>e.id||=`${t}-${++O}`,ae=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))},oe=(e,t,n)=>{t&&e.setAttribute(`aria-labelledby`,k(t,`title`)),n&&e.setAttribute(`aria-describedby`,k(n,`desc`))};function A(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const se=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n})),ce=(...e)=>t=>{for(let n of e){if(t.defaultPrevented)break;n?.(t)}};let j=0,M=``,N=``;function le(){if(j===0){let e=document.documentElement;M=e.style.overflow,N=e.style.scrollbarGutter,e.style.overflow=`hidden`,e.style.scrollbarGutter=`stable`}j++}function ue(){if(j=Math.max(0,j-1),j===0){let e=document.documentElement;e.style.overflow=M,e.style.scrollbarGutter=N}}const P=(e,t)=>e===`inline-start`?t===`rtl`?`right`:`left`:e===`inline-end`?t===`rtl`?`left`:`right`:e,de=e=>{switch(e){case`top`:return[`top`,`right`,`bottom`,`left`];case`bottom`:return[`bottom`,`top`,`right`,`left`];case`left`:return[`left`,`top`,`right`,`bottom`];case`right`:return[`right`,`top`,`bottom`,`left`];case`inline-start`:return[`inline-start`,`inline-end`,`top`,`bottom`];case`inline-end`:return[`inline-end`,`inline-start`,`top`,`bottom`]}},F=e=>{let t=window.visualViewport,n=e.viewportWidth??t?.width,r=e.viewportHeight??t?.height;if(n==null||r==null)throw Error(`computeFloatingPosition requires window.visualViewport when viewport dimensions are not provided`);return{x:t?.offsetLeft??0,y:t?.offsetTop??0,width:n,height:r}},I=(e,t,n,r,i,a)=>{let o=0,s=0;return e===`top`?s=n.top-r.height-i:e===`bottom`?s=n.bottom+i:o=e===`left`?n.left-r.width-i:n.right+i,e===`top`||e===`bottom`?o=t===`start`?n.left+a:t===`center`?n.left+n.width/2-r.width/2+a:n.right-r.width-a:s=t===`start`?n.top+a:t===`center`?n.top+n.height/2-r.height/2+a:n.bottom-r.height-a,{x:o,y:s}},L=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},R=(e,t,n,r=`ltr`)=>{let i=P(e,r),a=L(n,t);return i===`top`?{x:a.x,y:n.top}:i===`bottom`?{x:a.x,y:n.bottom}:i===`left`?{x:n.left,y:a.y}:{x:n.right,y:a.y}},z=e=>{let t=R(e.side,e.align,e.anchorRect,e.direction);return`${t.x-e.popupX}px ${t.y-e.popupY}px`};function B(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0?e.offsetWidth:t.width,r=e.offsetHeight>0?e.offsetHeight:t.height;return{top:t.top,left:t.left,right:t.left+n,bottom:t.top+r,width:n,height:r}}const V=e=>{if(e)try{e.focus({preventScroll:!0})}catch{e.focus()}},H=new WeakMap,fe=(e,t)=>{let n=String(t);e.overlay&&(e.overlay.setAttribute(`data-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.overlay.style.setProperty(`--${e.cssVarPrefix}-overlay-stack-index`,n)),e.content.setAttribute(`data-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-stack-index`,n),e.content.style.setProperty(`--${e.cssVarPrefix}-content-stack-index`,n)},pe=e=>{e.overlay&&(e.overlay.removeAttribute(`data-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.overlay.style.removeProperty(`--${e.cssVarPrefix}-overlay-stack-index`)),e.content.removeAttribute(`data-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-stack-index`),e.content.style.removeProperty(`--${e.cssVarPrefix}-content-stack-index`)},U=e=>{e.entries.forEach((e,t)=>fe(e,t))},me=e=>{let t={entries:[],cleanup:()=>{}},n=A(e,`keydown`,e=>{if(e.key!==`Tab`)return;let n=t.entries[t.entries.length-1];n&&n.onTabKeydown?.(e)});return t.cleanup=()=>{n(),t.entries.length=0},t},he=e=>{let t=H.get(e);if(t)return t;let n=me(e);return H.set(e,n),n};function ge(e){let t=e.content.ownerDocument??document,n={content:e.content,overlay:e.overlay??null,onTabKeydown:e.onTabKeydown,cssVarPrefix:e.cssVarPrefix},r=!1,i=null,a=()=>{if(i?.entries.includes(n))return i;let e=H.get(t)??null;return e?.entries.includes(n)?(i=e,e):(i=null,null)},o=()=>{let e=a();if(!e)return;let r=e.entries.indexOf(n);if(r===-1){i===e&&(i=null);return}e.entries.splice(r,1),pe(n),U(e),i===e&&(i=null),e.entries.length===0&&(e.cleanup(),H.delete(t))};return{open:()=>{if(r)return;let e=a()??he(t);e.entries.includes(n)||(e.entries.push(n),i=e,U(e))},close:o,destroy:()=>{r||(r=!0,o())}}}const _e=(e,t,n,r,i)=>{let a=r.x+i,o=r.x+r.width-i,s=r.y+i,c=r.y+r.height-i;return e===`top`?Math.max(0,s-t.y):e===`bottom`?Math.max(0,t.y+n.height-c):e===`left`?Math.max(0,a-t.x):Math.max(0,t.x+n.width-o)},W=(e,t,n)=>n<t?t:Math.min(Math.max(e,t),n),G=(e,t,n,r)=>t>n&&e<r,ve=e=>e===`top`||e===`bottom`;function ye(e){let t=F(e),n=e.direction??`ltr`,r=e.allowedSides?.length?[...new Set(e.allowedSides)]:[...de(e.side)],i=r.includes(e.side)?e.side:r[0],a=i,o=P(i,n),s=I(o,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset);if(e.avoidCollisions){let c=t.x+e.collisionPadding,l=t.y+e.collisionPadding,u=G(e.anchorRect.left,e.anchorRect.right,t.x,t.x+t.width),d=G(e.anchorRect.top,e.anchorRect.bottom,t.y,t.y+t.height);if(ve(o)?d:u){let c=[i,...r.filter(e=>e!==i)],l=a,u=s,d=1/0,f=o;for(let r of c){let i=P(r,n),a=I(i,e.align,e.anchorRect,e.contentRect,e.sideOffset,e.alignOffset),o=_e(i,a,e.contentRect,t,e.collisionPadding);if(o<=0){l=r,u=a,d=o,f=i;break}o<d&&(l=r,u=a,d=o,f=i)}a=l,o=f,s=u}let f=t.x+t.width-e.contentRect.width-e.collisionPadding,p=t.y+t.height-e.contentRect.height-e.collisionPadding;u&&(s.x=W(s.x,c,f)),d&&(s.y=W(s.y,l,p))}return{x:s.x,y:s.y,side:a,align:e.align}}function be(e,t,n=4){if(t.clientHeight<=0)return;let r=Math.max(0,t.scrollHeight-t.clientHeight);if(r<=0)return;let i=e.getBoundingClientRect(),a=t.getBoundingClientRect(),o=i.top-a.top+t.scrollTop,s=o+i.height,c=t.scrollTop+n,l=t.scrollTop+t.clientHeight-n,u=t.scrollTop;o<c?u=o-n:s>l&&(u=s-t.clientHeight+n),u=Math.min(Math.max(u,0),r),u!==t.scrollTop&&(t.scrollTop=u)}const K=e=>({x:e.x,y:e.y,width:e.width,height:e.height}),q=(e,t)=>e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,xe=e=>{let t=getComputedStyle(e),n=`${t.overflow}${t.overflowX}${t.overflowY}`;return/(auto|scroll|overlay)/.test(n)},Se=(e,t)=>{let n=new Set([e]),r=e.parentNode;for(;r;){if(r instanceof Element){xe(r)&&n.add(r),r=r.parentNode;continue}if(r instanceof Document){r.scrollingElement&&n.add(r.scrollingElement),n.add(r),r.defaultView&&(n.add(r.defaultView),r.defaultView.visualViewport&&n.add(r.defaultView.visualViewport));break}r=null}return n.add(t),t.visualViewport&&n.add(t.visualViewport),[...n]},Ce=(e,t,n)=>{let r=null,i=null,a=()=>{i!==null&&(n.clearTimeout(i),i=null),r?.disconnect(),r=null},o=(s=!1,c=1)=>{a();let l=e.getBoundingClientRect();if(s||t(),!l.width||!l.height)return;let u=e.ownerDocument.documentElement,d=Math.floor(l.top),f=Math.floor(u.clientWidth-(l.left+l.width)),p=Math.floor(u.clientHeight-(l.top+l.height)),m=Math.floor(l.left),h=`${-d}px ${-f}px ${-p}px ${-m}px`,g=Math.max(0,Math.min(1,c))||1,_=!0;r=new IntersectionObserver(t=>{let r=t[0]?.intersectionRatio??1;if(r!==g){if(!_){o();return}r?o(!1,r):i=n.setTimeout(()=>{o(!1,1e-7)},1e3)}if(r===1&&!q(K(l),K(e.getBoundingClientRect()))){o();return}_=!1},{rootMargin:h,threshold:g}),r.observe(e)};return o(!0),a};function we(e){let t=e.win??window,n=e.isActive??(()=>!0),r=e.observedElements??[],i=e.ancestorScroll??!0,a=e.ancestorResize??!0,o=e.elementResize??typeof ResizeObserver<`u`,s=e.layoutShift??!1,c=e.animationFrame??!1,l=null,u=null,d=!1,f=null,p=null,m=[],h=()=>{l===null&&(l=t.requestAnimationFrame(()=>{l=null,n()&&e.onUpdate()}))},g=()=>h(),_=t=>{e.ignoreScrollTarget?.(t.target)||h()},v=()=>{let e=new Set,n=r.length?r:[];if(n.length===0)return e.add(t),t.visualViewport&&e.add(t.visualViewport),[...e];for(let r of n)for(let n of Se(r,t))e.add(n);return[...e]},y=e=>{let n=new Set([t]);t.visualViewport&&n.add(t.visualViewport);for(let r of e)(r===t||r===t.visualViewport)&&n.add(r);return[...n]};return{start:()=>{if(d)return;d=!0;let e=v(),n=y(e);if(i)for(let t of e)t.addEventListener(`scroll`,_,{passive:!0}),m.push(()=>t.removeEventListener(`scroll`,_));if(a)for(let e of n)e.addEventListener(`resize`,g),m.push(()=>e.removeEventListener(`resize`,g));if(o&&typeof ResizeObserver<`u`){f=new ResizeObserver(g);for(let e of r)f.observe(e)}let l=r[0]??null;if(s&&l&&typeof IntersectionObserver<`u`&&(p=Ce(l,h,t)),c&&l){let e=K(l.getBoundingClientRect()),n=()=>{if(!d)return;let r=K(l.getBoundingClientRect());q(e,r)||h(),e=r,u=t.requestAnimationFrame(n)};u=t.requestAnimationFrame(n)}},stop:()=>{d&&(d=!1,l!==null&&(t.cancelAnimationFrame(l),l=null),u!==null&&(t.cancelAnimationFrame(u),u=null),m.forEach(e=>e()),m=[],f?.disconnect(),f=null,p?.(),p=null)},update:h}}const J=new WeakMap,Y=(e,t)=>{let n=t.isOpen();return n&&!t.wasOpen&&(e.openSequence+=1,t.openOrder=e.openSequence),t.wasOpen=n,n},X=(e,t)=>{let n=null;for(let r of e.layers)Y(e,r)&&(t&&!t(r)||(!n||r.openOrder>n.openOrder)&&(n=r));return n},Te=e=>{let t=e.defaultView??window,n={layers:[],openSequence:0,pendingTouchOutside:!1,pendingIframeBlur:null,cleanup:()=>{}},r=()=>{n.pendingIframeBlur!=null&&(t.clearTimeout(n.pendingIframeBlur),n.pendingIframeBlur=null)},i=A(e,`pointerdown`,e=>{let t=e.target,r=X(n);if(!r||!r.closeOnClickOutside||r.isInside(t)){n.pendingTouchOutside=!1;return}if(e.pointerType===`touch`){n.pendingTouchOutside=!0;return}n.pendingTouchOutside=!1,r.onDismiss()}),a=A(e,`click`,e=>{if(!n.pendingTouchOutside)return;n.pendingTouchOutside=!1;let t=e.target,r=X(n);!r||!r.closeOnClickOutside||r.isInside(t)||r.onDismiss()}),o=A(e,`pointercancel`,()=>{n.pendingTouchOutside=!1}),s=A(t,`blur`,()=>{X(n,e=>e.closeOnClickOutside)&&(n.pendingTouchOutside=!1,r(),n.pendingIframeBlur=t.setTimeout(()=>{n.pendingIframeBlur=null;let r=X(n,e=>e.closeOnClickOutside);if(!r)return;let i=t.HTMLIFrameElement,a=e.activeElement;!i||!(a instanceof i)||r.isInside(a)||r.onDismiss()},0))}),c=A(e,`keydown`,e=>{if(e.key!==`Escape`||e.defaultPrevented)return;let t=e.target,r=X(n,e=>e.closeOnEscape&&e.isInside(t))??X(n,e=>e.closeOnEscape);r&&(r.preventEscapeDefault&&e.preventDefault(),r.onDismiss())});return n.cleanup=()=>{i(),a(),o(),s(),c(),r(),n.pendingTouchOutside=!1,n.layers.length=0},n},Z=e=>{let t=J.get(e);if(t)return t;let n=Te(e);return J.set(e,n),n};function Ee(e){let t=e.root.ownerDocument??document,n=Z(t),r={isOpen:e.isOpen,onDismiss:e.onDismiss,isInside:e.isInside??(t=>w(e.root,t)),closeOnClickOutside:e.closeOnClickOutside??!0,closeOnEscape:e.closeOnEscape??!0,preventEscapeDefault:e.preventEscapeDefault??!0,wasOpen:!1,openOrder:0};return Y(n,r)&&(r.wasOpen=!0),n.layers.push(r),()=>{let e=n.layers.indexOf(r);e!==-1&&n.layers.splice(e,1),n.layers.length===0&&(n.cleanup(),J.delete(t))}}function De(e){let t=e.enabled??!0,n=e.wrapperSlot,r=e.container,i=e.mountTarget??r??e.content,a=e.state??{originalParent:null,originalNextSibling:null,portaled:!1},o=e.root.ownerDocument??document,s=null,c=()=>{if(s)return s;let e=o.createElement(`div`);return n&&(e.setAttribute(`data-slot`,n),e.style.isolation=`isolate`,e.style.zIndex=`50`),s=e,e},l=()=>{if(a.portaled)return;let t=e.content.parentNode;if(!t)return;let n=c();t.insertBefore(n,e.content),n.appendChild(e.content),E(n,e.root,a)},u=()=>{a.portaled||i.isConnected&&E(i,e.root,a)},d=()=>{if(!a.portaled)return;let t=s;if(!t)return;D(t,a);let n=t.parentNode;n&&n.isConnected?(n.insertBefore(e.content,t),t.remove()):e.content.remove()},f=()=>{a.portaled&&D(i,a)};return{state:a,get container(){return r||(t&&n&&a.portaled&&s?s:e.content)},mount:()=>{if(t){if(r||e.mountTarget){u();return}n?l():E(e.content,e.root,a)}},restore:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}},cleanup:()=>{if(t){if(r||e.mountTarget){f();return}n?d():D(e.content,a)}}}}const Q=e=>{let t=e.trim().toLowerCase();if(!t)return 0;if(t.endsWith(`ms`)){let e=Number(t.slice(0,-2).trim());return Number.isFinite(e)?e:0}if(t.endsWith(`s`)){let e=Number(t.slice(0,-1).trim());return Number.isFinite(e)?e*1e3:0}let n=Number(t);return Number.isFinite(n)?n:0},$=(e,t)=>{let n=e.split(`,`),r=t.split(`,`),i=Math.max(n.length,r.length),a=0;for(let e=0;e<i;e++){let t=Q(n[e]??n[n.length-1]??`0`),i=Q(r[e]??r[r.length-1]??`0`);a=Math.max(a,t+i)}return a},Oe=e=>{let t=getComputedStyle(e),n=$(t.transitionDuration,t.transitionDelay),r=$(t.animationDuration,t.animationDelay);return Math.max(n,r)};function ke(e){let t=e.win??window,n=!1,r=null,i=null,a=null,o=null,s=[],c=()=>{a!==null&&(t.cancelAnimationFrame(a),a=null),o!==null&&(t.clearTimeout(o),o=null),s.forEach(e=>e()),s=[]},l=()=>{c(),n=!1,e.element.removeAttribute(`data-ending-style`)},u=()=>{r!==null&&(t.cancelAnimationFrame(r),r=null),i!==null&&(t.cancelAnimationFrame(i),i=null),e.element.removeAttribute(`data-starting-style`)},d=()=>{n&&(c(),n=!1,e.element.removeAttribute(`data-ending-style`),e.onExitComplete())};return{get isExiting(){return n},enter:()=>{l(),u(),e.element.setAttribute(`data-starting-style`,``),r=t.requestAnimationFrame(()=>{r=null,i=t.requestAnimationFrame(()=>{i=null,e.element.removeAttribute(`data-starting-style`)})})},exit:()=>{l(),u(),n=!0,e.element.setAttribute(`data-ending-style`,``);let r=Oe(e.element);if(r>0){let n=t=>{t.target===e.element&&d()};e.element.addEventListener(`transitionend`,n),e.element.addEventListener(`animationend`,n),s.push(()=>e.element.removeEventListener(`transitionend`,n)),s.push(()=>e.element.removeEventListener(`animationend`,n)),o=t.setTimeout(()=>{o=null,d()},Math.ceil(r)+50)}else a=t.requestAnimationFrame(()=>{a=null,d()})},cleanup:()=>{l(),u()}}}export{u as clearRootBinding,ce as composeHandlers,ye as computeFloatingPosition,z as computeFloatingTransformOrigin,w as containsWithPortals,Ee as createDismissLayer,ge as createModalStackItem,De as createPortalLifecycle,we as createPositionSync,ke as createPresenceLifecycle,se as emit,k as ensureId,be as ensureItemVisibleInContainer,V as focusElement,ee as getDataBool,ne as getDataEnum,b as getDataNumber,te as getDataString,R as getFloatingTransformOriginAnchor,e as getPart,t as getParts,s as getRootBinding,n as getRoots,c as hasRootBinding,oe as linkLabelledBy,le as lockScroll,B as measurePopupContentRect,A as on,E as portalToBody,D as restorePortal,f as reuseRootBinding,ae as setAria,l as setRootBinding,ue as unlockScroll,d as warnRootBindingOnce};
|