@floating-ui/dom
Advanced tools
Comparing version 1.5.3 to 1.5.4
@@ -1,3 +0,3 @@ | ||
import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core'; | ||
export { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core'; | ||
import { rectToClientRect, autoPlacement as autoPlacement$1, shift as shift$1, flip as flip$1, size as size$1, hide as hide$1, arrow as arrow$1, inline as inline$1, limitShift as limitShift$1, computePosition as computePosition$1 } from '@floating-ui/core'; | ||
export { detectOverflow, offset } from '@floating-ui/core'; | ||
import { round, createCoords, max, min, floor } from '@floating-ui/utils'; | ||
@@ -330,3 +330,10 @@ import { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom'; | ||
function getDimensions(element) { | ||
return getCssDimensions(element); | ||
const { | ||
width, | ||
height | ||
} = getCssDimensions(element); | ||
return { | ||
width, | ||
height | ||
}; | ||
} | ||
@@ -578,5 +585,61 @@ | ||
/** | ||
* Optimizes the visibility of the floating element by choosing the placement | ||
* that has the most space available automatically, without needing to specify a | ||
* preferred placement. Alternative to `flip`. | ||
* @see https://floating-ui.com/docs/autoPlacement | ||
*/ | ||
const autoPlacement = autoPlacement$1; | ||
/** | ||
* Optimizes the visibility of the floating element by shifting it in order to | ||
* keep it in view when it will overflow the clipping boundary. | ||
* @see https://floating-ui.com/docs/shift | ||
*/ | ||
const shift = shift$1; | ||
/** | ||
* Optimizes the visibility of the floating element by flipping the `placement` | ||
* in order to keep it in view when the preferred placement(s) will overflow the | ||
* clipping boundary. Alternative to `autoPlacement`. | ||
* @see https://floating-ui.com/docs/flip | ||
*/ | ||
const flip = flip$1; | ||
/** | ||
* Provides data that allows you to change the size of the floating element — | ||
* for instance, prevent it from overflowing the clipping boundary or match the | ||
* width of the reference element. | ||
* @see https://floating-ui.com/docs/size | ||
*/ | ||
const size = size$1; | ||
/** | ||
* Provides data to hide the floating element in applicable situations, such as | ||
* when it is not in the same clipping context as the reference element. | ||
* @see https://floating-ui.com/docs/hide | ||
*/ | ||
const hide = hide$1; | ||
/** | ||
* Provides data to position an inner element of the floating element so that it | ||
* appears centered to the reference element. | ||
* @see https://floating-ui.com/docs/arrow | ||
*/ | ||
const arrow = arrow$1; | ||
/** | ||
* Provides improved positioning for inline reference elements that can span | ||
* over multiple lines, such as hyperlinks or range selections. | ||
* @see https://floating-ui.com/docs/inline | ||
*/ | ||
const inline = inline$1; | ||
/** | ||
* Built-in `limiter` that will stop `shift()` at a certain point. | ||
*/ | ||
const limitShift = limitShift$1; | ||
/** | ||
* Computes the `x` and `y` coordinates that will place the floating element | ||
* next to a reference element when it is given a certain CSS positioning | ||
* strategy. | ||
* next to a given reference element. | ||
*/ | ||
@@ -602,2 +665,2 @@ const computePosition = (reference, floating, options) => { | ||
export { autoUpdate, computePosition, platform }; | ||
export { arrow, autoPlacement, autoUpdate, computePosition, flip, hide, inline, limitShift, platform, shift, size }; |
@@ -7,2 +7,7 @@ (function (global, factory) { | ||
/** | ||
* Custom positioning reference element. | ||
* @see https://floating-ui.com/docs/virtual-elements | ||
*/ | ||
const min = Math.min; | ||
@@ -28,3 +33,3 @@ const max = Math.max; | ||
var _node$ownerDocument; | ||
return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; | ||
return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window; | ||
} | ||
@@ -142,3 +147,3 @@ function getDocumentElement(node) { | ||
} | ||
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor)); | ||
return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes)); | ||
} | ||
@@ -469,3 +474,10 @@ | ||
function getDimensions(element) { | ||
return getCssDimensions(element); | ||
const { | ||
width, | ||
height | ||
} = getCssDimensions(element); | ||
return { | ||
width, | ||
height | ||
}; | ||
} | ||
@@ -717,5 +729,61 @@ | ||
/** | ||
* Optimizes the visibility of the floating element by choosing the placement | ||
* that has the most space available automatically, without needing to specify a | ||
* preferred placement. Alternative to `flip`. | ||
* @see https://floating-ui.com/docs/autoPlacement | ||
*/ | ||
const autoPlacement = core.autoPlacement; | ||
/** | ||
* Optimizes the visibility of the floating element by shifting it in order to | ||
* keep it in view when it will overflow the clipping boundary. | ||
* @see https://floating-ui.com/docs/shift | ||
*/ | ||
const shift = core.shift; | ||
/** | ||
* Optimizes the visibility of the floating element by flipping the `placement` | ||
* in order to keep it in view when the preferred placement(s) will overflow the | ||
* clipping boundary. Alternative to `autoPlacement`. | ||
* @see https://floating-ui.com/docs/flip | ||
*/ | ||
const flip = core.flip; | ||
/** | ||
* Provides data that allows you to change the size of the floating element — | ||
* for instance, prevent it from overflowing the clipping boundary or match the | ||
* width of the reference element. | ||
* @see https://floating-ui.com/docs/size | ||
*/ | ||
const size = core.size; | ||
/** | ||
* Provides data to hide the floating element in applicable situations, such as | ||
* when it is not in the same clipping context as the reference element. | ||
* @see https://floating-ui.com/docs/hide | ||
*/ | ||
const hide = core.hide; | ||
/** | ||
* Provides data to position an inner element of the floating element so that it | ||
* appears centered to the reference element. | ||
* @see https://floating-ui.com/docs/arrow | ||
*/ | ||
const arrow = core.arrow; | ||
/** | ||
* Provides improved positioning for inline reference elements that can span | ||
* over multiple lines, such as hyperlinks or range selections. | ||
* @see https://floating-ui.com/docs/inline | ||
*/ | ||
const inline = core.inline; | ||
/** | ||
* Built-in `limiter` that will stop `shift()` at a certain point. | ||
*/ | ||
const limitShift = core.limitShift; | ||
/** | ||
* Computes the `x` and `y` coordinates that will place the floating element | ||
* next to a reference element when it is given a certain CSS positioning | ||
* strategy. | ||
* next to a given reference element. | ||
*/ | ||
@@ -741,47 +809,23 @@ const computePosition = (reference, floating, options) => { | ||
Object.defineProperty(exports, 'arrow', { | ||
Object.defineProperty(exports, "detectOverflow", { | ||
enumerable: true, | ||
get: function () { return core.arrow; } | ||
}); | ||
Object.defineProperty(exports, 'autoPlacement', { | ||
enumerable: true, | ||
get: function () { return core.autoPlacement; } | ||
}); | ||
Object.defineProperty(exports, 'detectOverflow', { | ||
enumerable: true, | ||
get: function () { return core.detectOverflow; } | ||
}); | ||
Object.defineProperty(exports, 'flip', { | ||
Object.defineProperty(exports, "offset", { | ||
enumerable: true, | ||
get: function () { return core.flip; } | ||
}); | ||
Object.defineProperty(exports, 'hide', { | ||
enumerable: true, | ||
get: function () { return core.hide; } | ||
}); | ||
Object.defineProperty(exports, 'inline', { | ||
enumerable: true, | ||
get: function () { return core.inline; } | ||
}); | ||
Object.defineProperty(exports, 'limitShift', { | ||
enumerable: true, | ||
get: function () { return core.limitShift; } | ||
}); | ||
Object.defineProperty(exports, 'offset', { | ||
enumerable: true, | ||
get: function () { return core.offset; } | ||
}); | ||
Object.defineProperty(exports, 'shift', { | ||
enumerable: true, | ||
get: function () { return core.shift; } | ||
}); | ||
Object.defineProperty(exports, 'size', { | ||
enumerable: true, | ||
get: function () { return core.size; } | ||
}); | ||
exports.arrow = arrow; | ||
exports.autoPlacement = autoPlacement; | ||
exports.autoUpdate = autoUpdate; | ||
exports.computePosition = computePosition; | ||
exports.flip = flip; | ||
exports.getOverflowAncestors = getOverflowAncestors; | ||
exports.hide = hide; | ||
exports.inline = inline; | ||
exports.limitShift = limitShift; | ||
exports.platform = platform; | ||
exports.shift = shift; | ||
exports.size = size; | ||
})); |
@@ -1,1 +0,1 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@floating-ui/core")):"function"==typeof define&&define.amd?define(["exports","@floating-ui/core"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).FloatingUIDOM={},t.FloatingUICore)}(this,(function(t,e){"use strict";const n=Math.min,o=Math.max,i=Math.round,r=Math.floor,c=t=>({x:t,y:t});function l(t){return u(t)?(t.nodeName||"").toLowerCase():"#document"}function f(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function s(t){var e;return null==(e=(u(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function u(t){return t instanceof Node||t instanceof f(t).Node}function a(t){return t instanceof Element||t instanceof f(t).Element}function d(t){return t instanceof HTMLElement||t instanceof f(t).HTMLElement}function h(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ShadowRoot||t instanceof f(t).ShadowRoot)}function p(t){const{overflow:e,overflowX:n,overflowY:o,display:i}=b(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&!["inline","contents"].includes(i)}function m(t){return["table","td","th"].includes(l(t))}function g(t){const e=y(),n=b(t);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!e&&!!n.backdropFilter&&"none"!==n.backdropFilter||!e&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((t=>(n.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(n.contain||"").includes(t)))}function y(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function w(t){return["html","body","#document"].includes(l(t))}function b(t){return f(t).getComputedStyle(t)}function x(t){return a(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function v(t){if("html"===l(t))return t;const e=t.assignedSlot||t.parentNode||h(t)&&t.host||s(t);return h(e)?e.host:e}function T(t){const e=v(t);return w(e)?t.ownerDocument?t.ownerDocument.body:t.body:d(e)&&p(e)?e:T(e)}function L(t,e,n){var o;void 0===e&&(e=[]),void 0===n&&(n=!0);const i=T(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),c=f(i);return r?e.concat(c,c.visualViewport||[],p(i)?i:[],c.frameElement&&n?L(c.frameElement):[]):e.concat(i,L(i))}function O(t){const e=b(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const r=d(t),c=r?t.offsetWidth:n,l=r?t.offsetHeight:o,f=i(n)!==c||i(o)!==l;return f&&(n=c,o=l),{width:n,height:o,$:f}}function R(t){return a(t)?t:t.contextElement}function E(t){const e=R(t);if(!d(e))return c(1);const n=e.getBoundingClientRect(),{width:o,height:r,$:l}=O(e);let f=(l?i(n.width):n.width)/o,s=(l?i(n.height):n.height)/r;return f&&Number.isFinite(f)||(f=1),s&&Number.isFinite(s)||(s=1),{x:f,y:s}}const P=c(0);function C(t){const e=f(t);return y()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:P}function S(t,n,o,i){void 0===n&&(n=!1),void 0===o&&(o=!1);const r=t.getBoundingClientRect(),l=R(t);let s=c(1);n&&(i?a(i)&&(s=E(i)):s=E(t));const u=function(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==f(t))&&e}(l,o,i)?C(l):c(0);let d=(r.left+u.x)/s.x,h=(r.top+u.y)/s.y,p=r.width/s.x,m=r.height/s.y;if(l){const t=f(l),e=i&&a(i)?f(i):i;let n=t.frameElement;for(;n&&i&&e!==t;){const t=E(n),e=n.getBoundingClientRect(),o=b(n),i=e.left+(n.clientLeft+parseFloat(o.paddingLeft))*t.x,r=e.top+(n.clientTop+parseFloat(o.paddingTop))*t.y;d*=t.x,h*=t.y,p*=t.x,m*=t.y,d+=i,h+=r,n=f(n).frameElement}}return e.rectToClientRect({width:p,height:m,x:d,y:h})}function F(t){return S(s(t)).left+x(t).scrollLeft}function j(t,n,i){let r;if("viewport"===n)r=function(t,e){const n=f(t),o=s(t),i=n.visualViewport;let r=o.clientWidth,c=o.clientHeight,l=0,u=0;if(i){r=i.width,c=i.height;const t=y();(!t||t&&"fixed"===e)&&(l=i.offsetLeft,u=i.offsetTop)}return{width:r,height:c,x:l,y:u}}(t,i);else if("document"===n)r=function(t){const e=s(t),n=x(t),i=t.ownerDocument.body,r=o(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=o(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let l=-n.scrollLeft+F(t);const f=-n.scrollTop;return"rtl"===b(i).direction&&(l+=o(e.clientWidth,i.clientWidth)-r),{width:r,height:c,x:l,y:f}}(s(t));else if(a(n))r=function(t,e){const n=S(t,!0,"fixed"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=d(t)?E(t):c(1);return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(n,i);else{const e=C(t);r={...n,x:n.x-e.x,y:n.y-e.y}}return e.rectToClientRect(r)}function D(t,e){const n=v(t);return!(n===e||!a(n)||w(n))&&("fixed"===b(n).position||D(n,e))}function H(t,e,n){const o=d(e),i=s(e),r="fixed"===n,f=S(t,!0,r,e);let u={scrollLeft:0,scrollTop:0};const a=c(0);if(o||!o&&!r)if(("body"!==l(e)||p(i))&&(u=x(e)),o){const t=S(e,!0,r,e);a.x=t.x+e.clientLeft,a.y=t.y+e.clientTop}else i&&(a.x=F(i));return{x:f.left+u.scrollLeft-a.x,y:f.top+u.scrollTop-a.y,width:f.width,height:f.height}}function W(t,e){return d(t)&&"fixed"!==b(t).position?e?e(t):t.offsetParent:null}function M(t,e){const n=f(t);if(!d(t))return n;let o=W(t,e);for(;o&&m(o)&&"static"===b(o).position;)o=W(o,e);return o&&("html"===l(o)||"body"===l(o)&&"static"===b(o).position&&!g(o))?n:o||function(t){let e=v(t);for(;d(e)&&!w(e);){if(g(e))return e;e=v(e)}return null}(t)||n}const z={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=d(n),r=s(n);if(n===r)return e;let f={scrollLeft:0,scrollTop:0},u=c(1);const a=c(0);if((i||!i&&"fixed"!==o)&&(("body"!==l(n)||p(r))&&(f=x(n)),d(n))){const t=S(n);u=E(n),a.x=t.x+n.clientLeft,a.y=t.y+n.clientTop}return{width:e.width*u.x,height:e.height*u.y,x:e.x*u.x-f.scrollLeft*u.x+a.x,y:e.y*u.y-f.scrollTop*u.y+a.y}},getDocumentElement:s,getClippingRect:function(t){let{element:e,boundary:i,rootBoundary:r,strategy:c}=t;const f=[..."clippingAncestors"===i?function(t,e){const n=e.get(t);if(n)return n;let o=L(t,[],!1).filter((t=>a(t)&&"body"!==l(t))),i=null;const r="fixed"===b(t).position;let c=r?v(t):t;for(;a(c)&&!w(c);){const e=b(c),n=g(c);n||"fixed"!==e.position||(i=null),(r?!n&&!i:!n&&"static"===e.position&&i&&["absolute","fixed"].includes(i.position)||p(c)&&!n&&D(t,c))?o=o.filter((t=>t!==c)):i=e,c=v(c)}return e.set(t,o),o}(e,this._c):[].concat(i),r],s=f[0],u=f.reduce(((t,i)=>{const r=j(e,i,c);return t.top=o(r.top,t.top),t.right=n(r.right,t.right),t.bottom=n(r.bottom,t.bottom),t.left=o(r.left,t.left),t}),j(e,s,c));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:M,getElementRects:async function(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||M,r=this.getDimensions;return{reference:H(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){return O(t)},getScale:E,isElement:a,isRTL:function(t){return"rtl"===b(t).direction}};Object.defineProperty(t,"arrow",{enumerable:!0,get:function(){return e.arrow}}),Object.defineProperty(t,"autoPlacement",{enumerable:!0,get:function(){return e.autoPlacement}}),Object.defineProperty(t,"detectOverflow",{enumerable:!0,get:function(){return e.detectOverflow}}),Object.defineProperty(t,"flip",{enumerable:!0,get:function(){return e.flip}}),Object.defineProperty(t,"hide",{enumerable:!0,get:function(){return e.hide}}),Object.defineProperty(t,"inline",{enumerable:!0,get:function(){return e.inline}}),Object.defineProperty(t,"limitShift",{enumerable:!0,get:function(){return e.limitShift}}),Object.defineProperty(t,"offset",{enumerable:!0,get:function(){return e.offset}}),Object.defineProperty(t,"shift",{enumerable:!0,get:function(){return e.shift}}),Object.defineProperty(t,"size",{enumerable:!0,get:function(){return e.size}}),t.autoUpdate=function(t,e,i,c){void 0===c&&(c={});const{ancestorScroll:l=!0,ancestorResize:f=!0,elementResize:u="function"==typeof ResizeObserver,layoutShift:a="function"==typeof IntersectionObserver,animationFrame:d=!1}=c,h=R(t),p=l||f?[...h?L(h):[],...L(e)]:[];p.forEach((t=>{l&&t.addEventListener("scroll",i,{passive:!0}),f&&t.addEventListener("resize",i)}));const m=h&&a?function(t,e){let i,c=null;const l=s(t);function f(){clearTimeout(i),c&&c.disconnect(),c=null}return function s(u,a){void 0===u&&(u=!1),void 0===a&&(a=1),f();const{left:d,top:h,width:p,height:m}=t.getBoundingClientRect();if(u||e(),!p||!m)return;const g={rootMargin:-r(h)+"px "+-r(l.clientWidth-(d+p))+"px "+-r(l.clientHeight-(h+m))+"px "+-r(d)+"px",threshold:o(0,n(1,a))||1};let y=!0;function w(t){const e=t[0].intersectionRatio;if(e!==a){if(!y)return s();e?s(!1,e):i=setTimeout((()=>{s(!1,1e-7)}),100)}y=!1}try{c=new IntersectionObserver(w,{...g,root:l.ownerDocument})}catch(t){c=new IntersectionObserver(w,g)}c.observe(t)}(!0),f}(h,i):null;let g,y=-1,w=null;u&&(w=new ResizeObserver((t=>{let[n]=t;n&&n.target===h&&w&&(w.unobserve(e),cancelAnimationFrame(y),y=requestAnimationFrame((()=>{w&&w.observe(e)}))),i()})),h&&!d&&w.observe(h),w.observe(e));let b=d?S(t):null;return d&&function e(){const n=S(t);!b||n.x===b.x&&n.y===b.y&&n.width===b.width&&n.height===b.height||i();b=n,g=requestAnimationFrame(e)}(),i(),()=>{p.forEach((t=>{l&&t.removeEventListener("scroll",i),f&&t.removeEventListener("resize",i)})),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(g)}},t.computePosition=(t,n,o)=>{const i=new Map,r={platform:z,...o},c={...r.platform,_c:i};return e.computePosition(t,n,{...r,platform:c})},t.getOverflowAncestors=L,t.platform=z})); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@floating-ui/core")):"function"==typeof define&&define.amd?define(["exports","@floating-ui/core"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).FloatingUIDOM={},t.FloatingUICore)}(this,(function(t,e){"use strict";const n=Math.min,o=Math.max,i=Math.round,r=Math.floor,c=t=>({x:t,y:t});function l(t){return u(t)?(t.nodeName||"").toLowerCase():"#document"}function s(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function f(t){var e;return null==(e=(u(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function u(t){return t instanceof Node||t instanceof s(t).Node}function a(t){return t instanceof Element||t instanceof s(t).Element}function d(t){return t instanceof HTMLElement||t instanceof s(t).HTMLElement}function h(t){return"undefined"!=typeof ShadowRoot&&(t instanceof ShadowRoot||t instanceof s(t).ShadowRoot)}function p(t){const{overflow:e,overflowX:n,overflowY:o,display:i}=x(t);return/auto|scroll|overlay|hidden|clip/.test(e+o+n)&&!["inline","contents"].includes(i)}function m(t){return["table","td","th"].includes(l(t))}function g(t){const e=y(),n=x(t);return"none"!==n.transform||"none"!==n.perspective||!!n.containerType&&"normal"!==n.containerType||!e&&!!n.backdropFilter&&"none"!==n.backdropFilter||!e&&!!n.filter&&"none"!==n.filter||["transform","perspective","filter"].some((t=>(n.willChange||"").includes(t)))||["paint","layout","strict","content"].some((t=>(n.contain||"").includes(t)))}function y(){return!("undefined"==typeof CSS||!CSS.supports)&&CSS.supports("-webkit-backdrop-filter","none")}function w(t){return["html","body","#document"].includes(l(t))}function x(t){return s(t).getComputedStyle(t)}function v(t){return a(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function b(t){if("html"===l(t))return t;const e=t.assignedSlot||t.parentNode||h(t)&&t.host||f(t);return h(e)?e.host:e}function T(t){const e=b(t);return w(e)?t.ownerDocument?t.ownerDocument.body:t.body:d(e)&&p(e)?e:T(e)}function L(t,e,n){var o;void 0===e&&(e=[]),void 0===n&&(n=!0);const i=T(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),c=s(i);return r?e.concat(c,c.visualViewport||[],p(i)?i:[],c.frameElement&&n?L(c.frameElement):[]):e.concat(i,L(i,[],n))}function R(t){const e=x(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const r=d(t),c=r?t.offsetWidth:n,l=r?t.offsetHeight:o,s=i(n)!==c||i(o)!==l;return s&&(n=c,o=l),{width:n,height:o,$:s}}function E(t){return a(t)?t:t.contextElement}function C(t){const e=E(t);if(!d(e))return c(1);const n=e.getBoundingClientRect(),{width:o,height:r,$:l}=R(e);let s=(l?i(n.width):n.width)/o,f=(l?i(n.height):n.height)/r;return s&&Number.isFinite(s)||(s=1),f&&Number.isFinite(f)||(f=1),{x:s,y:f}}const O=c(0);function S(t){const e=s(t);return y()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:O}function F(t,n,o,i){void 0===n&&(n=!1),void 0===o&&(o=!1);const r=t.getBoundingClientRect(),l=E(t);let f=c(1);n&&(i?a(i)&&(f=C(i)):f=C(t));const u=function(t,e,n){return void 0===e&&(e=!1),!(!n||e&&n!==s(t))&&e}(l,o,i)?S(l):c(0);let d=(r.left+u.x)/f.x,h=(r.top+u.y)/f.y,p=r.width/f.x,m=r.height/f.y;if(l){const t=s(l),e=i&&a(i)?s(i):i;let n=t.frameElement;for(;n&&i&&e!==t;){const t=C(n),e=n.getBoundingClientRect(),o=x(n),i=e.left+(n.clientLeft+parseFloat(o.paddingLeft))*t.x,r=e.top+(n.clientTop+parseFloat(o.paddingTop))*t.y;d*=t.x,h*=t.y,p*=t.x,m*=t.y,d+=i,h+=r,n=s(n).frameElement}}return e.rectToClientRect({width:p,height:m,x:d,y:h})}function D(t){return F(f(t)).left+v(t).scrollLeft}function P(t,n,i){let r;if("viewport"===n)r=function(t,e){const n=s(t),o=f(t),i=n.visualViewport;let r=o.clientWidth,c=o.clientHeight,l=0,u=0;if(i){r=i.width,c=i.height;const t=y();(!t||t&&"fixed"===e)&&(l=i.offsetLeft,u=i.offsetTop)}return{width:r,height:c,x:l,y:u}}(t,i);else if("document"===n)r=function(t){const e=f(t),n=v(t),i=t.ownerDocument.body,r=o(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=o(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let l=-n.scrollLeft+D(t);const s=-n.scrollTop;return"rtl"===x(i).direction&&(l+=o(e.clientWidth,i.clientWidth)-r),{width:r,height:c,x:l,y:s}}(f(t));else if(a(n))r=function(t,e){const n=F(t,!0,"fixed"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=d(t)?C(t):c(1);return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(n,i);else{const e=S(t);r={...n,x:n.x-e.x,y:n.y-e.y}}return e.rectToClientRect(r)}function H(t,e){const n=b(t);return!(n===e||!a(n)||w(n))&&("fixed"===x(n).position||H(n,e))}function W(t,e,n){const o=d(e),i=f(e),r="fixed"===n,s=F(t,!0,r,e);let u={scrollLeft:0,scrollTop:0};const a=c(0);if(o||!o&&!r)if(("body"!==l(e)||p(i))&&(u=v(e)),o){const t=F(e,!0,r,e);a.x=t.x+e.clientLeft,a.y=t.y+e.clientTop}else i&&(a.x=D(i));return{x:s.left+u.scrollLeft-a.x,y:s.top+u.scrollTop-a.y,width:s.width,height:s.height}}function M(t,e){return d(t)&&"fixed"!==x(t).position?e?e(t):t.offsetParent:null}function z(t,e){const n=s(t);if(!d(t))return n;let o=M(t,e);for(;o&&m(o)&&"static"===x(o).position;)o=M(o,e);return o&&("html"===l(o)||"body"===l(o)&&"static"===x(o).position&&!g(o))?n:o||function(t){let e=b(t);for(;d(e)&&!w(e);){if(g(e))return e;e=b(e)}return null}(t)||n}const A={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=d(n),r=f(n);if(n===r)return e;let s={scrollLeft:0,scrollTop:0},u=c(1);const a=c(0);if((i||!i&&"fixed"!==o)&&(("body"!==l(n)||p(r))&&(s=v(n)),d(n))){const t=F(n);u=C(n),a.x=t.x+n.clientLeft,a.y=t.y+n.clientTop}return{width:e.width*u.x,height:e.height*u.y,x:e.x*u.x-s.scrollLeft*u.x+a.x,y:e.y*u.y-s.scrollTop*u.y+a.y}},getDocumentElement:f,getClippingRect:function(t){let{element:e,boundary:i,rootBoundary:r,strategy:c}=t;const s=[..."clippingAncestors"===i?function(t,e){const n=e.get(t);if(n)return n;let o=L(t,[],!1).filter((t=>a(t)&&"body"!==l(t))),i=null;const r="fixed"===x(t).position;let c=r?b(t):t;for(;a(c)&&!w(c);){const e=x(c),n=g(c);n||"fixed"!==e.position||(i=null),(r?!n&&!i:!n&&"static"===e.position&&i&&["absolute","fixed"].includes(i.position)||p(c)&&!n&&H(t,c))?o=o.filter((t=>t!==c)):i=e,c=b(c)}return e.set(t,o),o}(e,this._c):[].concat(i),r],f=s[0],u=s.reduce(((t,i)=>{const r=P(e,i,c);return t.top=o(r.top,t.top),t.right=n(r.right,t.right),t.bottom=n(r.bottom,t.bottom),t.left=o(r.left,t.left),t}),P(e,f,c));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:z,getElementRects:async function(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||z,r=this.getDimensions;return{reference:W(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){const{width:e,height:n}=R(t);return{width:e,height:n}},getScale:C,isElement:a,isRTL:function(t){return"rtl"===x(t).direction}};const V=e.autoPlacement,N=e.shift,B=e.flip,I=e.size,k=e.hide,j=e.arrow,q=e.inline,U=e.limitShift;Object.defineProperty(t,"detectOverflow",{enumerable:!0,get:function(){return e.detectOverflow}}),Object.defineProperty(t,"offset",{enumerable:!0,get:function(){return e.offset}}),t.arrow=j,t.autoPlacement=V,t.autoUpdate=function(t,e,i,c){void 0===c&&(c={});const{ancestorScroll:l=!0,ancestorResize:s=!0,elementResize:u="function"==typeof ResizeObserver,layoutShift:a="function"==typeof IntersectionObserver,animationFrame:d=!1}=c,h=E(t),p=l||s?[...h?L(h):[],...L(e)]:[];p.forEach((t=>{l&&t.addEventListener("scroll",i,{passive:!0}),s&&t.addEventListener("resize",i)}));const m=h&&a?function(t,e){let i,c=null;const l=f(t);function s(){clearTimeout(i),c&&c.disconnect(),c=null}return function f(u,a){void 0===u&&(u=!1),void 0===a&&(a=1),s();const{left:d,top:h,width:p,height:m}=t.getBoundingClientRect();if(u||e(),!p||!m)return;const g={rootMargin:-r(h)+"px "+-r(l.clientWidth-(d+p))+"px "+-r(l.clientHeight-(h+m))+"px "+-r(d)+"px",threshold:o(0,n(1,a))||1};let y=!0;function w(t){const e=t[0].intersectionRatio;if(e!==a){if(!y)return f();e?f(!1,e):i=setTimeout((()=>{f(!1,1e-7)}),100)}y=!1}try{c=new IntersectionObserver(w,{...g,root:l.ownerDocument})}catch(t){c=new IntersectionObserver(w,g)}c.observe(t)}(!0),s}(h,i):null;let g,y=-1,w=null;u&&(w=new ResizeObserver((t=>{let[n]=t;n&&n.target===h&&w&&(w.unobserve(e),cancelAnimationFrame(y),y=requestAnimationFrame((()=>{w&&w.observe(e)}))),i()})),h&&!d&&w.observe(h),w.observe(e));let x=d?F(t):null;return d&&function e(){const n=F(t);!x||n.x===x.x&&n.y===x.y&&n.width===x.width&&n.height===x.height||i();x=n,g=requestAnimationFrame(e)}(),i(),()=>{p.forEach((t=>{l&&t.removeEventListener("scroll",i),s&&t.removeEventListener("resize",i)})),m&&m(),w&&w.disconnect(),w=null,d&&cancelAnimationFrame(g)}},t.computePosition=(t,n,o)=>{const i=new Map,r={platform:A,...o},c={...r.platform,_c:i};return e.computePosition(t,n,{...r,platform:c})},t.flip=B,t.getOverflowAncestors=L,t.hide=k,t.inline=q,t.limitShift=U,t.platform=A,t.shift=N,t.size=I})); |
{ | ||
"name": "@floating-ui/dom", | ||
"version": "1.5.3", | ||
"version": "1.5.4", | ||
"description": "Floating UI for the web", | ||
@@ -11,3 +11,3 @@ "publishConfig": { | ||
"unpkg": "./dist/floating-ui.dom.umd.min.js", | ||
"types": "./src/types.d.ts", | ||
"types": "./dist/floating-ui.dom.d.ts", | ||
"exports": { | ||
@@ -17,6 +17,6 @@ "./package.json": "./package.json", | ||
"import": { | ||
"types": "./src/types.d.ts", | ||
"types": "./dist/floating-ui.dom.d.mts", | ||
"default": "./dist/floating-ui.dom.mjs" | ||
}, | ||
"types": "./src/types.d.ts", | ||
"types": "./dist/floating-ui.dom.d.ts", | ||
"module": "./dist/floating-ui.dom.esm.js", | ||
@@ -28,11 +28,4 @@ "default": "./dist/floating-ui.dom.umd.js" | ||
"files": [ | ||
"dist/", | ||
"**/*.d.ts", | ||
"**/*.d.mts" | ||
"dist" | ||
], | ||
"scripts": { | ||
"dev": "vite", | ||
"build": "NODE_ENV=build rollup -c", | ||
"test": "vitest" | ||
}, | ||
"author": "atomiks", | ||
@@ -56,11 +49,26 @@ "license": "MIT", | ||
"dependencies": { | ||
"@floating-ui/core": "^1.4.2", | ||
"@floating-ui/utils": "^0.1.3" | ||
"@floating-ui/core": "^1.5.3", | ||
"@floating-ui/utils": "^0.2.0" | ||
}, | ||
"devDependencies": { | ||
"@types/react": "^18.2.14", | ||
"@types/react": "^18.2.46", | ||
"@types/react-dom": "^18.2.18", | ||
"@vitejs/plugin-react": "^4.2.1", | ||
"react": "^18.2.0", | ||
"react-dom": "^18.2.0", | ||
"react-router-dom": "^6.14.0" | ||
"react-router-dom": "^6.21.1", | ||
"config": "0.0.0" | ||
}, | ||
"scripts": { | ||
"lint": "eslint .", | ||
"clean": "rimraf dist out-tsc test-results", | ||
"dev": "vite", | ||
"build": "rollup -c", | ||
"build:api": "build-api --tsc tsconfig.lib.json", | ||
"test": "vitest run", | ||
"test:watch": "vitest watch", | ||
"publint": "publint", | ||
"playwright": "playwright test ./test/functional", | ||
"typecheck": "tsc -b" | ||
} | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
143695
3132
7
11
- Removed@floating-ui/utils@0.1.6(transitive)
Updated@floating-ui/core@^1.5.3
Updated@floating-ui/utils@^0.2.0