position-element
Advanced tools
Comparing version 1.0.1 to 1.0.2
@@ -265,2 +265,3 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
var placementStyle = { | ||
position: 'absolute', | ||
left: anchorElement.offsetLeft + (anchorRect.width - elemRect.width) / 2, | ||
@@ -267,0 +268,0 @@ top: anchorElement.offsetTop + (anchorRect.height - elemRect.height) / 2 |
@@ -1,1 +0,1 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("position-element",[],t):"object"==typeof exports?exports["position-element"]=t():e["position-element"]=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(1);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o(r).default}})},function(e,t,n){"use strict";function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function r(e){var t=e.element,n=e.anchorElement,r=e.preferredPlacement,a=e.distance,l=e.alignmentOffset;if(!1===e.autoReposition){var d=(0,i.getPlacementStyle)({placement:r,element:t,anchorElement:n,distance:a,alignmentOffset:l});return(0,c.default)(t,d),r}return[].concat(o((0,i.getPlacementCandidates)(r)),[r]).find(function(e){var o=(0,i.getPlacementStyle)({placement:e,element:t,anchorElement:n,distance:a,alignmentOffset:l});return(0,c.default)(t,o),f(t)})||r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r;var i=n(2),a=n(3),c=function(e){return e&&e.__esModule?e:{default:e}}(a),f=function(e){var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}},function(e,t,n){"use strict";function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function r(e){return c[e]||{}}function i(e){var t=e.placement,n=e.element,o=e.anchorElement,i=e.distance,a=void 0===i?0:i,c=e.alignmentOffset,f=void 0===c?0:c,l=r(t),d=o.getBoundingClientRect(),u=n.getBoundingClientRect(),s={left:o.offsetLeft+(d.width-u.width)/2,top:o.offsetTop+(d.height-u.height)/2};switch(l.direction){case"up":s.top=o.offsetTop-a-u.height;break;case"down":s.top=o.offsetTop+a+d.height;break;case"left":s.left=o.offsetLeft-a-u.width;break;case"right":s.left=o.offsetLeft+a+d.width}switch(l.alignment){case"left":s.left=o.offsetLeft+f;break;case"center":s.left=o.offsetLeft+(d.width-u.width)/2;break;case"right":s.left=o.offsetLeft+d.width-u.width-f;break;case"top":s.top=o.offsetTop+f;break;case"middle":s.top=o.offsetTop+(d.height-u.height)/2;break;case"bottom":s.top=o.offsetTop+(d.height-u.height)-f}return s}function a(e){var t=function(t,n){return f(t,e)-f(n,e)},n=Object.keys(c).sort(t);return n.includes(e)?n:[e].concat(o(n))}Object.defineProperty(t,"__esModule",{value:!0}),t.getPlacementInfo=r,t.getPlacementStyle=i,t.getPlacementCandidates=a;var c={"up-left":{direction:"up",alignment:"left",coordinate:[-2,3]},"up-center":{direction:"up",alignment:"center",coordinate:[0,1]},"up-right":{direction:"up",alignment:"right",coordinate:[2,3]},"down-left":{direction:"down",alignment:"left",coordinate:[-2,-3]},"down-center":{direction:"down",alignment:"center",coordinate:[0,-1]},"down-right":{direction:"down",alignment:"right",coordinate:[2,-3]},"left-top":{direction:"left",alignment:"top",coordinate:[-4,1]},"left-middle":{direction:"left",alignment:"middle",coordinate:[-2.5,0]},"left-bottom":{direction:"left",alignment:"bottom",coordinate:[-4,-1]},"right-top":{direction:"right",alignment:"top",coordinate:[4,1]},"right-middle":{direction:"right",alignment:"middle",coordinate:[2.5,0]},"right-bottom":{direction:"right",alignment:"bottom",coordinate:[4,-1]}},f=function(e,t){var n=r(e),o=r(t),i=n.coordinate||[0,0],a=o.coordinate||[0,0];return Math.pow(i[0]-a[0],2)+Math.pow(i[1]-a[1],2)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e};t.default=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(e){var r=o({},t);Object.keys(r).forEach(function(e){var t=r[e];Number.isFinite(t)&&!["opacity","zIndex"].includes(e)&&(r[e]=t+"px")}),n&&Object.assign(e.style,{transition:"all "+n+"s"}),Object.assign(e.style,r)}}}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("position-element",[],t):"object"==typeof exports?exports["position-element"]=t():e["position-element"]=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(o){if(n[o])return n[o].exports;var i=n[o]={i:o,l:!1,exports:{}};return e[o].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:o})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(1);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o(i).default}})},function(e,t,n){"use strict";function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e){var t=e.element,n=e.anchorElement,i=e.preferredPlacement,a=e.distance,l=e.alignmentOffset;if(!1===e.autoReposition){var d=(0,r.getPlacementStyle)({placement:i,element:t,anchorElement:n,distance:a,alignmentOffset:l});return(0,c.default)(t,d),i}return[].concat(o((0,r.getPlacementCandidates)(i)),[i]).find(function(e){var o=(0,r.getPlacementStyle)({placement:e,element:t,anchorElement:n,distance:a,alignmentOffset:l});return(0,c.default)(t,o),f(t)})||i}Object.defineProperty(t,"__esModule",{value:!0}),t.default=i;var r=n(2),a=n(3),c=function(e){return e&&e.__esModule?e:{default:e}}(a),f=function(e){var t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}},function(e,t,n){"use strict";function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e){return c[e]||{}}function r(e){var t=e.placement,n=e.element,o=e.anchorElement,r=e.distance,a=void 0===r?0:r,c=e.alignmentOffset,f=void 0===c?0:c,l=i(t),d=o.getBoundingClientRect(),u=n.getBoundingClientRect(),s={position:"absolute",left:o.offsetLeft+(d.width-u.width)/2,top:o.offsetTop+(d.height-u.height)/2};switch(l.direction){case"up":s.top=o.offsetTop-a-u.height;break;case"down":s.top=o.offsetTop+a+d.height;break;case"left":s.left=o.offsetLeft-a-u.width;break;case"right":s.left=o.offsetLeft+a+d.width}switch(l.alignment){case"left":s.left=o.offsetLeft+f;break;case"center":s.left=o.offsetLeft+(d.width-u.width)/2;break;case"right":s.left=o.offsetLeft+d.width-u.width-f;break;case"top":s.top=o.offsetTop+f;break;case"middle":s.top=o.offsetTop+(d.height-u.height)/2;break;case"bottom":s.top=o.offsetTop+(d.height-u.height)-f}return s}function a(e){var t=function(t,n){return f(t,e)-f(n,e)},n=Object.keys(c).sort(t);return n.includes(e)?n:[e].concat(o(n))}Object.defineProperty(t,"__esModule",{value:!0}),t.getPlacementInfo=i,t.getPlacementStyle=r,t.getPlacementCandidates=a;var c={"up-left":{direction:"up",alignment:"left",coordinate:[-2,3]},"up-center":{direction:"up",alignment:"center",coordinate:[0,1]},"up-right":{direction:"up",alignment:"right",coordinate:[2,3]},"down-left":{direction:"down",alignment:"left",coordinate:[-2,-3]},"down-center":{direction:"down",alignment:"center",coordinate:[0,-1]},"down-right":{direction:"down",alignment:"right",coordinate:[2,-3]},"left-top":{direction:"left",alignment:"top",coordinate:[-4,1]},"left-middle":{direction:"left",alignment:"middle",coordinate:[-2.5,0]},"left-bottom":{direction:"left",alignment:"bottom",coordinate:[-4,-1]},"right-top":{direction:"right",alignment:"top",coordinate:[4,1]},"right-middle":{direction:"right",alignment:"middle",coordinate:[2.5,0]},"right-bottom":{direction:"right",alignment:"bottom",coordinate:[4,-1]}},f=function(e,t){var n=i(e),o=i(t),r=n.coordinate||[0,0],a=o.coordinate||[0,0];return Math.pow(r[0]-a[0],2)+Math.pow(r[1]-a[1],2)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e};t.default=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(e){var i=o({},t);Object.keys(i).forEach(function(e){var t=i[e];Number.isFinite(t)&&!["opacity","zIndex"].includes(e)&&(i[e]=t+"px")}),n&&Object.assign(e.style,{transition:"all "+n+"s"}),Object.assign(e.style,i)}}}])}); |
{ | ||
"name": "position-element", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "A simple function for positioning one DOM element relative to another DOM element", | ||
@@ -5,0 +5,0 @@ "main": "lib/position-element.js", |
@@ -92,2 +92,3 @@ /* | ||
const placementStyle = { | ||
position: 'absolute', | ||
left: anchorElement.offsetLeft + (anchorRect.width - elemRect.width) / 2, | ||
@@ -94,0 +95,0 @@ top: anchorElement.offsetTop + (anchorRect.height - elemRect.height) / 2, |
@@ -34,3 +34,3 @@ import { expect } from 'chai'; | ||
); | ||
expect(position).to.deep.equal({ left: 200, top: 125 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 200, top: 125 }); | ||
@@ -40,3 +40,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 200, top: 100 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 200, top: 100 }); | ||
@@ -46,3 +46,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 200, top: 150 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 200, top: 150 }); | ||
@@ -52,3 +52,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 50, top: 100 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 50, top: 100 }); | ||
@@ -58,3 +58,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 50, top: 125 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 50, top: 125 }); | ||
@@ -64,3 +64,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 50, top: 150 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 50, top: 150 }); | ||
@@ -70,3 +70,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 100, top: 50 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 100, top: 50 }); | ||
@@ -76,3 +76,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 125, top: 50 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 125, top: 50 }); | ||
@@ -82,3 +82,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 150, top: 50 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 150, top: 50 }); | ||
@@ -88,3 +88,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 100, top: 200 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 100, top: 200 }); | ||
@@ -94,3 +94,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 125, top: 200 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 125, top: 200 }); | ||
@@ -100,3 +100,3 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 150, top: 200 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 150, top: 200 }); | ||
@@ -106,5 +106,5 @@ position = getPlacementStyle( | ||
); | ||
expect(position).to.deep.equal({ left: 125, top: 125 }); | ||
expect(position).to.deep.equal({position: "absolute", left: 125, top: 125 }); | ||
}); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
53260
653