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

vue-popup

Package Overview
Dependencies
Maintainers
1
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-popup - npm Package Compare versions

Comparing version 0.1.7 to 0.1.8

3

cooking.conf.js

@@ -22,4 +22,3 @@ var cooking = require('cooking');

cooking.add('externals.vue', 'vue');
cooking.remove('plugin.UglifyJs');
module.exports = cooking.resolve();
module.exports = cooking.resolve();

@@ -10,5 +10,10 @@ var cooking = require('cooking');

publicPath: '/example/dist/',
template: false,
template: './example/index.html',
devServer: false,
devServer: {
port: 8700,
hostname: require('my-local-ip')(),
publicPath: '/',
log: false
},

@@ -15,0 +20,0 @@ extends: ['vue', 'lint']

@@ -1,496 +0,2 @@

(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("vue"));
else if(typeof define === 'function' && define.amd)
define("VuePopup", ["vue"], factory);
else if(typeof exports === 'object')
exports["VuePopup"] = factory(require("vue"));
else
root["VuePopup"] = factory(root["vue"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_4__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _vue = __webpack_require__(4);
var _vue2 = _interopRequireDefault(_vue);
var _util = __webpack_require__(2);
var _popupManager = __webpack_require__(1);
var _popupManager2 = _interopRequireDefault(_popupManager);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
__webpack_require__(3);
var idSeed = 1;
var transitions = [];
var hookTransition = function hookTransition(transition) {
if (transitions.indexOf(transition) !== -1) return;
var getVueInstance = function getVueInstance(element) {
var instance = element.__vue__;
if (!instance) {
var textNode = element.previousSibling;
if (textNode.__vue__) {
instance = textNode.__vue__;
}
}
return instance;
};
_vue2.default.transition(transition, {
afterEnter: function afterEnter(el) {
var instance = getVueInstance(el);
if (instance) {
instance.doAfterOpen && instance.doAfterOpen();
}
},
afterLeave: function afterLeave(el) {
var instance = getVueInstance(el);
if (instance) {
instance.doAfterClose && instance.doAfterClose();
}
}
});
};
var getDOM = function getDOM(dom) {
if (dom.nodeType === 3) {
return dom.nextElementSibling;
}
return dom;
};
exports.default = {
props: {
visible: {
type: Boolean,
twoWay: true,
default: false
},
transition: {
type: String,
default: ''
},
openDelay: {},
closeDelay: {},
zIndex: {},
modal: {
type: Boolean,
default: false
},
modalClass: {},
closeOnPressEscape: {
type: Boolean,
default: false
},
closeOnClickModal: {
type: Boolean,
default: false
}
},
created: function created() {
if (this.transition) {
hookTransition(this.transition);
}
},
compiled: function compiled() {
this._popupId = 'popup-' + idSeed++;
_popupManager2.default.register(this._popupId, this);
},
beforeDestroy: function beforeDestroy() {
_popupManager2.default.deregister(this._popupId);
_popupManager2.default.closeModal(this._popupId);
},
data: function data() {
return {
rendered: false
};
},
watch: {
visible: function visible(val) {
var _this = this;
if (val) {
if (this._opening) return;
if (!this.rendered) {
this.rendered = true;
_vue2.default.nextTick(function () {
_this.open();
});
} else {
this.open();
}
} else {
this.close();
}
}
},
methods: {
open: function open(options) {
var _this2 = this;
if (!this.rendered) {
this.rendered = true;
this.visible = true;
return;
}
var props = (0, _util.merge)({}, this, options);
if (this._closeTimer) {
clearTimeout(this._closeTimer);
this._closeTimer = null;
}
clearTimeout(this._openTimer);
var openDelay = Number(props.openDelay);
if (openDelay > 0) {
this._openTimer = setTimeout(function () {
_this2._openTimer = null;
_this2.doOpen(props);
}, openDelay);
} else {
this.doOpen(props);
}
},
doOpen: function doOpen(props) {
if (this.willOpen && !this.willOpen()) return;
this._opening = true;
this.visible = true;
var dom = getDOM(this.$el);
var modal = props.modal;
if (modal) {
if (this._closing) {
_popupManager2.default.closeModal(this._popupId);
this._closing = false;
}
_popupManager2.default.openModal(this._popupId, _popupManager2.default.nextZIndex(), dom, props.modalClass);
}
if (getComputedStyle(dom).position === 'static') {
dom.style.position = 'absolute';
}
var zIndex = props.zIndex;
if (modal) {
dom.style.zIndex = _popupManager2.default.nextZIndex();
} else if (zIndex) {
dom.style.zIndex = zIndex;
}
this.onOpen && this.onOpen();
if (!this.transition) {
this.doAfterOpen();
}
},
doAfterOpen: function doAfterOpen() {
this._opening = false;
},
close: function close() {
var _this3 = this;
if (this.willClose && !this.willClose()) return;
if (this._openTimer !== null) {
clearTimeout(this._openTimer);
this._openTimer = null;
}
clearTimeout(this._closeTimer);
var closeDelay = Number(this.closeDelay);
if (closeDelay > 0) {
this._closeTimer = setTimeout(function () {
_this3._closeTimer = null;
_this3.doClose();
}, closeDelay);
} else {
this.doClose();
}
},
doClose: function doClose() {
this.visible = false;
this._closing = true;
this.onClose && this.onClose();
if (!this.transition) {
this.doAfterClose();
}
},
doAfterClose: function doAfterClose() {
_popupManager2.default.closeModal(this._popupId);
this._closing = false;
}
}
};
/***/ },
/* 1 */
/***/ function(module, exports) {
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var getModal = function getModal() {
var modalDom = PopupManager.modalDom;
if (!modalDom) {
modalDom = document.createElement('div');
PopupManager.modalDom = modalDom;
modalDom.addEventListener('touchmove', function (event) {
event.preventDefault();
event.stopPropagation();
});
modalDom.addEventListener('click', function () {
PopupManager.doOnModalClick && PopupManager.doOnModalClick();
});
}
return modalDom;
};
var instances = {};
var PopupManager = {
zIndex: 1000,
getInstance: function getInstance(id) {
return instances[id];
},
register: function register(id, instance) {
if (id && instance) {
instances[id] = instance;
}
},
deregister: function deregister(id) {
if (id) {
instances[id] = null;
delete instances[id];
}
},
nextZIndex: function nextZIndex() {
return PopupManager.zIndex++;
},
modalStack: [],
doOnModalClick: function doOnModalClick() {
var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
if (!topItem) return;
var instance = PopupManager.getInstance(topItem.id);
if (instance && instance.closeOnClickModal) {
instance.close();
}
},
openModal: function openModal(id, zIndex, dom, modalClass) {
if (!id || zIndex === undefined) return;
var modalStack = this.modalStack;
for (var i = 0, j = modalStack.length; i < j; i++) {
var item = modalStack[i];
if (item.id === id) {
return;
}
}
var modalDom = getModal();
modalDom.classList.add('v-modal');
modalDom.classList.add('v-modal-enter');
if (modalClass) {
var classArr = modalClass.trim().split(/\s+/);
classArr.forEach(function (item) {
return modalDom.classList.add(item);
});
}
setTimeout(function () {
modalDom.classList.remove('v-modal-enter');
}, 200);
if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
dom.parentNode.appendChild(modalDom);
} else {
document.body.appendChild(modalDom);
}
if (zIndex) {
modalDom.style.zIndex = zIndex;
}
modalDom.style.display = '';
this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
},
closeModal: function closeModal(id) {
var modalStack = this.modalStack;
var modalDom = getModal();
if (modalStack.length > 0) {
var topItem = modalStack[modalStack.length - 1];
if (topItem.id === id) {
if (topItem.modalClass) {
var classArr = topItem.modalClass.trim().split(/\s+/);
classArr.forEach(function (item) {
return modalDom.classList.remove(item);
});
}
modalStack.pop();
if (modalStack.length > 0) {
modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
}
} else {
for (var i = modalStack.length - 1; i >= 0; i--) {
if (modalStack[i].id === id) {
modalStack.splice(i, 1);
break;
}
}
}
}
if (modalStack.length === 0) {
modalDom.classList.add('v-modal-leave');
setTimeout(function () {
if (modalStack.length === 0) {
if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
modalDom.style.display = 'none';
}
modalDom.classList.remove('v-modal-leave');
}, 200);
}
}
};
window.addEventListener('keydown', function (event) {
if (event.keyCode === 27) {
if (PopupManager.modalStack.length > 0) {
var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
if (!topItem) return;
var instance = PopupManager.getInstance(topItem.id);
if (instance.closeOnPressEscape) {
instance.close();
}
}
}
});
exports.default = PopupManager;
/***/ },
/* 2 */
/***/ function(module, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.merge = merge;
function merge(target) {
for (var i = 1, j = arguments.length; i < j; i++) {
var source = arguments[i];
for (var prop in source) {
if (source.hasOwnProperty(prop)) {
var value = source[prop];
if (value !== undefined) {
target[prop] = value;
}
}
}
}
return target;
}
/***/ },
/* 3 */
/***/ function(module, exports) {
// removed by extract-text-webpack-plugin
/***/ },
/* 4 */
/***/ function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_4__;
/***/ }
/******/ ])
});
;
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("VuePopup",["vue"],t):"object"==typeof exports?exports.VuePopup=t(require("vue")):e.VuePopup=t(e.vue)}(this,function(e){return function(e){function t(n){if(o[n])return o[n].exports;var i=o[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var o={};return t.m=e,t.c=o,t.p="",t(0)}([function(e,t,o){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=o(4),s=n(i),l=o(2),r=o(1),d=n(r);o(3);var a=1,u=[],c=function(e){if(-1===u.indexOf(e)){var t=function(e){var t=e.__vue__;if(!t){var o=e.previousSibling;o.__vue__&&(t=o.__vue__)}return t};s["default"].transition(e,{afterEnter:function(e){var o=t(e);o&&o.doAfterOpen&&o.doAfterOpen()},afterLeave:function(e){var o=t(e);o&&o.doAfterClose&&o.doAfterClose()}})}},f=function(e){return 3===e.nodeType?e.nextElementSibling:e};t["default"]={props:{visible:{type:Boolean,twoWay:!0,"default":!1},transition:{type:String,"default":""},openDelay:{},closeDelay:{},zIndex:{},modal:{type:Boolean,"default":!1},modalClass:{},closeOnPressEscape:{type:Boolean,"default":!1},closeOnClickModal:{type:Boolean,"default":!1}},created:function(){this.transition&&c(this.transition)},compiled:function(){this._popupId="popup-"+a++,d["default"].register(this._popupId,this)},beforeDestroy:function(){d["default"].deregister(this._popupId),d["default"].closeModal(this._popupId)},data:function(){return{bodyOverflow:null,rendered:!1}},watch:{visible:function(e){var t=this;if(e){if(this._opening)return;this.rendered?this.open():(this.rendered=!0,s["default"].nextTick(function(){t.open()}))}else this.close()}},methods:{open:function(e){var t=this;if(!this.rendered)return this.rendered=!0,void(this.visible=!0);var o=(0,l.merge)({},this,e);this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),clearTimeout(this._openTimer);var n=Number(o.openDelay);n>0?this._openTimer=setTimeout(function(){t._openTimer=null,t.doOpen(o)},n):this.doOpen(o)},doOpen:function(e){if(!this.willOpen||this.willOpen()){this._opening=!0,this.visible=!0;var t=f(this.$el),o=e.modal;o&&(this._closing&&(d["default"].closeModal(this._popupId),this._closing=!1),d["default"].openModal(this._popupId,d["default"].nextZIndex(),t,e.modalClass),this.bodyOverflow||(this.bodyOverflow=document.body.style.overflow),document.body.style.overflow="hidden"),"static"===getComputedStyle(t).position&&(t.style.position="absolute");var n=e.zIndex;o?t.style.zIndex=d["default"].nextZIndex():n&&(t.style.zIndex=n),this.onOpen&&this.onOpen(),this.transition||this.doAfterOpen()}},doAfterOpen:function(){this._opening=!1},close:function(){var e=this;if(!this.willClose||this.willClose()){null!==this._openTimer&&(clearTimeout(this._openTimer),this._openTimer=null),clearTimeout(this._closeTimer);var t=Number(this.closeDelay);t>0?this._closeTimer=setTimeout(function(){e._closeTimer=null,e.doClose()},t):this.doClose()}},doClose:function(){this.visible=!1,this._closing=!0,this.onClose&&this.onClose(),this.modal&&(document.body.style.overflow=this.bodyOverflow),this.transition||this.doAfterClose()},doAfterClose:function(){d["default"].closeModal(this._popupId),this._closing=!1}}}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=function(){var e=i.modalDom;return e||(e=document.createElement("div"),i.modalDom=e,e.addEventListener("touchmove",function(e){e.preventDefault(),e.stopPropagation()}),e.addEventListener("click",function(){i.doOnModalClick&&i.doOnModalClick()})),e},n={},i={zIndex:1e3,getInstance:function(e){return n[e]},register:function(e,t){e&&t&&(n[e]=t)},deregister:function(e){e&&(n[e]=null,delete n[e])},nextZIndex:function(){return i.zIndex++},modalStack:[],doOnModalClick:function(){var e=i.modalStack[i.modalStack.length-1];if(e){var t=i.getInstance(e.id);t&&t.closeOnClickModal&&t.close()}},openModal:function(e,t,n,i){if(e&&void 0!==t){for(var s=this.modalStack,l=0,r=s.length;r>l;l++){var d=s[l];if(d.id===e)return}var a=o();if(a.classList.add("v-modal"),a.classList.add("v-modal-enter"),i){var u=i.trim().split(/\s+/);u.forEach(function(e){return a.classList.add(e)})}setTimeout(function(){a.classList.remove("v-modal-enter")},200),n&&n.parentNode&&11!==n.parentNode.nodeType?n.parentNode.appendChild(a):document.body.appendChild(a),t&&(a.style.zIndex=t),a.style.display="",this.modalStack.push({id:e,zIndex:t,modalClass:i})}},closeModal:function(e){var t=this.modalStack,n=o();if(t.length>0){var i=t[t.length-1];if(i.id===e){if(i.modalClass){var s=i.modalClass.trim().split(/\s+/);s.forEach(function(e){return n.classList.remove(e)})}t.pop(),t.length>0&&(n.style.zIndex=t[t.length-1].zIndex)}else for(var l=t.length-1;l>=0;l--)if(t[l].id===e){t.splice(l,1);break}}0===t.length&&(n.classList.add("v-modal-leave"),setTimeout(function(){0===t.length&&(n.parentNode&&n.parentNode.removeChild(n),n.style.display="none"),n.classList.remove("v-modal-leave")},200))}};window.addEventListener("keydown",function(e){if(27===e.keyCode&&i.modalStack.length>0){var t=i.modalStack[i.modalStack.length-1];if(!t)return;var o=i.getInstance(t.id);o.closeOnPressEscape&&o.close()}}),t["default"]=i},function(e,t){"use strict";function o(e){for(var t=1,o=arguments.length;o>t;t++){var n=arguments[t];for(var i in n)if(n.hasOwnProperty(i)){var s=n[i];void 0!==s&&(e[i]=s)}}return e}Object.defineProperty(t,"__esModule",{value:!0}),t.merge=o},function(e,t){},function(t,o){t.exports=e}])});
//# sourceMappingURL=index.js.map
{
"name": "vue-popup",
"version": "0.1.7",
"version": "0.1.8",
"description": "A popup mixin for vue.js",

@@ -12,3 +12,4 @@ "private": false,

"prepublish": "cooking build --no-color",
"deploy": "cooking build --no-color"
"deploy": "cooking build --no-color",
"page": "cooking build -c cooking.example.conf.js -p && gh-pages -d example/dist --remote origin"
},

@@ -23,6 +24,9 @@ "repository": {

},
"author": "yi.shyang@ele.me",
"author": "baiyaaaaa",
"license": "MIT",
"dependencies": {},
"devDependencies": {}
"devDependencies": {
"gh-pages": "^0.11.0",
"my-local-ip": "^1.0.0"
}
}

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