vue-context-menu
Version:
vue context-menu component
670 lines • 75.6 kB
JSON
{
"errors": [],
"warnings": [],
"version": "2.2.1",
"hash": "584918919c95ca3c4be9",
"time": 2133,
"publicPath": ".",
"assetsByChunkName": {
"main": "vue-context-menu.js"
},
"assets": [
{
"name": "vue-context-menu.js",
"size": 8629,
"chunks": [
0
],
"chunkNames": [
"main"
],
"emitted": true
}
],
"entrypoints": {
"main": {
"chunks": [
0
],
"assets": [
"vue-context-menu.js"
]
}
},
"chunks": [
{
"id": 0,
"rendered": true,
"initial": true,
"entry": true,
"extraAsync": false,
"size": 17511,
"names": [
"main"
],
"files": [
"vue-context-menu.js"
],
"hash": "0f0334153172afd75c99",
"parents": [],
"modules": [
{
"id": 0,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"name": "./src/index.vue",
"index": 1,
"index2": 9,
"size": 618,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.js",
"issuerId": 10,
"issuerName": "./src/index.js",
"profile": {
"factory": 10,
"building": 63
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 10,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.js",
"module": "./src/index.js",
"moduleName": "./src/index.js",
"type": "cjs require",
"userRequest": "./index.vue",
"loc": "3:21-43"
}
],
"usedExports": true,
"providedExports": null,
"depth": 1,
"source": "\n/* styles */\nrequire(\"!!vue-style-loader!css-loader?minimize!./../node_modules/vue-loader/lib/style-rewriter?{\\\"id\\\":\\\"data-v-2e783b6c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!./ctx-menu.css\")\n\nvar Component = require(\"!./../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./ctx-menu.js\"),\n /* template */\n require(\"!!./../node_modules/vue-loader/lib/template-compiler?{\\\"id\\\":\\\"data-v-2e783b6c\\\"}!./../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n"
},
{
"id": 1,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/body-click-listener.js",
"name": "./src/body-click-listener.js",
"index": 9,
"index2": 6,
"size": 827,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.js",
"issuerId": 2,
"issuerName": "./~/babel-loader/lib!./src/ctx-menu.js",
"profile": {
"factory": 9,
"building": 600
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 2,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.js",
"module": "./~/babel-loader/lib!./src/ctx-menu.js",
"moduleName": "./~/babel-loader/lib!./src/ctx-menu.js",
"type": "cjs require",
"userRequest": "./body-click-listener",
"loc": "7:25-57"
}
],
"usedExports": true,
"providedExports": null,
"depth": 3,
"source": "'use strict';\n\nmodule.exports = function createBodyClickListener(fn) {\n var isListening = false;\n\n return {\n get isListening() {\n return isListening;\n },\n\n start: function start(cb) {\n window.addEventListener('click', _onclick, true);\n window.addEventListener('keyup', _onescape, true);\n isListening = true;\n if (typeof cb === 'function') cb();\n },\n stop: function stop(cb) {\n window.removeEventListener('click', _onclick, true);\n window.removeEventListener('keyup', _onescape, true);\n isListening = false;\n if (typeof cb === 'function') cb();\n }\n };\n\n function _onclick(e) {\n e.preventDefault();\n if (typeof fn === 'function') fn(e);\n try {\n stop();\n } catch (e) {}\n }\n\n function _onescape(e) {\n if (e.keyCode === 27) _onclick(e);\n }\n};"
},
{
"id": 2,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.js",
"name": "./~/babel-loader/lib!./src/ctx-menu.js",
"index": 8,
"index2": 7,
"size": 2172,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"issuerId": 0,
"issuerName": "./src/index.vue",
"profile": {
"factory": 7,
"building": 225
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 0,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"module": "./src/index.vue",
"moduleName": "./src/index.vue",
"type": "cjs require",
"userRequest": "!!babel-loader!./ctx-menu.js",
"loc": "7:2-41"
}
],
"usedExports": true,
"providedExports": null,
"depth": 2,
"source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bodyClickListener = require('./body-click-listener');\n\nvar _bodyClickListener2 = _interopRequireDefault(_bodyClickListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'context-menu',\n props: {\n id: {\n type: String,\n default: 'default-ctx'\n }\n },\n data: function data() {\n var _this = this;\n\n return {\n locals: {},\n align: 'left',\n ctxTop: 0,\n ctxLeft: 0,\n ctxVisible: false,\n bodyClickListener: (0, _bodyClickListener2.default)(function (e) {\n var isOpen = !!_this.ctxVisible;\n var outsideClick = isOpen && !_this.$el.contains(e.target);\n\n if (outsideClick) {\n if (e.which !== 1) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n } else {\n\n _this.ctxVisible = false;\n _this.$emit('ctx-cancel', _this.locals);\n e.stopPropagation();\n }\n } else {\n _this.ctxVisible = false;\n _this.$emit('ctx-close', _this.locals);\n }\n })\n };\n },\n\n methods: {\n setPositionFromEvent: function setPositionFromEvent(e) {\n var pageX = e.pageX,\n pageY = e.pageY;\n\n this.ctxTop = pageY - document.body.scrollTop;\n this.ctxLeft = pageX;\n },\n open: function open(e, data) {\n if (this.ctxVisible) this.ctxVisible = false;\n this.ctxVisible = true;\n this.$emit('ctx-open', this.locals = data || {});\n this.setPositionFromEvent(e);\n this.$el.setAttribute('tab-index', -1);\n this.bodyClickListener.start();\n return this;\n }\n },\n watch: {\n ctxVisible: function ctxVisible(newVal, oldVal) {\n if (oldVal === true && newVal === false) {\n this.bodyClickListener.stop(function (e) {});\n }\n }\n },\n computed: {\n ctxStyle: function ctxStyle() {\n return {\n 'display': this.ctxVisible ? 'block' : 'none',\n 'top': (this.ctxTop || 0) + 'px',\n 'left': (this.ctxLeft || 0) + 'px'\n };\n }\n }\n};"
},
{
"id": 3,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"name": "./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"index": 3,
"index2": 1,
"size": 1888,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"issuerId": 7,
"issuerName": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"profile": {
"factory": 3,
"building": 834
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 7,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"module": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"moduleName": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"type": "cjs require",
"userRequest": "!!./../node_modules/css-loader/index.js?minimize!./../node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./ctx-menu.css",
"loc": "4:14-211"
}
],
"usedExports": true,
"providedExports": null,
"depth": 3,
"source": "exports = module.exports = require(\"./../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ctx{position:relative}.ctx-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:.9rem;color:#373a3c;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem;-moz-box-shadow:0 0 5px #ccc;-webkit-box-shadow:0 0 5px #ccc;box-shadow:0 0 5px #ccc}.ctx-divider{height:1px;margin:.5rem 0;overflow:hidden;background-color:#e5e5e5}.ctx-item{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.5;color:#373a3c;text-align:inherit;white-space:nowrap;background:none;border:0;cursor:default}.ctx-item:focus,.ctx-item:hover{color:#2b2d2f;text-decoration:none;background-color:#f5f5f5;cursor:normal}.ctx-item.active,.ctx-item.active:focus,.ctx-item.active:hover{color:#fff;text-decoration:none;background-color:#0275d8;outline:0}.ctx-item.disabled,.ctx-item.disabled:focus,.ctx-item.disabled:hover{color:#818a91}.ctx-item.disabled:focus,.ctx-item.disabled:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:\\\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\\\"}.open>.ctx-menu{display:block}.open>a{outline:0}.ctx-menu-right{right:0;left:auto}.ctx-menu-left{right:auto;left:0}.ctx-header{display:block;padding:3px 20px;font-size:.9rem;line-height:1.5;color:#818a91;white-space:nowrap}.ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.ctx-menu{right:0;left:auto}.ctx-menu-container{position:fixed;padding:0;border:1px solid #bbb;background-color:#f5f5f5;z-index:99999;box-shadow:0 5px 11px 0 rgba(0,0,0,.18),0 4px 15px 0 rgba(0,0,0,.15)}\", \"\"]);\n\n// exports\n"
},
{
"id": 4,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/lib/css-base.js",
"name": "./~/css-loader/lib/css-base.js",
"index": 4,
"index2": 0,
"size": 1506,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"issuerId": 3,
"issuerName": "./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"profile": {
"factory": 1,
"building": 7
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 3,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"module": "./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"moduleName": "./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"type": "cjs require",
"userRequest": "./../node_modules/css-loader/lib/css-base.js",
"loc": "1:27-82"
}
],
"usedExports": true,
"providedExports": null,
"depth": 4,
"source": "/*\r\n\tMIT License http://www.opensource.org/licenses/mit-license.php\r\n\tAuthor Tobias Koppers @sokra\r\n*/\r\n// css base code, injected by the css-loader\r\nmodule.exports = function() {\r\n\tvar list = [];\r\n\r\n\t// return the list of modules as css string\r\n\tlist.toString = function toString() {\r\n\t\tvar result = [];\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar item = this[i];\r\n\t\t\tif(item[2]) {\r\n\t\t\t\tresult.push(\"@media \" + item[2] + \"{\" + item[1] + \"}\");\r\n\t\t\t} else {\r\n\t\t\t\tresult.push(item[1]);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn result.join(\"\");\r\n\t};\r\n\r\n\t// import a list of modules into the list\r\n\tlist.i = function(modules, mediaQuery) {\r\n\t\tif(typeof modules === \"string\")\r\n\t\t\tmodules = [[null, modules, \"\"]];\r\n\t\tvar alreadyImportedModules = {};\r\n\t\tfor(var i = 0; i < this.length; i++) {\r\n\t\t\tvar id = this[i][0];\r\n\t\t\tif(typeof id === \"number\")\r\n\t\t\t\talreadyImportedModules[id] = true;\r\n\t\t}\r\n\t\tfor(i = 0; i < modules.length; i++) {\r\n\t\t\tvar item = modules[i];\r\n\t\t\t// skip already imported module\r\n\t\t\t// this implementation is not 100% perfect for weird media query combinations\r\n\t\t\t// when a module is imported multiple times with different media queries.\r\n\t\t\t// I hope this will never occur (Hey this way we have smaller bundles)\r\n\t\t\tif(typeof item[0] !== \"number\" || !alreadyImportedModules[item[0]]) {\r\n\t\t\t\tif(mediaQuery && !item[2]) {\r\n\t\t\t\t\titem[2] = mediaQuery;\r\n\t\t\t\t} else if(mediaQuery) {\r\n\t\t\t\t\titem[2] = \"(\" + item[2] + \") and (\" + mediaQuery + \")\";\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(item);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\treturn list;\r\n};\r\n"
},
{
"id": 5,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/component-normalizer.js",
"name": "./~/vue-loader/lib/component-normalizer.js",
"index": 7,
"index2": 5,
"size": 1117,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"issuerId": 0,
"issuerName": "./src/index.vue",
"profile": {
"factory": 8,
"building": 116
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 0,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"module": "./src/index.vue",
"moduleName": "./src/index.vue",
"type": "cjs require",
"userRequest": "!./../node_modules/vue-loader/lib/component-normalizer",
"loc": "5:16-81"
}
],
"usedExports": true,
"providedExports": null,
"depth": 2,
"source": "module.exports = function normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n scopeId,\n cssModules\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.staticRenderFns\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = scopeId\n }\n\n // inject cssModules\n if (cssModules) {\n var computed = options.computed || (options.computed = {})\n Object.keys(cssModules).forEach(function (key) {\n var module = cssModules[key]\n computed[key] = function () { return module }\n })\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n"
},
{
"id": 6,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/template-compiler.js?{\"id\":\"data-v-2e783b6c\"}!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/selector.js?type=template&index=0!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"name": "./~/vue-loader/lib/template-compiler.js?{\"id\":\"data-v-2e783b6c\"}!./~/vue-loader/lib/selector.js?type=template&index=0!./src/index.vue",
"index": 10,
"index2": 8,
"size": 790,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"issuerId": 0,
"issuerName": "./src/index.vue",
"profile": {
"factory": 9,
"building": 106
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 0,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"module": "./src/index.vue",
"moduleName": "./src/index.vue",
"type": "cjs require",
"userRequest": "!!./../node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2e783b6c\"}!./../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue",
"loc": "9:2-170"
}
],
"usedExports": true,
"providedExports": null,
"depth": 2,
"source": "module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;\n return _c('div', {\n ref: \"contextMenu\",\n staticClass: \"ctx-menu-container\",\n style: (_vm.ctxStyle),\n attrs: {\n \"id\": _vm.id\n },\n on: {\n \"click\": function($event) {\n $event.stopPropagation();\n },\n \"contextmenu\": function($event) {\n $event.stopPropagation();\n }\n }\n }, [_c('div', {\n staticClass: \"ctx open\",\n staticStyle: {\n \"background-color\": \"transparent\"\n }\n }, [_c('ul', {\n staticClass: \"ctx-menu\",\n class: {\n 'ctx-menu-right': _vm.align === 'right',\n 'ctx-menu-left': _vm.align === 'left'\n },\n attrs: {\n \"role\": \"menu\"\n }\n }, [_vm._t(\"default\")], 2)])])\n},staticRenderFns: []}"
},
{
"id": 7,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"name": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"index": 2,
"index2": 4,
"size": 1348,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"issuerId": 0,
"issuerName": "./src/index.vue",
"profile": {
"factory": 234,
"building": 5
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 0,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"module": "./src/index.vue",
"moduleName": "./src/index.vue",
"type": "cjs require",
"userRequest": "!!vue-style-loader!css-loader?minimize!./../node_modules/vue-loader/lib/style-rewriter?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./ctx-menu.css",
"loc": "3:0-184"
}
],
"usedExports": true,
"providedExports": null,
"depth": 2,
"source": "// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!./../node_modules/css-loader/index.js?minimize!./../node_modules/vue-loader/lib/style-rewriter.js?{\\\"id\\\":\\\"data-v-2e783b6c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!./ctx-menu.css\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar update = require(\"!./../node_modules/vue-style-loader/lib/addStylesClient.js\")(\"0df30a58\", content, true);\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!./../node_modules/css-loader/index.js?minimize!./../node_modules/vue-loader/lib/style-rewriter.js?{\\\"id\\\":\\\"data-v-2e783b6c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!./ctx-menu.css\", function() {\n var newContent = require(\"!!./../node_modules/css-loader/index.js?minimize!./../node_modules/vue-loader/lib/style-rewriter.js?{\\\"id\\\":\\\"data-v-2e783b6c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!./ctx-menu.css\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}"
},
{
"id": 8,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/lib/addStylesClient.js",
"name": "./~/vue-style-loader/lib/addStylesClient.js",
"index": 5,
"index2": 3,
"size": 6309,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"issuerId": 7,
"issuerName": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"profile": {
"factory": 575,
"building": 43
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 7,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"module": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"moduleName": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"type": "cjs require",
"userRequest": "!./../node_modules/vue-style-loader/lib/addStylesClient.js",
"loc": "8:13-82"
}
],
"usedExports": true,
"providedExports": null,
"depth": 3,
"source": "/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n Modified by Evan You @yyx990803\n*/\n\nvar hasDocument = typeof document !== 'undefined'\n\nif (typeof DEBUG !== 'undefined' && DEBUG) {\n if (!hasDocument) {\n throw new Error(\n 'vue-style-loader cannot be used in a non-browser environment. ' +\n \"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.\"\n ) }\n}\n\nvar listToStyles = require('./listToStyles')\n\n/*\ntype StyleObject = {\n id: number;\n parts: Array<StyleObjectPart>\n}\n\ntype StyleObjectPart = {\n css: string;\n media: string;\n sourceMap: ?string\n}\n*/\n\nvar stylesInDom = {/*\n [id: number]: {\n id: number,\n refs: number,\n parts: Array<(obj?: StyleObjectPart) => void>\n }\n*/}\n\nvar head = hasDocument && (document.head || document.getElementsByTagName('head')[0])\nvar singletonElement = null\nvar singletonCounter = 0\nvar isProduction = false\nvar noop = function () {}\n\n// Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n// tags it will allow on a page\nvar isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase())\n\nmodule.exports = function (parentId, list, _isProduction) {\n isProduction = _isProduction\n\n var styles = listToStyles(parentId, list)\n addStylesToDom(styles)\n\n return function update (newList) {\n var mayRemove = []\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n domStyle.refs--\n mayRemove.push(domStyle)\n }\n if (newList) {\n styles = listToStyles(parentId, newList)\n addStylesToDom(styles)\n } else {\n styles = []\n }\n for (var i = 0; i < mayRemove.length; i++) {\n var domStyle = mayRemove[i]\n if (domStyle.refs === 0) {\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j]()\n }\n delete stylesInDom[domStyle.id]\n }\n }\n }\n}\n\nfunction addStylesToDom (styles /* Array<StyleObject> */) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i]\n var domStyle = stylesInDom[item.id]\n if (domStyle) {\n domStyle.refs++\n for (var j = 0; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j])\n }\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j]))\n }\n if (domStyle.parts.length > item.parts.length) {\n domStyle.parts.length = item.parts.length\n }\n } else {\n var parts = []\n for (var j = 0; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j]))\n }\n stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts }\n }\n }\n}\n\nfunction listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = { css: css, media: media, sourceMap: sourceMap }\n if (!newStyles[id]) {\n part.id = parentId + ':0'\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n part.id = parentId + ':' + newStyles[id].parts.length\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n\nfunction createStyleElement () {\n var styleElement = document.createElement('style')\n styleElement.type = 'text/css'\n head.appendChild(styleElement)\n return styleElement\n}\n\nfunction addStyle (obj /* StyleObjectPart */) {\n var update, remove\n var styleElement = document.querySelector('style[data-vue-ssr-id~=\"' + obj.id + '\"]')\n var hasSSR = styleElement != null\n\n // if in production mode and style is already provided by SSR,\n // simply do nothing.\n if (hasSSR && isProduction) {\n return noop\n }\n\n if (isOldIE) {\n // use singleton mode for IE9.\n var styleIndex = singletonCounter++\n styleElement = singletonElement || (singletonElement = createStyleElement())\n update = applyToSingletonTag.bind(null, styleElement, styleIndex, false)\n remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true)\n } else {\n // use multi-style-tag mode in all other cases\n styleElement = styleElement || createStyleElement()\n update = applyToTag.bind(null, styleElement)\n remove = function () {\n styleElement.parentNode.removeChild(styleElement)\n }\n }\n\n if (!hasSSR) {\n update(obj)\n }\n\n return function updateStyle (newObj /* StyleObjectPart */) {\n if (newObj) {\n if (newObj.css === obj.css &&\n newObj.media === obj.media &&\n newObj.sourceMap === obj.sourceMap) {\n return\n }\n update(obj = newObj)\n } else {\n remove()\n }\n }\n}\n\nvar replaceText = (function () {\n var textStore = []\n\n return function (index, replacement) {\n textStore[index] = replacement\n return textStore.filter(Boolean).join('\\n')\n }\n})()\n\nfunction applyToSingletonTag (styleElement, index, remove, obj) {\n var css = remove ? '' : obj.css\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = replaceText(index, css)\n } else {\n var cssNode = document.createTextNode(css)\n var childNodes = styleElement.childNodes\n if (childNodes[index]) styleElement.removeChild(childNodes[index])\n if (childNodes.length) {\n styleElement.insertBefore(cssNode, childNodes[index])\n } else {\n styleElement.appendChild(cssNode)\n }\n }\n}\n\nfunction applyToTag (styleElement, obj) {\n var css = obj.css\n var media = obj.media\n var sourceMap = obj.sourceMap\n\n if (media) {\n styleElement.setAttribute('media', media)\n }\n\n if (sourceMap) {\n // https://developer.chrome.com/devtools/docs/javascript-debugging\n // this makes source maps inside style tags work properly in Chrome\n css += '\\n/*# sourceURL=' + sourceMap.sources[0] + ' */'\n // http://stackoverflow.com/a/26603875\n css += '\\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */'\n }\n\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild)\n }\n styleElement.appendChild(document.createTextNode(css))\n }\n}\n"
},
{
"id": 9,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/lib/listToStyles.js",
"name": "./~/vue-style-loader/lib/listToStyles.js",
"index": 6,
"index2": 2,
"size": 639,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/lib/addStylesClient.js",
"issuerId": 8,
"issuerName": "./~/vue-style-loader/lib/addStylesClient.js",
"profile": {
"factory": 1,
"building": 5
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 8,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/lib/addStylesClient.js",
"module": "./~/vue-style-loader/lib/addStylesClient.js",
"moduleName": "./~/vue-style-loader/lib/addStylesClient.js",
"type": "cjs require",
"userRequest": "./listToStyles",
"loc": "17:19-44"
}
],
"usedExports": true,
"providedExports": null,
"depth": 4,
"source": "/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nmodule.exports = function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n"
},
{
"id": 10,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.js",
"name": "./src/index.js",
"index": 0,
"index2": 10,
"size": 297,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": null,
"issuerId": null,
"issuerName": null,
"profile": {
"factory": 45,
"building": 633
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [],
"usedExports": true,
"providedExports": null,
"depth": 0,
"source": "'use strict';\n\nvar VueContextMenu = require('./index.vue');\n\nVueContextMenu.install = function install(Vue) {\n var component = Vue.component('context-menu', VueContextMenu);\n return component;\n};\n\nwindow.VueContextMenu = VueContextMenu;\n\nmodule.exports = module.exports.default = VueContextMenu;"
}
],
"filteredModules": 0,
"origins": [
{
"moduleId": 10,
"module": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.js",
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.js",
"moduleName": "./src/index.js",
"loc": "",
"name": "main",
"reasons": []
}
]
}
],
"modules": [
{
"id": 0,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"name": "./src/index.vue",
"index": 1,
"index2": 9,
"size": 618,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.js",
"issuerId": 10,
"issuerName": "./src/index.js",
"profile": {
"factory": 10,
"building": 63
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 10,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.js",
"module": "./src/index.js",
"moduleName": "./src/index.js",
"type": "cjs require",
"userRequest": "./index.vue",
"loc": "3:21-43"
}
],
"usedExports": true,
"providedExports": null,
"depth": 1,
"source": "\n/* styles */\nrequire(\"!!vue-style-loader!css-loader?minimize!./../node_modules/vue-loader/lib/style-rewriter?{\\\"id\\\":\\\"data-v-2e783b6c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!./ctx-menu.css\")\n\nvar Component = require(\"!./../node_modules/vue-loader/lib/component-normalizer\")(\n /* script */\n require(\"!!babel-loader!./ctx-menu.js\"),\n /* template */\n require(\"!!./../node_modules/vue-loader/lib/template-compiler?{\\\"id\\\":\\\"data-v-2e783b6c\\\"}!./../node_modules/vue-loader/lib/selector?type=template&index=0!./index.vue\"),\n /* scopeId */\n null,\n /* cssModules */\n null\n)\n\nmodule.exports = Component.exports\n"
},
{
"id": 1,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/body-click-listener.js",
"name": "./src/body-click-listener.js",
"index": 9,
"index2": 6,
"size": 827,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.js",
"issuerId": 2,
"issuerName": "./~/babel-loader/lib!./src/ctx-menu.js",
"profile": {
"factory": 9,
"building": 600
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 2,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.js",
"module": "./~/babel-loader/lib!./src/ctx-menu.js",
"moduleName": "./~/babel-loader/lib!./src/ctx-menu.js",
"type": "cjs require",
"userRequest": "./body-click-listener",
"loc": "7:25-57"
}
],
"usedExports": true,
"providedExports": null,
"depth": 3,
"source": "'use strict';\n\nmodule.exports = function createBodyClickListener(fn) {\n var isListening = false;\n\n return {\n get isListening() {\n return isListening;\n },\n\n start: function start(cb) {\n window.addEventListener('click', _onclick, true);\n window.addEventListener('keyup', _onescape, true);\n isListening = true;\n if (typeof cb === 'function') cb();\n },\n stop: function stop(cb) {\n window.removeEventListener('click', _onclick, true);\n window.removeEventListener('keyup', _onescape, true);\n isListening = false;\n if (typeof cb === 'function') cb();\n }\n };\n\n function _onclick(e) {\n e.preventDefault();\n if (typeof fn === 'function') fn(e);\n try {\n stop();\n } catch (e) {}\n }\n\n function _onescape(e) {\n if (e.keyCode === 27) _onclick(e);\n }\n};"
},
{
"id": 2,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/babel-loader/lib/index.js!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.js",
"name": "./~/babel-loader/lib!./src/ctx-menu.js",
"index": 8,
"index2": 7,
"size": 2172,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"issuerId": 0,
"issuerName": "./src/index.vue",
"profile": {
"factory": 7,
"building": 225
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 0,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/src/index.vue",
"module": "./src/index.vue",
"moduleName": "./src/index.vue",
"type": "cjs require",
"userRequest": "!!babel-loader!./ctx-menu.js",
"loc": "7:2-41"
}
],
"usedExports": true,
"providedExports": null,
"depth": 2,
"source": "'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bodyClickListener = require('./body-click-listener');\n\nvar _bodyClickListener2 = _interopRequireDefault(_bodyClickListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: 'context-menu',\n props: {\n id: {\n type: String,\n default: 'default-ctx'\n }\n },\n data: function data() {\n var _this = this;\n\n return {\n locals: {},\n align: 'left',\n ctxTop: 0,\n ctxLeft: 0,\n ctxVisible: false,\n bodyClickListener: (0, _bodyClickListener2.default)(function (e) {\n var isOpen = !!_this.ctxVisible;\n var outsideClick = isOpen && !_this.$el.contains(e.target);\n\n if (outsideClick) {\n if (e.which !== 1) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n } else {\n\n _this.ctxVisible = false;\n _this.$emit('ctx-cancel', _this.locals);\n e.stopPropagation();\n }\n } else {\n _this.ctxVisible = false;\n _this.$emit('ctx-close', _this.locals);\n }\n })\n };\n },\n\n methods: {\n setPositionFromEvent: function setPositionFromEvent(e) {\n var pageX = e.pageX,\n pageY = e.pageY;\n\n this.ctxTop = pageY - document.body.scrollTop;\n this.ctxLeft = pageX;\n },\n open: function open(e, data) {\n if (this.ctxVisible) this.ctxVisible = false;\n this.ctxVisible = true;\n this.$emit('ctx-open', this.locals = data || {});\n this.setPositionFromEvent(e);\n this.$el.setAttribute('tab-index', -1);\n this.bodyClickListener.start();\n return this;\n }\n },\n watch: {\n ctxVisible: function ctxVisible(newVal, oldVal) {\n if (oldVal === true && newVal === false) {\n this.bodyClickListener.stop(function (e) {});\n }\n }\n },\n computed: {\n ctxStyle: function ctxStyle() {\n return {\n 'display': this.ctxVisible ? 'block' : 'none',\n 'top': (this.ctxTop || 0) + 'px',\n 'left': (this.ctxLeft || 0) + 'px'\n };\n }\n }\n};"
},
{
"id": 3,
"identifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"name": "./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"index": 3,
"index2": 1,
"size": 1888,
"cacheable": true,
"built": true,
"optional": false,
"prefetched": false,
"chunks": [
0
],
"assets": [],
"issuer": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"issuerId": 7,
"issuerName": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"profile": {
"factory": 3,
"building": 834
},
"failed": false,
"errors": 0,
"warnings": 0,
"reasons": [
{
"moduleId": 7,
"moduleIdentifier": "/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-style-loader/index.js!/Users/vin/@vmaimone/vue-context-menu/node_modules/css-loader/index.js?minimize!/Users/vin/@vmaimone/vue-context-menu/node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!/Users/vin/@vmaimone/vue-context-menu/src/ctx-menu.css",
"module": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"moduleName": "./~/vue-style-loader!./~/css-loader?minimize!./~/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./src/ctx-menu.css",
"type": "cjs require",
"userRequest": "!!./../node_modules/css-loader/index.js?minimize!./../node_modules/vue-loader/lib/style-rewriter.js?{\"id\":\"data-v-2e783b6c\",\"scoped\":false,\"hasInlineConfig\":false}!./ctx-menu.css",
"loc": "4:14-211"
}
],
"usedExports": true,
"providedExports": null,
"depth": 3,
"source": "exports = module.exports = require(\"./../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".ctx{position:relative}.ctx-menu{position:absolute;t