diff --git a/.gitignore b/.gitignore index 403adbc..4a2e501 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ .DS_Store node_modules -/dist # local env files diff --git a/dist/KeDevtools.common.js b/dist/KeDevtools.common.js new file mode 100644 index 0000000..2a5ca4c --- /dev/null +++ b/dist/KeDevtools.common.js @@ -0,0 +1,418 @@ +module.exports = +/******/ (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] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = 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; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "2299": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeDevtools_vue_vue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3714"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeDevtools_vue_vue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeDevtools_vue_vue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "3714": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "8bbf": +/***/ (function(module, exports) { + +module.exports = require("vue"); + +/***/ }), + +/***/ "fb15": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js +// This file is imported into lib/wc client bundles. + +if (typeof window !== 'undefined') { + var currentScript = window.document.currentScript + if (false) { var getCurrentScript; } + + var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) + if (src) { + __webpack_require__.p = src[1] // eslint-disable-line + } +} + +// Indicate to webpack that this file can be concatenated +/* harmony default export */ var setPublicPath = (null); + +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); +var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bb328224-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeDevtools.vue?vue&type=template&id=5365a89c&scoped=true& +var render = function render() { + var _vm = this, + _c = _vm._self._c, + _setup = _vm._self._setupProxy; + + return _c('div', { + staticClass: "devtools" + }, [_vm._t("before"), _c('div', { + staticClass: "devtools-panel", + class: { + active: _vm.isShowDevtools + } + }, [_c('button', { + staticClass: "devtools-panel-activator", + on: { + "click": _vm.toggleShowDevtools + } + }, [_c('DevtoolsLogo')], 1), _c('div', { + staticClass: "devtools-panel-wrapper" + }, _vm._l(_vm.items, function (item) { + return _c('button', { + key: item, + staticClass: "devtools-panel-button", + on: { + "click": function ($event) { + return _vm.onClickItem(item); + } + } + }, [_vm._t(`item-${item}`)], 2); + }), 0)]), _vm._t("after")], 2); +}; + +var staticRenderFns = []; + +// CONCATENATED MODULE: ./src/components/KeDevtools.vue?vue&type=template&id=5365a89c&scoped=true& + +// CONCATENATED MODULE: ./src/assets/devtools.svg +/* harmony default export */ var devtools = ({ + functional: true, + + render(_h, _vm) { + const { + _c, + _v, + data, + children = [] + } = _vm; + const { + class: classNames, + staticClass, + style, + staticStyle, + attrs = {}, + ...rest + } = data; + return _c('svg', { + class: [classNames, staticClass], + style: [style, staticStyle], + attrs: Object.assign({ + "width": "24", + "height": "24" + }, attrs), + ...rest + }, children.concat([_c('path', { + attrs: { + "fill": "#fff", + "d": "M9.61 6.62a6.09 6.09 0 014.63.07A7.18 7.18 0 0116 7.9a5 5 0 011.45 2.26 4.92 4.92 0 01-.37 3.47 33.69 33.69 0 003.2 2.88c.63.51 1.25 1 1.87 1.55a10.47 10.47 0 011 .89 2.79 2.79 0 01.66 2.14 3 3 0 01-1.9 2.47 2.6 2.6 0 01-1.56.07 4.09 4.09 0 01-1.95-1.24c-1.6-1.77-3.17-3.57-4.73-5.37a5.59 5.59 0 01-4.56-.35 5.45 5.45 0 01-2.6-3.08 6.29 6.29 0 01.17-4c1.26 1.32 2.54 2.63 3.81 3.94.3-.26.56-.56.85-.85.6-.61 1.19-1.22 1.8-1.83.12-.13.26-.25.37-.39l-3.3-3.24z" + } + }), _c('path', { + attrs: { + "fill": "#fff", + "fill-opacity": ".3", + "d": "M9.82 0h4.37v2.6l2.91 1.19 1.76-1.7A.33.33 0 0119 2c1 1 2 2.05 3 3.06-.59.62-1.19 1.23-1.77 1.86.4 1 .79 1.92 1.19 2.89H24v4.37h-2.63L20.66 16 19 14.6a5.66 5.66 0 00.55-2.6 9.21 9.21 0 00-.41-2.38 6.45 6.45 0 00-1-2.06 8.39 8.39 0 00-1.76-1.71A7.09 7.09 0 0015 5a6.69 6.69 0 00-2.79-.56A9.11 9.11 0 009.23 5a7.58 7.58 0 00-4.61 5.51 7.66 7.66 0 00.58 4.67 7.66 7.66 0 001.27 2 7.14 7.14 0 003.76 2.19 5.67 5.67 0 001.24.12 9.58 9.58 0 002.95-.49c.5.57 1 1.16 1.49 1.74l-1.7.66V24H9.8v-2.58c-1-.4-1.95-.8-2.92-1.22-.61.59-1.21 1.2-1.83 1.79L2 18.92c.61-.62 1.24-1.23 1.84-1.85-.44-.95-.84-1.91-1.24-2.87H0v-3.43-1h2.58l1.2-2.87A75 75 0 012 5.11C3 4.08 4 3 5 2a2.11 2.11 0 01.27.25l1.62 1.49c1-.4 2-.77 2.93-1.15z" + } + })])); + } + +}); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeDevtools.vue?vue&type=script&lang=ts& + + +const LOCAL_STORAGE_KEY = "ke-devtools"; + +const processFlag = item => { + let result = false; + const localFlags = JSON.parse(localStorage.getItem(LOCAL_STORAGE_KEY) || "{}"); + + if (localFlags[item]) { + delete localFlags[item]; + } else { + localFlags[item] = true; + result = true; + } + + if (Object.keys(localFlags).length === 0) { + localStorage.removeItem(LOCAL_STORAGE_KEY); + } else { + localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(localFlags)); + } + + return result; +}; + +/* harmony default export */ var KeDevtoolsvue_type_script_lang_ts_ = (external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({ + name: "ke-devtools", + components: { + DevtoolsLogo: devtools + }, + props: { + items: { + type: Array, + required: true + } + }, + + data() { + return { + isShowDevtools: false + }; + }, + + methods: { + toggleShowDevtools() { + this.isShowDevtools = !this.isShowDevtools; + }, + + onClickItem(key) { + const value = processFlag(key); + this.$emit("update", { + key, + value + }); + } + + } +})); +// CONCATENATED MODULE: ./src/components/KeDevtools.vue?vue&type=script&lang=ts& + /* harmony default export */ var components_KeDevtoolsvue_type_script_lang_ts_ = (KeDevtoolsvue_type_script_lang_ts_); +// EXTERNAL MODULE: ./src/components/KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css& +var KeDevtoolsvue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css_ = __webpack_require__("2299"); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier /* server only */, + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = + typeof scriptExports === 'function' ? scriptExports.options : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { + // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functional component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection(h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing ? [].concat(existing, hook) : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + +// CONCATENATED MODULE: ./src/components/KeDevtools.vue + + + + + + +/* normalize component */ + +var component = normalizeComponent( + components_KeDevtoolsvue_type_script_lang_ts_, + render, + staticRenderFns, + false, + null, + "5365a89c", + null + +) + +/* harmony default export */ var KeDevtools = (component.exports); +// CONCATENATED MODULE: ./src/components/index.ts + + +external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component("KeDevtools", KeDevtools); +/* harmony default export */ var components = (KeDevtools); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js + + +/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); + + + +/***/ }) + +/******/ }); +//# sourceMappingURL=KeDevtools.common.js.map \ No newline at end of file diff --git a/dist/KeDevtools.common.js.map b/dist/KeDevtools.common.js.map new file mode 100644 index 0000000..597a453 --- /dev/null +++ b/dist/KeDevtools.common.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://KeDevtools/webpack/bootstrap","webpack://KeDevtools/./src/components/KeDevtools.vue?8571","webpack://KeDevtools/./src/components/KeDevtools.vue?0639","webpack://KeDevtools/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://KeDevtools/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://KeDevtools/./src/components/KeDevtools.vue","webpack://KeDevtools/./src/assets/devtools.svg","webpack://KeDevtools/./src/components/KeDevtools.vue?f151","webpack://KeDevtools/./src/components/KeDevtools.vue?b8cc","webpack://KeDevtools/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://KeDevtools/./src/components/KeDevtools.vue?c202","webpack://KeDevtools/./src/components/index.ts","webpack://KeDevtools/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["render","_vm","_c","_self","_setup","_setupProxy","staticClass","_t","class","active","isShowDevtools","on","toggleShowDevtools","_l","items","item","key","$event","onClickItem","staticRenderFns","functional","_h","_v","data","children","classNames","style","staticStyle","attrs","rest","Object","assign","concat","LOCAL_STORAGE_KEY","processFlag","result","localFlags","JSON","parse","localStorage","getItem","keys","length","removeItem","setItem","stringify","Vue","extend","name","components","DevtoolsLogo","props","type","Array","required","methods","value","$emit","component","KeDevtools"],"mappings":"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C,C;;;;;ACAzY;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC/FqG;AACvC;AACL;AAC0C;;;AAGnG;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,gE;;ACnBf;AACA;AAEAV,sDAAG,CAACY,SAAJ,CAAc,YAAd,EAA4BC,UAA5B;AAEeA,yDAAf,E;;ACLwB;AACA;AACT,yFAAG;AACI","file":"KeDevtools.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css&\"","// extracted by mini-css-extract-plugin","module.exports = require(\"vue\");","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"devtools\"},[_vm._t(\"before\"),_c('div',{staticClass:\"devtools-panel\",class:{ active: _vm.isShowDevtools }},[_c('button',{staticClass:\"devtools-panel-activator\",on:{\"click\":_vm.toggleShowDevtools}},[_c('DevtoolsLogo')],1),_c('div',{staticClass:\"devtools-panel-wrapper\"},_vm._l((_vm.items),function(item){return _c('button',{key:item,staticClass:\"devtools-panel-button\",on:{\"click\":function($event){return _vm.onClickItem(item)}}},[_vm._t(`item-${item}`)],2)}),0)]),_vm._t(\"after\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n export default {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"width\":\"24\",\"height\":\"24\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"#fff\",\"d\":\"M9.61 6.62a6.09 6.09 0 014.63.07A7.18 7.18 0 0116 7.9a5 5 0 011.45 2.26 4.92 4.92 0 01-.37 3.47 33.69 33.69 0 003.2 2.88c.63.51 1.25 1 1.87 1.55a10.47 10.47 0 011 .89 2.79 2.79 0 01.66 2.14 3 3 0 01-1.9 2.47 2.6 2.6 0 01-1.56.07 4.09 4.09 0 01-1.95-1.24c-1.6-1.77-3.17-3.57-4.73-5.37a5.59 5.59 0 01-4.56-.35 5.45 5.45 0 01-2.6-3.08 6.29 6.29 0 01.17-4c1.26 1.32 2.54 2.63 3.81 3.94.3-.26.56-.56.85-.85.6-.61 1.19-1.22 1.8-1.83.12-.13.26-.25.37-.39l-3.3-3.24z\"}}),_c('path',{attrs:{\"fill\":\"#fff\",\"fill-opacity\":\".3\",\"d\":\"M9.82 0h4.37v2.6l2.91 1.19 1.76-1.7A.33.33 0 0119 2c1 1 2 2.05 3 3.06-.59.62-1.19 1.23-1.77 1.86.4 1 .79 1.92 1.19 2.89H24v4.37h-2.63L20.66 16 19 14.6a5.66 5.66 0 00.55-2.6 9.21 9.21 0 00-.41-2.38 6.45 6.45 0 00-1-2.06 8.39 8.39 0 00-1.76-1.71A7.09 7.09 0 0015 5a6.69 6.69 0 00-2.79-.56A9.11 9.11 0 009.23 5a7.58 7.58 0 00-4.61 5.51 7.66 7.66 0 00.58 4.67 7.66 7.66 0 001.27 2 7.14 7.14 0 003.76 2.19 5.67 5.67 0 001.24.12 9.58 9.58 0 002.95-.49c.5.57 1 1.16 1.49 1.74l-1.7.66V24H9.8v-2.58c-1-.4-1.95-.8-2.92-1.22-.61.59-1.21 1.2-1.83 1.79L2 18.92c.61-.62 1.24-1.23 1.84-1.85-.44-.95-.84-1.91-1.24-2.87H0v-3.43-1h2.58l1.2-2.87A75 75 0 012 5.11C3 4.08 4 3 5 2a2.11 2.11 0 01.27.25l1.62 1.49c1-.4 2-.77 2.93-1.15z\"}})])\n )\n }\n }\n ","\nimport Vue, { PropType } from \"vue\";\nimport DevtoolsLogo from \"@/assets/devtools.svg\";\n\nconst LOCAL_STORAGE_KEY = \"ke-devtools\";\n\nconst processFlag = (item: string) => {\n let result = false;\n const localFlags = JSON.parse(\n localStorage.getItem(LOCAL_STORAGE_KEY) || \"{}\"\n );\n\n if (localFlags[item]) {\n delete localFlags[item];\n } else {\n localFlags[item] = true;\n result = true;\n }\n\n if (Object.keys(localFlags).length === 0) {\n localStorage.removeItem(LOCAL_STORAGE_KEY);\n } else {\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(localFlags));\n }\n\n return result;\n};\n\nexport default Vue.extend({\n name: \"ke-devtools\",\n components: {\n DevtoolsLogo,\n },\n props: {\n items: {\n type: Array as PropType,\n required: true,\n },\n },\n data() {\n return {\n isShowDevtools: false,\n };\n },\n methods: {\n toggleShowDevtools() {\n this.isShowDevtools = !this.isShowDevtools;\n },\n onClickItem(key: string) {\n const value = processFlag(key);\n this.$emit(\"update\", { key, value });\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./KeDevtools.vue?vue&type=template&id=5365a89c&scoped=true&\"\nimport script from \"./KeDevtools.vue?vue&type=script&lang=ts&\"\nexport * from \"./KeDevtools.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5365a89c\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport KeDevtools from \"./KeDevtools.vue\";\n\nVue.component(\"KeDevtools\", KeDevtools);\n\nexport default KeDevtools;\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/KeDevtools.css b/dist/KeDevtools.css new file mode 100644 index 0000000..5680c6e --- /dev/null +++ b/dist/KeDevtools.css @@ -0,0 +1 @@ +.devtools[data-v-5365a89c]{position:absolute;width:100%;z-index:999;left:0;right:0;top:0}.devtools-panel[data-v-5365a89c]{transform:translateY(-100%);transition:transform .15s}.devtools-panel.active[data-v-5365a89c]{transform:translateY(0)}.devtools-panel-wrapper[data-v-5365a89c]{z-index:80;display:flex;justify-content:flex-end;padding:5px;background-color:#2e3138}.devtools-panel-button[data-v-5365a89c]{outline:none;border:none;background-color:transparent;cursor:pointer;padding:0}.devtools-panel-activator[data-v-5365a89c]{position:absolute;right:0;bottom:0;z-index:-1;border-radius:50%;background-color:#2e3138;line-height:1;cursor:pointer;transition:background-color .15s ease;outline:none;border:none;padding:35px;transform:translate(32%,42%)}.devtools-panel-activator svg[data-v-5365a89c]{transform:translate(-4px,26px)}.devtools-panel-activator[data-v-5365a89c]:hover{background-color:#494b50} \ No newline at end of file diff --git a/dist/KeDevtools.umd.js b/dist/KeDevtools.umd.js new file mode 100644 index 0000000..db10d4b --- /dev/null +++ b/dist/KeDevtools.umd.js @@ -0,0 +1,428 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("vue")); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["KeDevtools"] = factory(require("vue")); + else + root["KeDevtools"] = factory(root["Vue"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) { +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] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = 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; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "2299": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeDevtools_vue_vue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3714"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeDevtools_vue_vue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_KeDevtools_vue_vue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "3714": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "8bbf": +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__; + +/***/ }), + +/***/ "fb15": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js +// This file is imported into lib/wc client bundles. + +if (typeof window !== 'undefined') { + var currentScript = window.document.currentScript + if (false) { var getCurrentScript; } + + var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/) + if (src) { + __webpack_require__.p = src[1] // eslint-disable-line + } +} + +// Indicate to webpack that this file can be concatenated +/* harmony default export */ var setPublicPath = (null); + +// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"} +var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); +var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"bb328224-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeDevtools.vue?vue&type=template&id=5365a89c&scoped=true& +var render = function render() { + var _vm = this, + _c = _vm._self._c, + _setup = _vm._self._setupProxy; + + return _c('div', { + staticClass: "devtools" + }, [_vm._t("before"), _c('div', { + staticClass: "devtools-panel", + class: { + active: _vm.isShowDevtools + } + }, [_c('button', { + staticClass: "devtools-panel-activator", + on: { + "click": _vm.toggleShowDevtools + } + }, [_c('DevtoolsLogo')], 1), _c('div', { + staticClass: "devtools-panel-wrapper" + }, _vm._l(_vm.items, function (item) { + return _c('button', { + key: item, + staticClass: "devtools-panel-button", + on: { + "click": function ($event) { + return _vm.onClickItem(item); + } + } + }, [_vm._t(`item-${item}`)], 2); + }), 0)]), _vm._t("after")], 2); +}; + +var staticRenderFns = []; + +// CONCATENATED MODULE: ./src/components/KeDevtools.vue?vue&type=template&id=5365a89c&scoped=true& + +// CONCATENATED MODULE: ./src/assets/devtools.svg +/* harmony default export */ var devtools = ({ + functional: true, + + render(_h, _vm) { + const { + _c, + _v, + data, + children = [] + } = _vm; + const { + class: classNames, + staticClass, + style, + staticStyle, + attrs = {}, + ...rest + } = data; + return _c('svg', { + class: [classNames, staticClass], + style: [style, staticStyle], + attrs: Object.assign({ + "width": "24", + "height": "24" + }, attrs), + ...rest + }, children.concat([_c('path', { + attrs: { + "fill": "#fff", + "d": "M9.61 6.62a6.09 6.09 0 014.63.07A7.18 7.18 0 0116 7.9a5 5 0 011.45 2.26 4.92 4.92 0 01-.37 3.47 33.69 33.69 0 003.2 2.88c.63.51 1.25 1 1.87 1.55a10.47 10.47 0 011 .89 2.79 2.79 0 01.66 2.14 3 3 0 01-1.9 2.47 2.6 2.6 0 01-1.56.07 4.09 4.09 0 01-1.95-1.24c-1.6-1.77-3.17-3.57-4.73-5.37a5.59 5.59 0 01-4.56-.35 5.45 5.45 0 01-2.6-3.08 6.29 6.29 0 01.17-4c1.26 1.32 2.54 2.63 3.81 3.94.3-.26.56-.56.85-.85.6-.61 1.19-1.22 1.8-1.83.12-.13.26-.25.37-.39l-3.3-3.24z" + } + }), _c('path', { + attrs: { + "fill": "#fff", + "fill-opacity": ".3", + "d": "M9.82 0h4.37v2.6l2.91 1.19 1.76-1.7A.33.33 0 0119 2c1 1 2 2.05 3 3.06-.59.62-1.19 1.23-1.77 1.86.4 1 .79 1.92 1.19 2.89H24v4.37h-2.63L20.66 16 19 14.6a5.66 5.66 0 00.55-2.6 9.21 9.21 0 00-.41-2.38 6.45 6.45 0 00-1-2.06 8.39 8.39 0 00-1.76-1.71A7.09 7.09 0 0015 5a6.69 6.69 0 00-2.79-.56A9.11 9.11 0 009.23 5a7.58 7.58 0 00-4.61 5.51 7.66 7.66 0 00.58 4.67 7.66 7.66 0 001.27 2 7.14 7.14 0 003.76 2.19 5.67 5.67 0 001.24.12 9.58 9.58 0 002.95-.49c.5.57 1 1.16 1.49 1.74l-1.7.66V24H9.8v-2.58c-1-.4-1.95-.8-2.92-1.22-.61.59-1.21 1.2-1.83 1.79L2 18.92c.61-.62 1.24-1.23 1.84-1.85-.44-.95-.84-1.91-1.24-2.87H0v-3.43-1h2.58l1.2-2.87A75 75 0 012 5.11C3 4.08 4 3 5 2a2.11 2.11 0 01.27.25l1.62 1.49c1-.4 2-.77 2.93-1.15z" + } + })])); + } + +}); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--15-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/ts-loader??ref--15-3!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/KeDevtools.vue?vue&type=script&lang=ts& + + +const LOCAL_STORAGE_KEY = "ke-devtools"; + +const processFlag = item => { + let result = false; + const localFlags = JSON.parse(localStorage.getItem(LOCAL_STORAGE_KEY) || "{}"); + + if (localFlags[item]) { + delete localFlags[item]; + } else { + localFlags[item] = true; + result = true; + } + + if (Object.keys(localFlags).length === 0) { + localStorage.removeItem(LOCAL_STORAGE_KEY); + } else { + localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(localFlags)); + } + + return result; +}; + +/* harmony default export */ var KeDevtoolsvue_type_script_lang_ts_ = (external_commonjs_vue_commonjs2_vue_root_Vue_default.a.extend({ + name: "ke-devtools", + components: { + DevtoolsLogo: devtools + }, + props: { + items: { + type: Array, + required: true + } + }, + + data() { + return { + isShowDevtools: false + }; + }, + + methods: { + toggleShowDevtools() { + this.isShowDevtools = !this.isShowDevtools; + }, + + onClickItem(key) { + const value = processFlag(key); + this.$emit("update", { + key, + value + }); + } + + } +})); +// CONCATENATED MODULE: ./src/components/KeDevtools.vue?vue&type=script&lang=ts& + /* harmony default export */ var components_KeDevtoolsvue_type_script_lang_ts_ = (KeDevtoolsvue_type_script_lang_ts_); +// EXTERNAL MODULE: ./src/components/KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css& +var KeDevtoolsvue_type_style_index_0_id_5365a89c_prod_scoped_true_lang_css_ = __webpack_require__("2299"); + +// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier /* server only */, + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = + typeof scriptExports === 'function' ? scriptExports.options : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { + // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functional component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection(h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing ? [].concat(existing, hook) : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + +// CONCATENATED MODULE: ./src/components/KeDevtools.vue + + + + + + +/* normalize component */ + +var component = normalizeComponent( + components_KeDevtoolsvue_type_script_lang_ts_, + render, + staticRenderFns, + false, + null, + "5365a89c", + null + +) + +/* harmony default export */ var KeDevtools = (component.exports); +// CONCATENATED MODULE: ./src/components/index.ts + + +external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component("KeDevtools", KeDevtools); +/* harmony default export */ var components = (KeDevtools); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js + + +/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); + + + +/***/ }) + +/******/ }); +}); +//# sourceMappingURL=KeDevtools.umd.js.map \ No newline at end of file diff --git a/dist/KeDevtools.umd.js.map b/dist/KeDevtools.umd.js.map new file mode 100644 index 0000000..01432b1 --- /dev/null +++ b/dist/KeDevtools.umd.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://KeDevtools/webpack/universalModuleDefinition","webpack://KeDevtools/webpack/bootstrap","webpack://KeDevtools/./src/components/KeDevtools.vue?8571","webpack://KeDevtools/./src/components/KeDevtools.vue?0639","webpack://KeDevtools/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://KeDevtools/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://KeDevtools/./src/components/KeDevtools.vue","webpack://KeDevtools/./src/assets/devtools.svg","webpack://KeDevtools/./src/components/KeDevtools.vue?f151","webpack://KeDevtools/./src/components/KeDevtools.vue?b8cc","webpack://KeDevtools/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://KeDevtools/./src/components/KeDevtools.vue?c202","webpack://KeDevtools/./src/components/index.ts","webpack://KeDevtools/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["render","_vm","_c","_self","_setup","_setupProxy","staticClass","_t","class","active","isShowDevtools","on","toggleShowDevtools","_l","items","item","key","$event","onClickItem","staticRenderFns","functional","_h","_v","data","children","classNames","style","staticStyle","attrs","rest","Object","assign","concat","LOCAL_STORAGE_KEY","processFlag","result","localFlags","JSON","parse","localStorage","getItem","keys","length","removeItem","setItem","stringify","Vue","extend","name","components","DevtoolsLogo","props","type","Array","required","methods","value","$emit","component","KeDevtools"],"mappings":"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P,CAArB;IACD;;EAPM;AAhBe,CAAX,CAAf,E;;AC5BqX,CAAgB,oHAAG,EAAC,C;;;;;ACAzY;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC/FqG;AACvC;AACL;AAC0C;;;AAGnG;AAC0F;AAC1F,gBAAgB,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,gE;;ACnBf;AACA;AAEAV,sDAAG,CAACY,SAAJ,CAAc,YAAd,EAA4BC,UAA5B;AAEeA,yDAAf,E;;ACLwB;AACA;AACT,yFAAG;AACI","file":"KeDevtools.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KeDevtools\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"KeDevtools\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css&\"","// extracted by mini-css-extract-plugin","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"devtools\"},[_vm._t(\"before\"),_c('div',{staticClass:\"devtools-panel\",class:{ active: _vm.isShowDevtools }},[_c('button',{staticClass:\"devtools-panel-activator\",on:{\"click\":_vm.toggleShowDevtools}},[_c('DevtoolsLogo')],1),_c('div',{staticClass:\"devtools-panel-wrapper\"},_vm._l((_vm.items),function(item){return _c('button',{key:item,staticClass:\"devtools-panel-button\",on:{\"click\":function($event){return _vm.onClickItem(item)}}},[_vm._t(`item-${item}`)],2)}),0)]),_vm._t(\"after\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n export default {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"width\":\"24\",\"height\":\"24\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"#fff\",\"d\":\"M9.61 6.62a6.09 6.09 0 014.63.07A7.18 7.18 0 0116 7.9a5 5 0 011.45 2.26 4.92 4.92 0 01-.37 3.47 33.69 33.69 0 003.2 2.88c.63.51 1.25 1 1.87 1.55a10.47 10.47 0 011 .89 2.79 2.79 0 01.66 2.14 3 3 0 01-1.9 2.47 2.6 2.6 0 01-1.56.07 4.09 4.09 0 01-1.95-1.24c-1.6-1.77-3.17-3.57-4.73-5.37a5.59 5.59 0 01-4.56-.35 5.45 5.45 0 01-2.6-3.08 6.29 6.29 0 01.17-4c1.26 1.32 2.54 2.63 3.81 3.94.3-.26.56-.56.85-.85.6-.61 1.19-1.22 1.8-1.83.12-.13.26-.25.37-.39l-3.3-3.24z\"}}),_c('path',{attrs:{\"fill\":\"#fff\",\"fill-opacity\":\".3\",\"d\":\"M9.82 0h4.37v2.6l2.91 1.19 1.76-1.7A.33.33 0 0119 2c1 1 2 2.05 3 3.06-.59.62-1.19 1.23-1.77 1.86.4 1 .79 1.92 1.19 2.89H24v4.37h-2.63L20.66 16 19 14.6a5.66 5.66 0 00.55-2.6 9.21 9.21 0 00-.41-2.38 6.45 6.45 0 00-1-2.06 8.39 8.39 0 00-1.76-1.71A7.09 7.09 0 0015 5a6.69 6.69 0 00-2.79-.56A9.11 9.11 0 009.23 5a7.58 7.58 0 00-4.61 5.51 7.66 7.66 0 00.58 4.67 7.66 7.66 0 001.27 2 7.14 7.14 0 003.76 2.19 5.67 5.67 0 001.24.12 9.58 9.58 0 002.95-.49c.5.57 1 1.16 1.49 1.74l-1.7.66V24H9.8v-2.58c-1-.4-1.95-.8-2.92-1.22-.61.59-1.21 1.2-1.83 1.79L2 18.92c.61-.62 1.24-1.23 1.84-1.85-.44-.95-.84-1.91-1.24-2.87H0v-3.43-1h2.58l1.2-2.87A75 75 0 012 5.11C3 4.08 4 3 5 2a2.11 2.11 0 01.27.25l1.62 1.49c1-.4 2-.77 2.93-1.15z\"}})])\n )\n }\n }\n ","\nimport Vue, { PropType } from \"vue\";\nimport DevtoolsLogo from \"@/assets/devtools.svg\";\n\nconst LOCAL_STORAGE_KEY = \"ke-devtools\";\n\nconst processFlag = (item: string) => {\n let result = false;\n const localFlags = JSON.parse(\n localStorage.getItem(LOCAL_STORAGE_KEY) || \"{}\"\n );\n\n if (localFlags[item]) {\n delete localFlags[item];\n } else {\n localFlags[item] = true;\n result = true;\n }\n\n if (Object.keys(localFlags).length === 0) {\n localStorage.removeItem(LOCAL_STORAGE_KEY);\n } else {\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(localFlags));\n }\n\n return result;\n};\n\nexport default Vue.extend({\n name: \"ke-devtools\",\n components: {\n DevtoolsLogo,\n },\n props: {\n items: {\n type: Array as PropType,\n required: true,\n },\n },\n data() {\n return {\n isShowDevtools: false,\n };\n },\n methods: {\n toggleShowDevtools() {\n this.isShowDevtools = !this.isShowDevtools;\n },\n onClickItem(key: string) {\n const value = processFlag(key);\n this.$emit(\"update\", { key, value });\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./KeDevtools.vue?vue&type=template&id=5365a89c&scoped=true&\"\nimport script from \"./KeDevtools.vue?vue&type=script&lang=ts&\"\nexport * from \"./KeDevtools.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5365a89c\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport KeDevtools from \"./KeDevtools.vue\";\n\nVue.component(\"KeDevtools\", KeDevtools);\n\nexport default KeDevtools;\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/KeDevtools.umd.min.js b/dist/KeDevtools.umd.min.js new file mode 100644 index 0000000..c044c87 --- /dev/null +++ b/dist/KeDevtools.umd.min.js @@ -0,0 +1,2 @@ +(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["KeDevtools"]=e(require("vue")):t["KeDevtools"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function o(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,o),r.l=!0,r.exports}return o.m=t,o.c=e,o.d=function(t,e,n){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},o.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s="fb15")}({2299:function(t,e,o){"use strict";o("3714")},3714:function(t,e,o){},"8bbf":function(e,o){e.exports=t},fb15:function(t,e,o){"use strict";if(o.r(e),"undefined"!==typeof window){var n=window.document.currentScript,r=n&&n.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);r&&(o.p=r[1])}var s=o("8bbf"),i=o.n(s),l=function(){var t=this,e=t._self._c;t._self._setupProxy;return e("div",{staticClass:"devtools"},[t._t("before"),e("div",{staticClass:"devtools-panel",class:{active:t.isShowDevtools}},[e("button",{staticClass:"devtools-panel-activator",on:{click:t.toggleShowDevtools}},[e("DevtoolsLogo")],1),e("div",{staticClass:"devtools-panel-wrapper"},t._l(t.items,(function(o){return e("button",{key:o,staticClass:"devtools-panel-button",on:{click:function(e){return t.onClickItem(o)}}},[t._t("item-"+o)],2)})),0)]),t._t("after")],2)},a=[],c={functional:!0,render(t,e){const{_c:o,_v:n,data:r,children:s=[]}=e,{class:i,staticClass:l,style:a,staticStyle:c,attrs:u={},...f}=r;return o("svg",{class:[i,l],style:[a,c],attrs:Object.assign({width:"24",height:"24"},u),...f},s.concat([o("path",{attrs:{fill:"#fff",d:"M9.61 6.62a6.09 6.09 0 014.63.07A7.18 7.18 0 0116 7.9a5 5 0 011.45 2.26 4.92 4.92 0 01-.37 3.47 33.69 33.69 0 003.2 2.88c.63.51 1.25 1 1.87 1.55a10.47 10.47 0 011 .89 2.79 2.79 0 01.66 2.14 3 3 0 01-1.9 2.47 2.6 2.6 0 01-1.56.07 4.09 4.09 0 01-1.95-1.24c-1.6-1.77-3.17-3.57-4.73-5.37a5.59 5.59 0 01-4.56-.35 5.45 5.45 0 01-2.6-3.08 6.29 6.29 0 01.17-4c1.26 1.32 2.54 2.63 3.81 3.94.3-.26.56-.56.85-.85.6-.61 1.19-1.22 1.8-1.83.12-.13.26-.25.37-.39l-3.3-3.24z"}}),o("path",{attrs:{fill:"#fff","fill-opacity":".3",d:"M9.82 0h4.37v2.6l2.91 1.19 1.76-1.7A.33.33 0 0119 2c1 1 2 2.05 3 3.06-.59.62-1.19 1.23-1.77 1.86.4 1 .79 1.92 1.19 2.89H24v4.37h-2.63L20.66 16 19 14.6a5.66 5.66 0 00.55-2.6 9.21 9.21 0 00-.41-2.38 6.45 6.45 0 00-1-2.06 8.39 8.39 0 00-1.76-1.71A7.09 7.09 0 0015 5a6.69 6.69 0 00-2.79-.56A9.11 9.11 0 009.23 5a7.58 7.58 0 00-4.61 5.51 7.66 7.66 0 00.58 4.67 7.66 7.66 0 001.27 2 7.14 7.14 0 003.76 2.19 5.67 5.67 0 001.24.12 9.58 9.58 0 002.95-.49c.5.57 1 1.16 1.49 1.74l-1.7.66V24H9.8v-2.58c-1-.4-1.95-.8-2.92-1.22-.61.59-1.21 1.2-1.83 1.79L2 18.92c.61-.62 1.24-1.23 1.84-1.85-.44-.95-.84-1.91-1.24-2.87H0v-3.43-1h2.58l1.2-2.87A75 75 0 012 5.11C3 4.08 4 3 5 2a2.11 2.11 0 01.27.25l1.62 1.49c1-.4 2-.77 2.93-1.15z"}})]))}};const u="ke-devtools",f=t=>{let e=!1;const o=JSON.parse(localStorage.getItem(u)||"{}");return o[t]?delete o[t]:(o[t]=!0,e=!0),0===Object.keys(o).length?localStorage.removeItem(u):localStorage.setItem(u,JSON.stringify(o)),e};var d=i.a.extend({name:"ke-devtools",components:{DevtoolsLogo:c},props:{items:{type:Array,required:!0}},data(){return{isShowDevtools:!1}},methods:{toggleShowDevtools(){this.isShowDevtools=!this.isShowDevtools},onClickItem(t){const e=f(t);this.$emit("update",{key:t,value:e})}}}),p=d;o("2299");function v(t,e,o,n,r,s,i,l){var a,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=o,c._compiled=!0),n&&(c.functional=!0),s&&(c._scopeId="data-v-"+s),i?(a=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(i)},c._ssrRegister=a):r&&(a=l?function(){r.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:r),a)if(c.functional){c._injectStyles=a;var u=c.render;c.render=function(t,e){return a.call(e),u(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,a):[a]}return{exports:t,options:c}}var h=v(p,l,a,!1,null,"5365a89c",null),_=h.exports;i.a.component("KeDevtools",_);var y=_;e["default"]=y}})})); +//# sourceMappingURL=KeDevtools.umd.min.js.map \ No newline at end of file diff --git a/dist/KeDevtools.umd.min.js.map b/dist/KeDevtools.umd.min.js.map new file mode 100644 index 0000000..9684130 --- /dev/null +++ b/dist/KeDevtools.umd.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://KeDevtools/webpack/universalModuleDefinition","webpack://KeDevtools/webpack/bootstrap","webpack://KeDevtools/./src/components/KeDevtools.vue?8571","webpack://KeDevtools/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://KeDevtools/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://KeDevtools/./src/components/KeDevtools.vue","webpack://KeDevtools/./src/assets/devtools.svg","webpack://KeDevtools/./src/components/KeDevtools.vue?f151","webpack://KeDevtools/./src/components/KeDevtools.vue?b8cc","webpack://KeDevtools/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://KeDevtools/./src/components/KeDevtools.vue?c202","webpack://KeDevtools/./src/components/index.ts","webpack://KeDevtools/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__8bbf__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","currentScript","document","src","match","render","_vm","_c","_self","_setupProxy","staticClass","_t","class","active","isShowDevtools","on","toggleShowDevtools","_l","items","item","$event","onClickItem","staticRenderFns","functional","_h","_v","data","children","classNames","style","staticStyle","attrs","rest","assign","concat","LOCAL_STORAGE_KEY","processFlag","result","localFlags","JSON","parse","localStorage","getItem","keys","length","removeItem","setItem","stringify","Vue","extend","components","DevtoolsLogo","props","type","Array","required","methods","$emit","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","component","KeDevtools"],"mappings":"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","file":"KeDevtools.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KeDevtools\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"KeDevtools\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css&\"","module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;","// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"devtools\"},[_vm._t(\"before\"),_c('div',{staticClass:\"devtools-panel\",class:{ active: _vm.isShowDevtools }},[_c('button',{staticClass:\"devtools-panel-activator\",on:{\"click\":_vm.toggleShowDevtools}},[_c('DevtoolsLogo')],1),_c('div',{staticClass:\"devtools-panel-wrapper\"},_vm._l((_vm.items),function(item){return _c('button',{key:item,staticClass:\"devtools-panel-button\",on:{\"click\":function($event){return _vm.onClickItem(item)}}},[_vm._t(`item-${item}`)],2)}),0)]),_vm._t(\"after\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n export default {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"width\":\"24\",\"height\":\"24\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill\":\"#fff\",\"d\":\"M9.61 6.62a6.09 6.09 0 014.63.07A7.18 7.18 0 0116 7.9a5 5 0 011.45 2.26 4.92 4.92 0 01-.37 3.47 33.69 33.69 0 003.2 2.88c.63.51 1.25 1 1.87 1.55a10.47 10.47 0 011 .89 2.79 2.79 0 01.66 2.14 3 3 0 01-1.9 2.47 2.6 2.6 0 01-1.56.07 4.09 4.09 0 01-1.95-1.24c-1.6-1.77-3.17-3.57-4.73-5.37a5.59 5.59 0 01-4.56-.35 5.45 5.45 0 01-2.6-3.08 6.29 6.29 0 01.17-4c1.26 1.32 2.54 2.63 3.81 3.94.3-.26.56-.56.85-.85.6-.61 1.19-1.22 1.8-1.83.12-.13.26-.25.37-.39l-3.3-3.24z\"}}),_c('path',{attrs:{\"fill\":\"#fff\",\"fill-opacity\":\".3\",\"d\":\"M9.82 0h4.37v2.6l2.91 1.19 1.76-1.7A.33.33 0 0119 2c1 1 2 2.05 3 3.06-.59.62-1.19 1.23-1.77 1.86.4 1 .79 1.92 1.19 2.89H24v4.37h-2.63L20.66 16 19 14.6a5.66 5.66 0 00.55-2.6 9.21 9.21 0 00-.41-2.38 6.45 6.45 0 00-1-2.06 8.39 8.39 0 00-1.76-1.71A7.09 7.09 0 0015 5a6.69 6.69 0 00-2.79-.56A9.11 9.11 0 009.23 5a7.58 7.58 0 00-4.61 5.51 7.66 7.66 0 00.58 4.67 7.66 7.66 0 001.27 2 7.14 7.14 0 003.76 2.19 5.67 5.67 0 001.24.12 9.58 9.58 0 002.95-.49c.5.57 1 1.16 1.49 1.74l-1.7.66V24H9.8v-2.58c-1-.4-1.95-.8-2.92-1.22-.61.59-1.21 1.2-1.83 1.79L2 18.92c.61-.62 1.24-1.23 1.84-1.85-.44-.95-.84-1.91-1.24-2.87H0v-3.43-1h2.58l1.2-2.87A75 75 0 012 5.11C3 4.08 4 3 5 2a2.11 2.11 0 01.27.25l1.62 1.49c1-.4 2-.77 2.93-1.15z\"}})])\n )\n }\n }\n ","\nimport Vue, { PropType } from \"vue\";\nimport DevtoolsLogo from \"@/assets/devtools.svg\";\n\nconst LOCAL_STORAGE_KEY = \"ke-devtools\";\n\nconst processFlag = (item: string) => {\n let result = false;\n const localFlags = JSON.parse(\n localStorage.getItem(LOCAL_STORAGE_KEY) || \"{}\"\n );\n\n if (localFlags[item]) {\n delete localFlags[item];\n } else {\n localFlags[item] = true;\n result = true;\n }\n\n if (Object.keys(localFlags).length === 0) {\n localStorage.removeItem(LOCAL_STORAGE_KEY);\n } else {\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(localFlags));\n }\n\n return result;\n};\n\nexport default Vue.extend({\n name: \"ke-devtools\",\n components: {\n DevtoolsLogo,\n },\n props: {\n items: {\n type: Array as PropType,\n required: true,\n },\n },\n data() {\n return {\n isShowDevtools: false,\n };\n },\n methods: {\n toggleShowDevtools() {\n this.isShowDevtools = !this.isShowDevtools;\n },\n onClickItem(key: string) {\n const value = processFlag(key);\n this.$emit(\"update\", { key, value });\n },\n },\n});\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeDevtools.vue?vue&type=script&lang=ts&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./KeDevtools.vue?vue&type=template&id=5365a89c&scoped=true&\"\nimport script from \"./KeDevtools.vue?vue&type=script&lang=ts&\"\nexport * from \"./KeDevtools.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./KeDevtools.vue?vue&type=style&index=0&id=5365a89c&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5365a89c\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport KeDevtools from \"./KeDevtools.vue\";\n\nVue.component(\"KeDevtools\", KeDevtools);\n\nexport default KeDevtools;\n","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/demo.html b/dist/demo.html new file mode 100644 index 0000000..7e123eb --- /dev/null +++ b/dist/demo.html @@ -0,0 +1,10 @@ + +KeDevtools demo + + + + + +