Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

contain-by-screen

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

contain-by-screen - npm Package Compare versions

Comparing version 1.0.3 to 1.0.4

circle.yml

78

js/index.js
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _assign = require('babel-runtime/core-js/object/assign');

@@ -7,11 +11,12 @@

Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = containByScreen;
var _lodash = require('lodash');
var _flatten = require('lodash/flatten');
var _lodash2 = _interopRequireDefault(_lodash);
var _flatten2 = _interopRequireDefault(_flatten);
var _uniq = require('lodash/uniq');
var _uniq2 = _interopRequireDefault(_uniq);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -38,37 +43,30 @@

var positions = options.position && options.forcePosition ? [options.position] : _lodash2.default.uniq([options.position].concat(['top', 'bottom', 'left', 'right']).filter(Boolean));
var hAligns = options.hAlign && options.forceHAlign ? [options.hAlign] : _lodash2.default.uniq([options.hAlign].concat(['center', 'left', 'right']).filter(Boolean));
var vAligns = options.vAlign && options.forceVAlign ? [options.vAlign] : _lodash2.default.uniq([options.vAlign].concat(['center', 'top', 'bottom']).filter(Boolean));
var positions = options.position && options.forcePosition ? [options.position] : (0, _uniq2.default)([options.position].filter(Boolean).concat(['top', 'bottom', 'left', 'right']));
var hAligns = options.hAlign && options.forceHAlign ? [options.hAlign] : (0, _uniq2.default)([options.hAlign].filter(Boolean).concat(['center', 'left', 'right']));
var vAligns = options.vAlign && options.forceVAlign ? [options.vAlign] : (0, _uniq2.default)([options.vAlign].filter(Boolean).concat(['center', 'top', 'bottom']));
var choiceAndCoord = _lodash2.default.chain(positions).map(function (position) {
var allPossibleChoices = (0, _flatten2.default)(positions.map(function (position) {
return position === 'top' || position === 'bottom' ? hAligns.map(function (hAlign) {
return { position: position, hAlign: hAlign };
}) : [{ position: position, hAlign: 'center' }];
}).flatten().map(function (_ref) {
var position = _ref.position;
var hAlign = _ref.hAlign;
return position === 'top' || position === 'bottom' ? [{ position: position, hAlign: hAlign, vAlign: 'center' }] : vAligns.map(function (vAlign) {
return { position: position, hAlign: hAlign, vAlign: vAlign };
return { position: position, hAlign: hAlign, vAlign: 'center' };
}) : vAligns.map(function (vAlign) {
return { position: position, hAlign: 'center', vAlign: vAlign };
});
}).flatten()
// We've got an array of all sensible {position, hAlign, vAlign} combinations
.map(function (_ref2) {
var position = _ref2.position;
var hAlign = _ref2.hAlign;
var vAlign = _ref2.vAlign;
return {
choice: { position: position, hAlign: hAlign, vAlign: vAlign },
coord: positionAndAlign(elRect, anchorRect, position, hAlign, vAlign, buffers)
};
}).filter(function (_ref3) {
var choice = _ref3.choice;
var _ref3$coord = _ref3.coord;
var top = _ref3$coord.top;
var left = _ref3$coord.left;
return top - buffers.all - buffers.top >= 0 && left - buffers.all - buffers.left >= 0 && top + elRect.height + buffers.all + buffers.bottom <= window.innerHeight && left + elRect.width + buffers.all + buffers.right <= window.innerWidth;
}).first().value();
}));
var choiceAndCoord = null;
for (var i = 0; i < allPossibleChoices.length; i++) {
var choice = allPossibleChoices[i];
var coord = positionAndAlign(elRect, anchorRect, choice, buffers);
var _top = coord.top;
var _left = coord.left;
if (_top - buffers.all - buffers.top >= 0 && _left - buffers.all - buffers.left >= 0 && _top + elRect.height + buffers.all + buffers.bottom <= window.innerHeight && _left + elRect.width + buffers.all + buffers.right <= window.innerWidth) {
choiceAndCoord = { choice: choice, coord: coord };
break;
}
}
// Fallback if we failed to find a position that fit on the screen.
if (!choiceAndCoord) {
var choice = {
var _choice = {
position: options.position || 'top',

@@ -79,4 +77,4 @@ hAlign: options.hAlign || 'center',

choiceAndCoord = {
choice: choice,
coord: positionAndAlign(elRect, anchorRect, choice.position, choice.hAlign, choice.vAlign, buffers)
choice: _choice,
coord: positionAndAlign(elRect, anchorRect, _choice, buffers)
};

@@ -103,3 +101,7 @@ }

function positionAndAlign(elRect, anchorRect, position, hAlign, vAlign, buffers) {
function positionAndAlign(elRect, anchorRect, _ref, buffers) {
var position = _ref.position;
var hAlign = _ref.hAlign;
var vAlign = _ref.vAlign;
var top = 0,

@@ -159,2 +161,2 @@ left = 0;

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,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IEBmbG93ICovXG5cbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgdHlwZSB7UG9zaXRpb24sIEhBbGlnbiwgVkFsaWduLCBPcHRpb25zfSBmcm9tICcuL2luZGV4LmpzLmZsb3cnO1xuXG50eXBlIFJlY3QgPSB7IC8vIFNpbWlsYXIgdG8gQ2xpZW50UmVjdCwgYnV0IG5vdCBhIGNsYXNzXG4gIHRvcDogbnVtYmVyO1xuICBib3R0b206IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgcmlnaHQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbnRhaW5CeVNjcmVlbihlbGVtZW50OiBIVE1MRWxlbWVudCwgYW5jaG9yUG9pbnQ6IEhUTUxFbGVtZW50LCBvcHRpb25zOiBPcHRpb25zKTpcbntwb3NpdGlvbjogUG9zaXRpb24sIGhBbGlnbjogSEFsaWduLCB2QWxpZ246IFZBbGlnbn0ge1xuICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJyAmJiB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSkge1xuICAgIGNvbnN0IHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgaWYgKHN0eWxlLnBvc2l0aW9uICE9PSAnZml4ZWQnKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdjb250YWluQnlTY3JlZW4gb25seSB3b3JrcyBvbiBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cycsIGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGVsUmVjdDogUmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChlbGVtZW50KTtcbiAgY29uc3QgYW5jaG9yUmVjdDogUmVjdCA9IGdldEJvdW5kaW5nQ2xpZW50UmVjdChhbmNob3JQb2ludCk7XG5cbiAgY29uc3QgYnVmZmVycyA9IHtcbiAgICBhbGw6IG9wdGlvbnMuYnVmZmVyIHx8IDAsXG4gICAgdG9wOiBvcHRpb25zLnRvcEJ1ZmZlciB8fCAwLFxuICAgIGJvdHRvbTogb3B0aW9ucy5ib3R0b21CdWZmZXIgfHwgMCxcbiAgICBsZWZ0OiBvcHRpb25zLmxlZnRCdWZmZXIgfHwgMCxcbiAgICByaWdodDogb3B0aW9ucy5yaWdodEJ1ZmZlciB8fCAwXG4gIH07XG5cbiAgY29uc3QgcG9zaXRpb25zOiBQb3NpdGlvbltdID0gb3B0aW9ucy5wb3NpdGlvbiAmJiBvcHRpb25zLmZvcmNlUG9zaXRpb24gP1xuICAgIFtvcHRpb25zLnBvc2l0aW9uXSA6XG4gICAgXy51bmlxKFtvcHRpb25zLnBvc2l0aW9uXS5jb25jYXQoWyd0b3AnLCdib3R0b20nLCdsZWZ0JywncmlnaHQnXSkuZmlsdGVyKEJvb2xlYW4pKTtcbiAgY29uc3QgaEFsaWduczogSEFsaWduW10gPSBvcHRpb25zLmhBbGlnbiAmJiBvcHRpb25zLmZvcmNlSEFsaWduID9cbiAgICBbb3B0aW9ucy5oQWxpZ25dIDpcbiAgICBfLnVuaXEoW29wdGlvbnMuaEFsaWduXS5jb25jYXQoWydjZW50ZXInLCdsZWZ0JywncmlnaHQnXSkuZmlsdGVyKEJvb2xlYW4pKTtcbiAgY29uc3QgdkFsaWduczogVkFsaWduW10gPSBvcHRpb25zLnZBbGlnbiAmJiBvcHRpb25zLmZvcmNlVkFsaWduID9cbiAgICBbb3B0aW9ucy52QWxpZ25dIDpcbiAgICBfLnVuaXEoW29wdGlvbnMudkFsaWduXS5jb25jYXQoWydjZW50ZXInLCd0b3AnLCdib3R0b20nXSkuZmlsdGVyKEJvb2xlYW4pKTtcblxuICBsZXQgY2hvaWNlQW5kQ29vcmQgPSBfLmNoYWluKHBvc2l0aW9ucylcbiAgICAubWFwKHBvc2l0aW9uID0+XG4gICAgICBwb3NpdGlvbiA9PT0gJ3RvcCcgfHwgcG9zaXRpb24gPT09ICdib3R0b20nID9cbiAgICAgICAgaEFsaWducy5tYXAoaEFsaWduID0+ICh7cG9zaXRpb24sIGhBbGlnbn0pKSA6XG4gICAgICAgIFt7cG9zaXRpb24sIGhBbGlnbjogJ2NlbnRlcid9XVxuICAgIClcbiAgICAuZmxhdHRlbigpXG4gICAgLm1hcCgoe3Bvc2l0aW9uLCBoQWxpZ259KSA9PlxuICAgICAgcG9zaXRpb24gPT09ICd0b3AnIHx8IHBvc2l0aW9uID09PSAnYm90dG9tJyA/XG4gICAgICAgIFt7cG9zaXRpb24sIGhBbGlnbiwgdkFsaWduOiAnY2VudGVyJ31dIDpcbiAgICAgICAgdkFsaWducy5tYXAodkFsaWduID0+ICh7cG9zaXRpb24sIGhBbGlnbiwgdkFsaWdufSkpXG4gICAgKVxuICAgIC5mbGF0dGVuKClcbiAgICAvLyBXZSd2ZSBnb3QgYW4gYXJyYXkgb2YgYWxsIHNlbnNpYmxlIHtwb3NpdGlvbiwgaEFsaWduLCB2QWxpZ259IGNvbWJpbmF0aW9uc1xuICAgIC5tYXAoKHtwb3NpdGlvbiwgaEFsaWduLCB2QWxpZ259KSA9PiAoe1xuICAgICAgY2hvaWNlOiB7cG9zaXRpb24sIGhBbGlnbiwgdkFsaWdufSxcbiAgICAgIGNvb3JkOiBwb3NpdGlvbkFuZEFsaWduKGVsUmVjdCwgYW5jaG9yUmVjdCwgcG9zaXRpb24sIGhBbGlnbiwgdkFsaWduLCBidWZmZXJzKVxuICAgIH0pKVxuICAgIC5maWx0ZXIoKHtjaG9pY2UsIGNvb3JkOiB7dG9wLCBsZWZ0fX0pID0+XG4gICAgICB0b3AtYnVmZmVycy5hbGwtYnVmZmVycy50b3AgPj0gMCAmJlxuICAgICAgbGVmdC1idWZmZXJzLmFsbC1idWZmZXJzLmxlZnQgPj0gMCAmJlxuICAgICAgdG9wK2VsUmVjdC5oZWlnaHQrYnVmZmVycy5hbGwrYnVmZmVycy5ib3R0b20gPD0gd2luZG93LmlubmVySGVpZ2h0ICYmXG4gICAgICBsZWZ0K2VsUmVjdC53aWR0aCtidWZmZXJzLmFsbCtidWZmZXJzLnJpZ2h0IDw9IHdpbmRvdy5pbm5lcldpZHRoXG4gICAgKVxuICAgIC5maXJzdCgpXG4gICAgLnZhbHVlKCk7XG5cbiAgLy8gRmFsbGJhY2sgaWYgd2UgZmFpbGVkIHRvIGZpbmQgYSBwb3NpdGlvbiB0aGF0IGZpdCBvbiB0aGUgc2NyZWVuLlxuICBpZiAoIWNob2ljZUFuZENvb3JkKSB7XG4gICAgY29uc3QgY2hvaWNlID0ge1xuICAgICAgcG9zaXRpb246IG9wdGlvbnMucG9zaXRpb258fCd0b3AnLFxuICAgICAgaEFsaWduOiBvcHRpb25zLmhBbGlnbnx8J2NlbnRlcicsXG4gICAgICB2QWxpZ246IG9wdGlvbnMudkFsaWdufHwnY2VudGVyJ1xuICAgIH07XG4gICAgY2hvaWNlQW5kQ29vcmQgPSB7XG4gICAgICBjaG9pY2UsXG4gICAgICBjb29yZDogcG9zaXRpb25BbmRBbGlnbihlbFJlY3QsIGFuY2hvclJlY3QsXG4gICAgICAgIGNob2ljZS5wb3NpdGlvbiwgY2hvaWNlLmhBbGlnbiwgY2hvaWNlLnZBbGlnbiwgYnVmZmVycylcbiAgICB9O1xuICB9XG5cbiAgZWxlbWVudC5zdHlsZS50b3AgPSBgJHtjaG9pY2VBbmRDb29yZC5jb29yZC50b3B9cHhgO1xuICBlbGVtZW50LnN0eWxlLmxlZnQgPSBgJHtjaG9pY2VBbmRDb29yZC5jb29yZC5sZWZ0fXB4YDtcblxuICByZXR1cm4gY2hvaWNlQW5kQ29vcmQuY2hvaWNlO1xufVxuXG5mdW5jdGlvbiBnZXRCb3VuZGluZ0NsaWVudFJlY3QoZWw6IEVsZW1lbnQpOiBSZWN0IHtcbiAgbGV0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgaWYgKCEoJ3dpZHRoJyBpbiByZWN0KSkge1xuICAgIC8vIElFIDw5IHN1cHBvcnRcbiAgICByZWN0ID0gT2JqZWN0LmFzc2lnbigoe1xuICAgICAgd2lkdGg6IHJlY3QucmlnaHQtcmVjdC5sZWZ0LFxuICAgICAgaGVpZ2h0OiByZWN0LmJvdHRvbS1yZWN0LnRvcFxuICAgIH06IE9iamVjdCksIHJlY3QpO1xuICB9XG4gIHJldHVybiByZWN0O1xufVxuXG5mdW5jdGlvbiBwb3NpdGlvbkFuZEFsaWduKGVsUmVjdDogUmVjdCwgYW5jaG9yUmVjdDogUmVjdCwgcG9zaXRpb246IFBvc2l0aW9uLCBoQWxpZ246IEhBbGlnbiwgdkFsaWduOiBWQWxpZ24sIGJ1ZmZlcnMpOiB7dG9wOiBudW1iZXIsIGxlZnQ6IG51bWJlcn0ge1xuICBsZXQgdG9wPTAsIGxlZnQ9MDtcbiAgaWYgKHBvc2l0aW9uID09PSAndG9wJyB8fCBwb3NpdGlvbiA9PT0gJ2JvdHRvbScpIHtcbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICB0b3AgPSBNYXRoLmZsb29yKGFuY2hvclJlY3QudG9wIC0gZWxSZWN0LmhlaWdodCAtIGJ1ZmZlcnMuYWxsIC0gYnVmZmVycy5ib3R0b20pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHRvcCA9IE1hdGguY2VpbChhbmNob3JSZWN0LmJvdHRvbSArIGJ1ZmZlcnMuYWxsICsgYnVmZmVycy50b3ApO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBub3QgaGFwcGVuXCIpO1xuICAgIH1cbiAgICBzd2l0Y2ggKGhBbGlnbikge1xuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgbGVmdCA9IE1hdGgucm91bmQoKGFuY2hvclJlY3QubGVmdCArIGFuY2hvclJlY3QucmlnaHQgLSBlbFJlY3Qud2lkdGgpLzIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBsZWZ0ID0gTWF0aC5yb3VuZChhbmNob3JSZWN0LmxlZnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgbGVmdCA9IE1hdGgucm91bmQoYW5jaG9yUmVjdC5yaWdodCAtIGVsUmVjdC53aWR0aCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKFwiU2hvdWxkIG5vdCBoYXBwZW5cIik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBsZWZ0ID0gTWF0aC5mbG9vcihhbmNob3JSZWN0LmxlZnQgLSBlbFJlY3Qud2lkdGggLSBidWZmZXJzLmFsbCAtIGJ1ZmZlcnMucmlnaHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgbGVmdCA9IE1hdGguY2VpbChhbmNob3JSZWN0LnJpZ2h0ICsgYnVmZmVycy5hbGwgKyBidWZmZXJzLmxlZnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBub3QgaGFwcGVuXCIpO1xuICAgIH1cbiAgICBzd2l0Y2ggKHZBbGlnbikge1xuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgdG9wID0gTWF0aC5yb3VuZCgoYW5jaG9yUmVjdC50b3AgKyBhbmNob3JSZWN0LmJvdHRvbSAtIGVsUmVjdC5oZWlnaHQpLzIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIHRvcCA9IE1hdGgucm91bmQoYW5jaG9yUmVjdC50b3ApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHRvcCA9IE1hdGgucm91bmQoYW5jaG9yUmVjdC5ib3R0b20gLSBlbFJlY3QuaGVpZ2h0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgbm90IGhhcHBlblwiKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHt0b3AsIGxlZnR9O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,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UjtBQUNFLFdBQUssTUFBTDtBQUNFLGVBQU8sS0FBSyxLQUFMLENBQVcsV0FBVyxJQUFYLEdBQWtCLE9BQU8sS0FBUCxHQUFlLFFBQVEsR0FBUixHQUFjLFFBQVEsS0FBUixDQUFqRSxDQURGO0FBRUUsY0FGRjtBQURGLFdBSU8sT0FBTDtBQUNFLGVBQU8sS0FBSyxJQUFMLENBQVUsV0FBVyxLQUFYLEdBQW1CLFFBQVEsR0FBUixHQUFjLFFBQVEsSUFBUixDQUFsRCxDQURGO0FBRUUsY0FGRjtBQUpGO0FBT1csY0FBTSxJQUFJLEtBQUosQ0FBVSxtQkFBVixDQUFOLENBQVQ7QUFQRixLQURLO0FBVUwsWUFBUSxNQUFSO0FBQ0UsV0FBSyxRQUFMO0FBQ0UsY0FBTSxLQUFLLEtBQUwsQ0FBVyxDQUFDLFdBQVcsR0FBWCxHQUFpQixXQUFXLE1BQVgsR0FBb0IsT0FBTyxNQUFQLENBQXRDLEdBQXFELENBQXJELENBQWpCLENBREY7QUFFRSxjQUZGO0FBREYsV0FJTyxLQUFMO0FBQ0UsY0FBTSxLQUFLLEtBQUwsQ0FBVyxXQUFXLEdBQVgsQ0FBakIsQ0FERjtBQUVFLGNBRkY7QUFKRixXQU9PLFFBQUw7QUFDRSxjQUFNLEtBQUssS0FBTCxDQUFXLFdBQVcsTUFBWCxHQUFvQixPQUFPLE1BQVAsQ0FBckMsQ0FERjtBQUVFLGNBRkY7QUFQRjtBQVVXLGNBQU0sSUFBSSxLQUFKLENBQVUsbUJBQVYsQ0FBTixDQUFUO0FBVkYsS0FWSztHQXRCUDtBQTZDQSxTQUFPLEVBQUMsUUFBRCxFQUFNLFVBQU4sRUFBUCxDQS9Da0k7Q0FBcEkiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBAZmxvdyAqL1xuXG5pbXBvcnQgZmxhdHRlbiBmcm9tICdsb2Rhc2gvZmxhdHRlbic7XG5pbXBvcnQgdW5pcSBmcm9tICdsb2Rhc2gvdW5pcSc7XG5cbmV4cG9ydCB0eXBlIFBvc2l0aW9uID0gJ3RvcCd8J2JvdHRvbSd8J2xlZnQnfCdyaWdodCc7XG5leHBvcnQgdHlwZSBIQWxpZ24gPSAnY2VudGVyJ3wnbGVmdCd8J3JpZ2h0JztcbmV4cG9ydCB0eXBlIFZBbGlnbiA9ICdjZW50ZXInfCd0b3AnfCdib3R0b20nO1xuZXhwb3J0IHR5cGUgQ2hvaWNlID0ge1xuICBwb3NpdGlvbjogUG9zaXRpb247XG4gIGhBbGlnbjogSEFsaWduO1xuICB2QWxpZ246IFZBbGlnbjtcbn07XG5cbmV4cG9ydCB0eXBlIE9wdGlvbnMgPSB7XG4gIHBvc2l0aW9uPzogP1Bvc2l0aW9uO1xuICBmb3JjZVBvc2l0aW9uPzogP2Jvb2xlYW47XG4gIGhBbGlnbj86ID9IQWxpZ247XG4gIGZvcmNlSEFsaWduPzogP2Jvb2xlYW47XG4gIHZBbGlnbj86ID9WQWxpZ247XG4gIGZvcmNlVkFsaWduPzogP2Jvb2xlYW47XG4gIGJ1ZmZlcj86ID9udW1iZXI7XG4gIHRvcEJ1ZmZlcj86ID9udW1iZXI7XG4gIGJvdHRvbUJ1ZmZlcj86ID9udW1iZXI7XG4gIGxlZnRCdWZmZXI/OiA/bnVtYmVyO1xuICByaWdodEJ1ZmZlcj86ID9udW1iZXI7XG59O1xuXG50eXBlIFJlY3QgPSB7IC8vIFNpbWlsYXIgdG8gQ2xpZW50UmVjdCwgYnV0IG5vdCBhIGNsYXNzXG4gIHRvcDogbnVtYmVyO1xuICBib3R0b206IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGxlZnQ6IG51bWJlcjtcbiAgcmlnaHQ6IG51bWJlcjtcbiAgd2lkdGg6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbnRhaW5CeVNjcmVlbihlbGVtZW50OiBIVE1MRWxlbWVudCwgYW5jaG9yUG9pbnQ6IEhUTUxFbGVtZW50LCBvcHRpb25zOiBPcHRpb25zKTpcbkNob2ljZSB7XG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nICYmIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKSB7XG4gICAgY29uc3Qgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICBpZiAoc3R5bGUucG9zaXRpb24gIT09ICdmaXhlZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ2NvbnRhaW5CeVNjcmVlbiBvbmx5IHdvcmtzIG9uIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzJywgZWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgZWxSZWN0OiBSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQpO1xuICBjb25zdCBhbmNob3JSZWN0OiBSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGFuY2hvclBvaW50KTtcblxuICBjb25zdCBidWZmZXJzID0ge1xuICAgIGFsbDogb3B0aW9ucy5idWZmZXIgfHwgMCxcbiAgICB0b3A6IG9wdGlvbnMudG9wQnVmZmVyIHx8IDAsXG4gICAgYm90dG9tOiBvcHRpb25zLmJvdHRvbUJ1ZmZlciB8fCAwLFxuICAgIGxlZnQ6IG9wdGlvbnMubGVmdEJ1ZmZlciB8fCAwLFxuICAgIHJpZ2h0OiBvcHRpb25zLnJpZ2h0QnVmZmVyIHx8IDBcbiAgfTtcblxuICBjb25zdCBwb3NpdGlvbnM6IFBvc2l0aW9uW10gPSBvcHRpb25zLnBvc2l0aW9uICYmIG9wdGlvbnMuZm9yY2VQb3NpdGlvbiA/XG4gICAgW29wdGlvbnMucG9zaXRpb25dIDpcbiAgICB1bmlxKFtvcHRpb25zLnBvc2l0aW9uXS5maWx0ZXIoQm9vbGVhbikuY29uY2F0KFsndG9wJywnYm90dG9tJywnbGVmdCcsJ3JpZ2h0J10pKTtcbiAgY29uc3QgaEFsaWduczogSEFsaWduW10gPSBvcHRpb25zLmhBbGlnbiAmJiBvcHRpb25zLmZvcmNlSEFsaWduID9cbiAgICBbb3B0aW9ucy5oQWxpZ25dIDpcbiAgICB1bmlxKFtvcHRpb25zLmhBbGlnbl0uZmlsdGVyKEJvb2xlYW4pLmNvbmNhdChbJ2NlbnRlcicsJ2xlZnQnLCdyaWdodCddKSk7XG4gIGNvbnN0IHZBbGlnbnM6IFZBbGlnbltdID0gb3B0aW9ucy52QWxpZ24gJiYgb3B0aW9ucy5mb3JjZVZBbGlnbiA/XG4gICAgW29wdGlvbnMudkFsaWduXSA6XG4gICAgdW5pcShbb3B0aW9ucy52QWxpZ25dLmZpbHRlcihCb29sZWFuKS5jb25jYXQoWydjZW50ZXInLCd0b3AnLCdib3R0b20nXSkpO1xuXG4gIGNvbnN0IGFsbFBvc3NpYmxlQ2hvaWNlcyA9IGZsYXR0ZW4ocG9zaXRpb25zLm1hcChwb3NpdGlvbiA9PlxuICAgIChwb3NpdGlvbiA9PT0gJ3RvcCcgfHwgcG9zaXRpb24gPT09ICdib3R0b20nKSA/XG4gICAgICBoQWxpZ25zLm1hcChoQWxpZ24gPT4gKHtwb3NpdGlvbiwgaEFsaWduLCB2QWxpZ246ICdjZW50ZXInfSkpIDpcbiAgICAgIHZBbGlnbnMubWFwKHZBbGlnbiA9PiAoe3Bvc2l0aW9uLCBoQWxpZ246ICdjZW50ZXInLCB2QWxpZ259KSlcbiAgKSk7XG5cbiAgbGV0IGNob2ljZUFuZENvb3JkID0gbnVsbDtcbiAgZm9yIChsZXQgaT0wOyBpIDwgYWxsUG9zc2libGVDaG9pY2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgY2hvaWNlID0gYWxsUG9zc2libGVDaG9pY2VzW2ldO1xuICAgIGNvbnN0IGNvb3JkID0gcG9zaXRpb25BbmRBbGlnbihlbFJlY3QsIGFuY2hvclJlY3QsIGNob2ljZSwgYnVmZmVycyk7XG4gICAgY29uc3Qge3RvcCwgbGVmdH0gPSBjb29yZDtcbiAgICBpZiAoXG4gICAgICB0b3AtYnVmZmVycy5hbGwtYnVmZmVycy50b3AgPj0gMCAmJlxuICAgICAgbGVmdC1idWZmZXJzLmFsbC1idWZmZXJzLmxlZnQgPj0gMCAmJlxuICAgICAgdG9wK2VsUmVjdC5oZWlnaHQrYnVmZmVycy5hbGwrYnVmZmVycy5ib3R0b20gPD0gd2luZG93LmlubmVySGVpZ2h0ICYmXG4gICAgICBsZWZ0K2VsUmVjdC53aWR0aCtidWZmZXJzLmFsbCtidWZmZXJzLnJpZ2h0IDw9IHdpbmRvdy5pbm5lcldpZHRoXG4gICAgKSB7XG4gICAgICBjaG9pY2VBbmRDb29yZCA9IHtjaG9pY2UsIGNvb3JkfTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZhbGxiYWNrIGlmIHdlIGZhaWxlZCB0byBmaW5kIGEgcG9zaXRpb24gdGhhdCBmaXQgb24gdGhlIHNjcmVlbi5cbiAgaWYgKCFjaG9pY2VBbmRDb29yZCkge1xuICAgIGNvbnN0IGNob2ljZSA9IHtcbiAgICAgIHBvc2l0aW9uOiBvcHRpb25zLnBvc2l0aW9ufHwndG9wJyxcbiAgICAgIGhBbGlnbjogb3B0aW9ucy5oQWxpZ258fCdjZW50ZXInLFxuICAgICAgdkFsaWduOiBvcHRpb25zLnZBbGlnbnx8J2NlbnRlcidcbiAgICB9O1xuICAgIGNob2ljZUFuZENvb3JkID0ge1xuICAgICAgY2hvaWNlLFxuICAgICAgY29vcmQ6IHBvc2l0aW9uQW5kQWxpZ24oZWxSZWN0LCBhbmNob3JSZWN0LCBjaG9pY2UsIGJ1ZmZlcnMpXG4gICAgfTtcbiAgfVxuXG4gIGVsZW1lbnQuc3R5bGUudG9wID0gYCR7Y2hvaWNlQW5kQ29vcmQuY29vcmQudG9wfXB4YDtcbiAgZWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7Y2hvaWNlQW5kQ29vcmQuY29vcmQubGVmdH1weGA7XG5cbiAgcmV0dXJuIGNob2ljZUFuZENvb3JkLmNob2ljZTtcbn1cblxuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsOiBFbGVtZW50KTogUmVjdCB7XG4gIGxldCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGlmICghKCd3aWR0aCcgaW4gcmVjdCkpIHtcbiAgICAvLyBJRSA8OSBzdXBwb3J0XG4gICAgcmVjdCA9IE9iamVjdC5hc3NpZ24oKHtcbiAgICAgIHdpZHRoOiByZWN0LnJpZ2h0LXJlY3QubGVmdCxcbiAgICAgIGhlaWdodDogcmVjdC5ib3R0b20tcmVjdC50b3BcbiAgICB9OiBPYmplY3QpLCByZWN0KTtcbiAgfVxuICByZXR1cm4gcmVjdDtcbn1cblxuZnVuY3Rpb24gcG9zaXRpb25BbmRBbGlnbihlbFJlY3Q6IFJlY3QsIGFuY2hvclJlY3Q6IFJlY3QsIHtwb3NpdGlvbiwgaEFsaWduLCB2QWxpZ259OiBDaG9pY2UsIGJ1ZmZlcnMpOiB7dG9wOiBudW1iZXIsIGxlZnQ6IG51bWJlcn0ge1xuICBsZXQgdG9wPTAsIGxlZnQ9MDtcbiAgaWYgKHBvc2l0aW9uID09PSAndG9wJyB8fCBwb3NpdGlvbiA9PT0gJ2JvdHRvbScpIHtcbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICB0b3AgPSBNYXRoLmZsb29yKGFuY2hvclJlY3QudG9wIC0gZWxSZWN0LmhlaWdodCAtIGJ1ZmZlcnMuYWxsIC0gYnVmZmVycy5ib3R0b20pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHRvcCA9IE1hdGguY2VpbChhbmNob3JSZWN0LmJvdHRvbSArIGJ1ZmZlcnMuYWxsICsgYnVmZmVycy50b3ApO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBub3QgaGFwcGVuXCIpO1xuICAgIH1cbiAgICBzd2l0Y2ggKGhBbGlnbikge1xuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgbGVmdCA9IE1hdGgucm91bmQoKGFuY2hvclJlY3QubGVmdCArIGFuY2hvclJlY3QucmlnaHQgLSBlbFJlY3Qud2lkdGgpLzIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBsZWZ0ID0gTWF0aC5yb3VuZChhbmNob3JSZWN0LmxlZnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgbGVmdCA9IE1hdGgucm91bmQoYW5jaG9yUmVjdC5yaWdodCAtIGVsUmVjdC53aWR0aCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDogdGhyb3cgbmV3IEVycm9yKFwiU2hvdWxkIG5vdCBoYXBwZW5cIik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBsZWZ0ID0gTWF0aC5mbG9vcihhbmNob3JSZWN0LmxlZnQgLSBlbFJlY3Qud2lkdGggLSBidWZmZXJzLmFsbCAtIGJ1ZmZlcnMucmlnaHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgbGVmdCA9IE1hdGguY2VpbChhbmNob3JSZWN0LnJpZ2h0ICsgYnVmZmVycy5hbGwgKyBidWZmZXJzLmxlZnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihcIlNob3VsZCBub3QgaGFwcGVuXCIpO1xuICAgIH1cbiAgICBzd2l0Y2ggKHZBbGlnbikge1xuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgdG9wID0gTWF0aC5yb3VuZCgoYW5jaG9yUmVjdC50b3AgKyBhbmNob3JSZWN0LmJvdHRvbSAtIGVsUmVjdC5oZWlnaHQpLzIpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIHRvcCA9IE1hdGgucm91bmQoYW5jaG9yUmVjdC50b3ApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIHRvcCA9IE1hdGgucm91bmQoYW5jaG9yUmVjdC5ib3R0b20gLSBlbFJlY3QuaGVpZ2h0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OiB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgbm90IGhhcHBlblwiKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHt0b3AsIGxlZnR9O1xufVxuIl19
{
"name": "contain-by-screen",
"version": "1.0.3",
"version": "1.0.4",
"description": "Position a dropdown element near a button in a way that fits on the screen.",
"main": "js/index.js",
"scripts": {
"prepublish": "babel -s inline -d js/ src/ && cp -v src/index.js.flow js/",
"prepublish": "babel -s inline -d js/ src/ && flow-copy-source -v src js",
"test": "mocha"

@@ -21,2 +21,7 @@ },

"license": "MIT",
"browserify": {
"transform": [
"envify"
]
},
"bugs": {

@@ -28,3 +33,3 @@ "url": "https://github.com/AgentME/contain-by-screen/issues"

"babel-cli": "^6.4.0",
"babel-plugin-add-module-exports": "^0.1.3-alpha",
"babel-plugin-add-module-exports": "^0.1.2",
"babel-plugin-transform-class-properties": "^6.4.0",

@@ -35,2 +40,3 @@ "babel-plugin-transform-flow-strip-types": "^6.4.0",

"babel-register": "^6.4.3",
"flow-copy-source": "^1.0.1",
"mocha": "^2.3.4"

@@ -40,4 +46,5 @@ },

"babel-runtime": "^6.3.19",
"lodash": "^3.10.1"
"envify": "^3.4.0",
"lodash": "^4.6.1"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc