Repository: 04zhujunjie/jj-messagebox Branch: main Commit: 204d74bca4b7 Files: 30 Total size: 395.5 KB Directory structure: gitextract_usu80hwr/ ├── .idea/ │ ├── .gitignore │ ├── inspectionProfiles/ │ │ └── Project_Default.xml │ ├── jj-messagebox.iml │ ├── modules.xml │ └── vcs.xml ├── LICENSE ├── README.md ├── babel.config.js ├── lib/ │ ├── demo.html │ ├── messagebox.common.js │ └── messagebox.umd.js ├── package.json ├── public/ │ └── index.html └── src/ ├── App.vue ├── components/ │ └── example.vue ├── jj-messagebox/ │ ├── alert/ │ │ ├── index.js │ │ └── jj-alert.vue │ ├── dialog/ │ │ ├── index.js │ │ └── jj-dialog.vue │ ├── index.js │ ├── jj-fadelog.css │ ├── jj-messagebox.css │ ├── jj-pop.css │ ├── loading/ │ │ ├── index.js │ │ └── jj-loading.vue │ ├── popup/ │ │ ├── index.js │ │ └── jj-popup.vue │ └── toast/ │ ├── index.js │ └── jj-toast.vue └── main.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .idea/.gitignore ================================================ # 默认忽略的文件 /shelf/ /workspace.xml # 基于编辑器的 HTTP 客户端请求 /httpRequests/ ================================================ FILE: .idea/inspectionProfiles/Project_Default.xml ================================================ ================================================ FILE: .idea/jj-messagebox.iml ================================================ ================================================ FILE: .idea/modules.xml ================================================ ================================================ FILE: .idea/vcs.xml ================================================ ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2021 Jeking Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ ## 效果图 ![image](https://github.com/04zhujunjie/jj-messagebox/blob/main/screenshot/jj-messagebox.gif) ## 目录 * [安装](#安装) * [引用](#引用) * [alert使用](#alert使用) * [dialog使用](#dialog使用) * [popup使用](#popup使用) * [loading使用](#loading使用) * [toast使用](#toast使用) ### 安装 --- 1、使用npm安装 ``` npm i jj-messagebox --save ``` 2、手动安装,下载该项目,将项目jj-messagebox文件夹(路径:src/jj-messagebox)拷贝到项目中, 引用jj-messagebox文件夹下的index.js文件 ### 引用 ------- 1、在main.js文件全局全部引入 ``` /* 1、手动安装,需要指定文件 import messagebox from './jj-messagebox/index.js' */ //2、通过npm安装 import messagebox from "jj-messagebox" //注册全部插件(alert,dialog,popup,loading,toast) Vue.use(messagebox) ``` 2、在main.js文件全局部分引入 ``` //注意:部分导入的插件名字不能有错,它们分别是:jjAlert,jjLoading,jjToast,jjDialog,jjPopup //下面是指定安装加载提示框插件 /* 1、手动安装,需要指定文件 import {jjLoading} from './jj-messagebox/index.js' */ //2、通过npm安装 import {jjLoading} from "jj-messagebox" //注册某个插件,如加载提示框 Vue.use(jjLoading) ``` 3、非全局安装,在某个组件中引入(只支持jjDialog和jjPopup) ``` /* 1、手动安装,需要指定文件 import {jjDialog} from './jj-messagebox/index.js' */ //2、通过npm安装 import {jjDialog} from "jj-messagebox" export default { name: 'App', components: { jjDialog } } ``` ### alert使用 ------- 1、使用默认alert ``` /* 一共有三个参数,三个参数都是字符串String类型 第一参数是title标题,第二个参数是message内容 第三个参数是按钮的标题 第三个参数如果没有传值,默认是‘确定’ 如果只传一个参数,那么显示的内容就是参数内容,按钮文本取默认值:‘确定’ */ this.$jj_alert('时间就像海绵里的水,\n只要愿挤总还是有的。') 或 this.$jj_alert('提示', '时间就像海绵里的水,\n只要愿挤总还是有的。', '知道了') ``` 2、自定义alert,需要传入一个Objec对象 ``` this.$jj_alert({ type: "alert", //弹窗的类型有alert和sheet width: '70%', //设置弹窗的宽度 padding: '20px 30px', //设置内容的上下左右偏移 maskColor: "rgba(0, 0, 0, 0.6)", //遮罩层的背景颜色 touchClose: true, //点击背景图层,是否关闭弹框 showClose: true, //是否显示右上角的关闭按钮 title: '提示', //标题 titleStyle: { 'color': '#fb2408', 'font-size': '20px' }, //标题的样式 message: '事实上确实是当我们失去的时候,才知道自己曾经拥有;但有没有注意到当有些东西来临的时候,我们已错过。', //内容 messageStyle: { "justify-content": 'left', "display": "flex", "color": '#8a8a8a', 'text-align': 'left', 'maxHeight':'100px',//内容的最大高度 'overflow': 'scroll', //如果文本高度大于maxHeight就以滚动形式显示 }, //内容的样式 btns:[{ title: "Cancel", //按钮文本 activeBackground: '#2A8AFF', //按钮激活背景色 activeColor: "#fff", //按钮激活的字体颜色 click: () => { console.log("点击Cancel") } }] }) ``` 3、关闭alert ``` //有两种方式关闭 //1、使用全局方法关闭 this.$jj_alert({isClose:true}) //2、使用对象调用关闭方法 let alert = this.$jj_alert(alertData) //关闭弹框 alert.close() ``` #### 参数说明 | 参数 | 说明 | 类型 | 默认值 | | ---------- | -----------| :-----------:| :-----------:| | type |有alert和sheet | String | 'alert' | | position |弹窗出现的位置,有center和bottom | String | 'center' | | btnDirection |按钮的排列方向,row和column sheet指定为column | String | 'row' | | duration |动画时间,单位s秒 | Number | 0.25 | | radius |弹框的圆角 | Number | 5 | | isClose |是否关闭弹框 | Boolean | false | | maskColor | 遮罩层的背景颜色 | String | 'rgba(0, 0, 0, 0.35) '| | background | 弹窗内容的背景 | String | '#fff' | | touchClose | 点击遮罩层,是否关闭弹框 | Boolean | false | | isQuickClose | 是否开启快速关闭,设置true时,关闭时没有动画效果 | Boolean | false | | isUseHTMLString | 是否将 message 属性作为 HTML 片段处理 | Boolean | false | | showClose | 是否显示右上角的关闭按钮 | Boolean | false | | closeStyle | 右上方关闭按钮的样式 | Object | {} | | width |弹框的宽度,可以是百分比或具体像素值 | String | '80%'| | padding |内容上下左右偏移 | String | '20px' | | title |标题 | String | - | | titleStyle |标题的样式 | Object | {} | | message |内容 | String | - | | messageStyle |内容的样式 | Object | {}| | btns | 按钮列表 | Array | [{title:"确认"}] | #### button按钮的参数说明 | 参数 | 说明 | 类型 | 默认值 | | ---------- | -----------| :-----------:| :-----------:| | title | 按钮的文本 | String | - | | activeBackground |按钮激活的背景色 | String | - | | activeColor | 按钮激活的字体颜色 | String | - | | style |按钮的文本样式 | Object | {} | | touchClose |点击按钮,是否自动关闭弹框 | Boolean | true | | isDisable |是否禁用按钮 | Boolean | false | | click |按钮点击事件 | Function | - | ### dialog使用 ------- ```
自定Dialog内容
``` #### Props参数说明 | 参数 | 说明 | 类型 | 默认值 | | ---------- | -----------| :-----------:| :-----------:| | visible |是否显示 | Boolean | false | | duration |动画时间,单位s秒 | Number | 0.25 | | radius |弹框的圆角 | Number | 5 | | maskColor | 遮罩层的背景颜色 | String | 'rgba(0, 0, 0, 0.35) '| | background | 弹窗内容的背景 | String | '#fff' | | touchClose | 点击遮罩层,是否关闭弹框 | Boolean | false | | showClose | 是否显示右上角的关闭按钮 | Boolean | true | | closeStyle | 右上方关闭按钮的样式 | Object | {} | | width |弹框的宽度,可以是百分比或具体像素值 | String | '80%'| | padding |内容上下左右偏移 | String | '20px' | | title |标题 | String | - | | titleStyle |标题的样式 | Object | {} | | message |内容 | String | - | | messageStyle |内容的样式 | Object | {}| #### Events | 事件名 | 说明 | 回调参数 | | ---------- | -----------| :-----------:| | close |右上角的关闭按钮事件 | - | ### popup使用 ------- ```
今天天气不错
``` #### Props参数说明 | 参数 | 说明 | 类型 | 默认值 | | ---------- | -----------| :-----------:| :-----------:| | visible |是否显示 | Boolean | false | | duration |动画时间,单位s秒 | Number | 0.25 | | radius |弹框的圆角 | Number | 5 | | maskColor | 遮罩层的背景颜色 | String | 'rgba(0, 0, 0, 0.35) '| | background | 弹窗内容的背景 | String | '#fff' | | touchClose | 点击遮罩层,是否关闭弹框 | Boolean | false | | showClose | 是否显示右上角的关闭按钮 | Boolean | true | | closeStyle | 右上方关闭按钮的样式 | Object | {} | | height |弹框的高度,可以是百分比或具体像素值 | String | '60%'| | padding |内容上下左右偏移 | String | '20px' | | title |标题 | String | - | | titleStyle |标题的样式 | Object | {} | | message |内容 | String | - | | messageStyle |内容的样式 | Object | {}| #### Events | 事件名 | 说明 | 回调参数 | | ---------- | -----------| :-----------:| | close |右上角的关闭按钮事件 | - | ### loading使用 ------- 1、使用默认的loading ``` this.$jj_loading('加载中...') let that = this setTimeout(function() { //关闭弹框 that.$jj_loading({isClose:true}) }, 2000) ``` 2、自定义loading ``` const loadingData = {imageSize: {width: '32px',height: '32px'}, //设置图片的大小 userInteractionEnabled: true, //是否启用用户交互,默认是false,启用后,遮罩层下的图层事件允许点击 type: 'round', //设置加载框的类型,有default、round、taichi三种 //imageUrl:require('../assets/loading_custom.png'),//图片链接,如果设置图片链接,type类型失效 background:'#f24', //设置弹框内容的背景色 message:"自定义..." } let loading = this.$jj_loading(loadingData) setTimeout(() => { //关闭弹框 loading.close() }, 2000) ``` 3、关闭loading ``` //有两种方式关闭 //1、使用全局方法关闭 this.$jj_loading({isClose:true}) //2、使用对象调用关闭方法 let loading = this.$jj_loading(loadingData) //关闭弹框 loading.close() ``` #### 参数说明 | 参数 | 说明 | 类型 | 默认值 | | ---------- | -----------| :-----------:| :-----------:| | type |有default、round、taichi | String | 'default' | | duration |图片旋转一周动画时间,单位s秒 | Number | 1.5 | | radius |弹框的圆角 | Number | 5 | | isClose |是否关闭弹框 | Boolean | false | | maskColor | 遮罩层的背景颜色 | String | 'transparent'| | background | 弹窗内容的背景 | String | 'rgba(0, 0, 0, 0.8)' | | userInteractionEnabled | 遮罩层下的事件是否可以交互 | Boolean | false | | width |弹框的宽度,可以是百分比或具体像素值 | String | '85px'| | padding |内容上下左右偏移 | String | '15px 10px 10px 10px' | | imageUrl |图片的链接地址 | String | - | | imageSize |图片的大小 | Object | {width: '32px',height: '32px'} | | message |内容 | String | - | | messageStyle |内容的样式 | Object | {}| ### toast使用 ------- 1、使用默认的toast ``` /* 一共有三个参数 第一参数是提示信息, 第二个参数是提示的类型(success,fail,warn), 第三个参数是显示的时长 */ //只显示文本 this.$jj_toast("请求成功") //显示文本和提示的类型 this.$jj_toast("成功",'success') //显示文本和设置显示的时长 this.$jj_toast("提交成功",'',3) ``` 2、自定义toast ``` const toastData = {message: "哈哈哈哈哈哈哈哈。。。", duration: 3, radius: 2, background:'#f24', maxWidth:'60%', messageStyle:{'color': '#fe2', 'text-align': 'center' } } this.$jj_toast(toastData) ``` 3、关闭toast ``` this.$jj_toast({isClose:true}) ``` #### 参数说明 | 参数 | 说明 | 类型 | 默认值 | | ---------- | -----------| :-----------:| :-----------:| | type | 提示的类型(success,fail,warn) | String | - | | duration |显示的时长,单位s秒, 小于0时,不消失,需要手动关闭 | Number | 2.5 | | radius |弹框的圆角 | Number | 5 | | isClose |是否关闭弹框 | Boolean | false | | maskColor | 遮罩层的背景颜色 | String | 'transparent'| | background | 弹窗内容的背景 | String | 'rgba(0, 0, 0, 0.8)' | | maxWidth |弹框的最大宽度,可以是百分比或具体像素值 | String | '80%'| | minWidth |弹框的最小宽度,可以是百分比或具体像素值 | String | '85px'| | padding |内容上下左右偏移 | String | '12px' | | imageUrl |图片的链接地址 | String | - | | imageSize |图片的大小 | Object | {width: '32px',height: '32px'} | | message |内容 | String | - | | messageStyle |内容的样式 | Object | {}| ================================================ FILE: babel.config.js ================================================ module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ] } ================================================ FILE: lib/demo.html ================================================ messagebox demo ================================================ FILE: lib/messagebox.common.js ================================================ 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"); /******/ }) /************************************************************************/ /******/ ({ /***/ "0074": /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABkxJREFUeF7lW1nMXVMU/r5HMTZBSDSpxBT1oATtg1Ixa7xoEQ2KxFDVIsYn7ZOhglItEhTRGOpFlLZEW33QEtUHFVOiiSYEiTkeP1n/v+9v3/Wfc8+4z9/m7uTm3tx79tprfXcPa/g2MeSNQ24/kgMg6SAAFwE4FcBhAA4P7/bZXtZ+iV4/h8+fAXiP5J8p/6QkAEg6EcCsYPglDQ1YZ0AA2ETyy4ayxnVvFQBJ1wK4GcD0thUN8rYBeIbkS23JbwUASfYvLwJwfluKFcjZCOBJkjY7GrVGAEg6Ixh+VYEWuwG8A+AbAD+F14/h3boeAeDI8G6fjwMwG8CUArlrAhDb66JQGwBJtwN4fMDAptT6sJHVUjAAfGHYSwzsvHYHySfqgFALAEnPArgxZ8CtAJaTfKuOQnl9JF0GYDGAM3OeeY7kTVXHrAyApI9ylPg6GL6qqhJVnpd0SwDi+Ix+W0nOrCKvEgCS7Lw+NGOApcH436oMXvdZSZMCCA9kyPiVZM+/KByiNACSvs/YlMxJWUjylcKREjwg6WoAKwCYsxW33SSPLjNkKQAkvQhgvhO4E8BZqT21IiOCp7kFwMnu2dUkryvqXwiApHsAPOwELSW5pEh4l79LsuXgdbqX5COD9BgIgKTrATzvBKwjaWd0oxaOuOVByGKStY7KWAlJ5mt41/sGki/kKZsLQFDQXM+4WaAyheS/TawPscIuJ2NqU19f0n4AzOmygCtu0/MAHgTAqwC8h3ceyQ+aGG99JZmDdIGTs4GkOT2NmqRzAbzvhKwhOS9LcCYAwbe36RS31ta9JJtZ3rPbTrKVICpnP5idFTvkAbDBBTbm5Mwg2co5n7O8cqdp1SkR/ISPAcTO0kaSftaNT4iEkHa1G3QByVY9vLAPPBbGubPp+vcgBY9xpft+vg+lx82AjOlZ2b2s+o+lej7DbR+3zPoAkGTOxOdOoTltBzapDM6YBRZArXXfTyNpTtxI8wDcB+DBqMMOkpbL22ebJMstnhIZcD/Jh/IA+DDk8nq/P0ry7n3W+tEjdxmAuyIbLLd4zjgAJB0CwO/ys0huTgFAOKrODrK3pHKtJdkYm5wNk0j+3rcEJJnTY85Pr+0hOTmF8SZT0hcApgb5u0ielHCsHwAcFcmfR9LSaf/vAZIsaIin+0qStyZUSrFskoWBWV1dJD0NYEHUfxlJC/L6APAh7yKST9UdtKifpC4BuM2Sp5FOY6HyGOqSLMV8cfTQ5STfLDKk7u8dAzAXwBuRru+SHIkaYwA+AXBa9NBMkpbgTNI6BsASqZbL7LVPSZ7uAfApr2NJfpfE+tFNsMslcAyAbyNbxlJm8Qz4G8D+0UMHkrTvkrSOATgAwF+RIf+QtO/6lsDQAzD0S2DoN8GhPwaH3hHyrvAKkuZBJWkdnwLm0S6MDMl0ha8A8FrWWZkCgY4B8Bv8lSRf98eg1df+cMa2lqj0IHYFQE4C9uBeSc9nhHxlZQlJq/y23joEwMplcRW5r7LlAbDw16qtvdZarn4CZ4CvQVg128LjkeYBMHqbL1klSYp2MQMCq8QnRftKcFlpcSsoxBWaJGnxjgDwbJZtJGfEszELAOP6dVEYSRoN1i6MGDqSkpbGwhjJAGhUGgvKWbYkWXG0AwCyyBLli6NBwazy+DVt8YFS7QGBN/SyO3WqlccDAFa+9gQJI0VNboMXJMly9b26wGaSRq5u1AJfyFLgnjRVnSARQMhig+4kOa2RpqP7jDkoc4KctW0URiRZXdOTpQaySAtz8Tms0NbIEk2B7PXPIUUUskcLAQgzIYsdavmDuU35Qk0BCLwgS997clQp/6UUAAGELJaokaaszNSYN1QHiMAHss3ak6JKs0VLAxBAyGKL2k8TQZW1+wlZXMXSLNFxsUCZfyGHNWpd9waydCl26EBXuCQIWezRXteJossXskKzbKu0BGIBOSzS+JEdAIxwYfF3LY5BqO3b5maEhpjl4W0ZyAYd9KfWBiBylmwtFl2Z2QPgbQBflbwycwKAS11NP8uOibsy42bDcF6a8n9J4BjajY5B93vKbDN5zxihetVed20uAwhzR433a9fomvr4FjPYNbn1Mb2tCYqNT4EqgwfylREvDJQqV2eNy2dEhhEyU6rWaBNMpVSXcocegP8AkR3mX9dXicEAAAAASUVORK5CYII=" /***/ }), /***/ "00ee": /***/ (function(module, exports, __webpack_require__) { var wellKnownSymbol = __webpack_require__("b622"); var TO_STRING_TAG = wellKnownSymbol('toStringTag'); var test = {}; test[TO_STRING_TAG] = 'z'; module.exports = String(test) === '[object z]'; /***/ }), /***/ "0366": /***/ (function(module, exports, __webpack_require__) { var aCallable = __webpack_require__("59ed"); // optional / simple context binding module.exports = function (fn, that, length) { aCallable(fn); if (that === undefined) return fn; switch (length) { case 0: return function () { return fn.call(that); }; case 1: return function (a) { return fn.call(that, a); }; case 2: return function (a, b) { return fn.call(that, a, b); }; case 3: return function (a, b, c) { return fn.call(that, a, b, c); }; } return function (/* ...args */) { return fn.apply(that, arguments); }; }; /***/ }), /***/ "057f": /***/ (function(module, exports, __webpack_require__) { /* eslint-disable es/no-object-getownpropertynames -- safe */ var toIndexedObject = __webpack_require__("fc6a"); var $getOwnPropertyNames = __webpack_require__("241c").f; var toString = {}.toString; var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; var getWindowNames = function (it) { try { return $getOwnPropertyNames(it); } catch (error) { return windowNames.slice(); } }; // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window module.exports.f = function getOwnPropertyNames(it) { return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it)); }; /***/ }), /***/ "06cf": /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__("83ab"); var propertyIsEnumerableModule = __webpack_require__("d1e7"); var createPropertyDescriptor = __webpack_require__("5c6c"); var toIndexedObject = __webpack_require__("fc6a"); var toPropertyKey = __webpack_require__("a04b"); var hasOwn = __webpack_require__("1a2d"); var IE8_DOM_DEFINE = __webpack_require__("0cfb"); // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPropertyKey(P); if (IE8_DOM_DEFINE) try { return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (hasOwn(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); }; /***/ }), /***/ "07fa": /***/ (function(module, exports, __webpack_require__) { var toLength = __webpack_require__("50c4"); // `LengthOfArrayLike` abstract operation // https://tc39.es/ecma262/#sec-lengthofarraylike module.exports = function (obj) { return toLength(obj.length); }; /***/ }), /***/ "0afa": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_loading_vue_vue_type_style_index_0_id_1b92d84c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("72e3"); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_loading_vue_vue_type_style_index_0_id_1b92d84c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_loading_vue_vue_type_style_index_0_id_1b92d84c_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* unused harmony reexport * */ /***/ }), /***/ "0b42": /***/ (function(module, exports, __webpack_require__) { var isArray = __webpack_require__("e8b5"); var isConstructor = __webpack_require__("68ee"); var isObject = __webpack_require__("861d"); var wellKnownSymbol = __webpack_require__("b622"); var SPECIES = wellKnownSymbol('species'); // a part of `ArraySpeciesCreate` abstract operation // https://tc39.es/ecma262/#sec-arrayspeciescreate module.exports = function (originalArray) { var C; if (isArray(originalArray)) { C = originalArray.constructor; // cross-realm fallback if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined; else if (isObject(C)) { C = C[SPECIES]; if (C === null) C = undefined; } } return C === undefined ? Array : C; }; /***/ }), /***/ "0cfb": /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__("83ab"); var fails = __webpack_require__("d039"); var createElement = __webpack_require__("cc12"); // Thank's IE8 for his funny defineProperty module.exports = !DESCRIPTORS && !fails(function () { // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(createElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); /***/ }), /***/ "0d51": /***/ (function(module, exports) { module.exports = function (argument) { try { return String(argument); } catch (error) { return 'Object'; } }; /***/ }), /***/ "159b": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); var DOMIterables = __webpack_require__("fdbc"); var DOMTokenListPrototype = __webpack_require__("785a"); var forEach = __webpack_require__("17c2"); var createNonEnumerableProperty = __webpack_require__("9112"); var handlePrototype = function (CollectionPrototype) { // some Chrome versions have non-configurable methods on DOMTokenList if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); } catch (error) { CollectionPrototype.forEach = forEach; } }; for (var COLLECTION_NAME in DOMIterables) { if (DOMIterables[COLLECTION_NAME]) { handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype); } } handlePrototype(DOMTokenListPrototype); /***/ }), /***/ "1626": /***/ (function(module, exports) { // `IsCallable` abstract operation // https://tc39.es/ecma262/#sec-iscallable module.exports = function (argument) { return typeof argument === 'function'; }; /***/ }), /***/ "17c2": /***/ (function(module, exports, __webpack_require__) { "use strict"; var $forEach = __webpack_require__("b727").forEach; var arrayMethodIsStrict = __webpack_require__("a640"); var STRICT_METHOD = arrayMethodIsStrict('forEach'); // `Array.prototype.forEach` method implementation // https://tc39.es/ecma262/#sec-array.prototype.foreach module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; /***/ }), /***/ "1a2d": /***/ (function(module, exports, __webpack_require__) { var toObject = __webpack_require__("7b0b"); var hasOwnProperty = {}.hasOwnProperty; // `HasOwnProperty` abstract operation // https://tc39.es/ecma262/#sec-hasownproperty module.exports = Object.hasOwn || function hasOwn(it, key) { return hasOwnProperty.call(toObject(it), key); }; /***/ }), /***/ "1be4": /***/ (function(module, exports, __webpack_require__) { var getBuiltIn = __webpack_require__("d066"); module.exports = getBuiltIn('document', 'documentElement'); /***/ }), /***/ "1d80": /***/ (function(module, exports) { // `RequireObjectCoercible` abstract operation // https://tc39.es/ecma262/#sec-requireobjectcoercible module.exports = function (it) { if (it == undefined) throw TypeError("Can't call method on " + it); return it; }; /***/ }), /***/ "1dde": /***/ (function(module, exports, __webpack_require__) { var fails = __webpack_require__("d039"); var wellKnownSymbol = __webpack_require__("b622"); var V8_VERSION = __webpack_require__("2d00"); var SPECIES = wellKnownSymbol('species'); module.exports = function (METHOD_NAME) { // We can't use this feature detection in V8 since it causes // deoptimization and serious performance degradation // https://github.com/zloirock/core-js/issues/677 return V8_VERSION >= 51 || !fails(function () { var array = []; var constructor = array.constructor = {}; constructor[SPECIES] = function () { return { foo: 1 }; }; return array[METHOD_NAME](Boolean).foo !== 1; }); }; /***/ }), /***/ "1de5": /***/ (function(module, exports, __webpack_require__) { "use strict"; module.exports = function (url, options) { if (!options) { // eslint-disable-next-line no-param-reassign options = {}; } // eslint-disable-next-line no-underscore-dangle, no-param-reassign url = url && url.__esModule ? url.default : url; if (typeof url !== 'string') { return url; } // If url is already wrapped in quotes, remove them if (/^['"].*['"]$/.test(url)) { // eslint-disable-next-line no-param-reassign url = url.slice(1, -1); } if (options.hash) { // eslint-disable-next-line no-param-reassign url += options.hash; } // Should url be wrapped? // See https://drafts.csswg.org/css-values-3/#urls if (/["'() \t\n]/.test(url) || options.needQuotes) { return "\"".concat(url.replace(/"/g, '\\"').replace(/\n/g, '\\n'), "\""); } return url; }; /***/ }), /***/ "23cb": /***/ (function(module, exports, __webpack_require__) { var toIntegerOrInfinity = __webpack_require__("5926"); var max = Math.max; var min = Math.min; // Helper for a popular repeating case of the spec: // Let integer be ? ToInteger(index). // If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). module.exports = function (index, length) { var integer = toIntegerOrInfinity(index); return integer < 0 ? max(integer + length, 0) : min(integer, length); }; /***/ }), /***/ "23e7": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); var getOwnPropertyDescriptor = __webpack_require__("06cf").f; var createNonEnumerableProperty = __webpack_require__("9112"); var redefine = __webpack_require__("6eeb"); var setGlobal = __webpack_require__("ce4e"); var copyConstructorProperties = __webpack_require__("e893"); var isForced = __webpack_require__("94ca"); /* options.target - name of the target object options.global - target is the global object options.stat - export as static methods of target options.proto - export as prototype methods of target options.real - real prototype method for the `pure` version options.forced - export even if the native feature is available options.bind - bind methods to the target, required for the `pure` version options.wrap - wrap constructors to preventing global pollution, required for the `pure` version options.unsafe - use the simple assignment of property instead of delete + defineProperty options.sham - add a flag to not completely full polyfills options.enumerable - export as enumerable property options.noTargetGet - prevent calling a getter on target options.name - the .name of the function if it does not match the key */ module.exports = function (options, source) { var TARGET = options.target; var GLOBAL = options.global; var STATIC = options.stat; var FORCED, target, key, targetProperty, sourceProperty, descriptor; if (GLOBAL) { target = global; } else if (STATIC) { target = global[TARGET] || setGlobal(TARGET, {}); } else { target = (global[TARGET] || {}).prototype; } if (target) for (key in source) { sourceProperty = source[key]; if (options.noTargetGet) { descriptor = getOwnPropertyDescriptor(target, key); targetProperty = descriptor && descriptor.value; } else targetProperty = target[key]; FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); // contained in target if (!FORCED && targetProperty !== undefined) { if (typeof sourceProperty === typeof targetProperty) continue; copyConstructorProperties(sourceProperty, targetProperty); } // add a flag to not completely full polyfills if (options.sham || (targetProperty && targetProperty.sham)) { createNonEnumerableProperty(sourceProperty, 'sham', true); } // extend global redefine(target, key, sourceProperty, options); } }; /***/ }), /***/ "241c": /***/ (function(module, exports, __webpack_require__) { var internalObjectKeys = __webpack_require__("ca84"); var enumBugKeys = __webpack_require__("7839"); var hiddenKeys = enumBugKeys.concat('length', 'prototype'); // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames // eslint-disable-next-line es/no-object-getownpropertynames -- safe exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return internalObjectKeys(O, hiddenKeys); }; /***/ }), /***/ "24fb": /***/ (function(module, exports, __webpack_require__) { "use strict"; /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader // eslint-disable-next-line func-names module.exports = function (useSourceMap) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item, useSourceMap); if (item[2]) { return "@media ".concat(item[2], " {").concat(content, "}"); } return content; }).join(''); }; // import a list of modules into the list // eslint-disable-next-line func-names list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === 'string') { // eslint-disable-next-line no-param-reassign modules = [[null, modules, '']]; } var alreadyImportedModules = {}; if (dedupe) { for (var i = 0; i < this.length; i++) { // eslint-disable-next-line prefer-destructuring var id = this[i][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _i = 0; _i < modules.length; _i++) { var item = [].concat(modules[_i]); if (dedupe && alreadyImportedModules[item[0]]) { // eslint-disable-next-line no-continue continue; } if (mediaQuery) { if (!item[2]) { item[2] = mediaQuery; } else { item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } } list.push(item); } }; return list; }; function cssWithMappingToString(item, useSourceMap) { var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring var cssMapping = item[3]; if (!cssMapping) { return content; } if (useSourceMap && typeof btoa === 'function') { var sourceMapping = toComment(cssMapping); var sourceURLs = cssMapping.sources.map(function (source) { return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */"); }); return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); } return [content].join('\n'); } // Adapted from convert-source-map (MIT) function toComment(sourceMap) { // eslint-disable-next-line no-undef var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); return "/*# ".concat(data, " */"); } /***/ }), /***/ "2d00": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); var userAgent = __webpack_require__("342f"); var process = global.process; var Deno = global.Deno; var versions = process && process.versions || Deno && Deno.version; var v8 = versions && versions.v8; var match, version; if (v8) { match = v8.split('.'); version = match[0] < 4 ? 1 : match[0] + match[1]; } else if (userAgent) { match = userAgent.match(/Edge\/(\d+)/); if (!match || match[1] >= 74) { match = userAgent.match(/Chrome\/(\d+)/); if (match) version = match[1]; } } module.exports = version && +version; /***/ }), /***/ "342f": /***/ (function(module, exports, __webpack_require__) { var getBuiltIn = __webpack_require__("d066"); module.exports = getBuiltIn('navigator', 'userAgent') || ''; /***/ }), /***/ "37e8": /***/ (function(module, exports, __webpack_require__) { var DESCRIPTORS = __webpack_require__("83ab"); var definePropertyModule = __webpack_require__("9bf2"); var anObject = __webpack_require__("825a"); var objectKeys = __webpack_require__("df75"); // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties // eslint-disable-next-line es/no-object-defineproperties -- safe module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = objectKeys(Properties); var length = keys.length; var index = 0; var key; while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); return O; }; /***/ }), /***/ "38ac": /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb"); var ___CSS_LOADER_AT_RULE_IMPORT_0___ = __webpack_require__("eea9"); var ___CSS_LOADER_AT_RULE_IMPORT_1___ = __webpack_require__("dd57"); exports = ___CSS_LOADER_API_IMPORT___(false); exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___); // Module exports.push([module.i, ".flexContentCenter[data-v-1b92d84c]{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.imageCenter[data-v-1b92d84c]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.image[data-v-1b92d84c]{background-repeat:no-repeat;background-size:contain;-webkit-animation:turn-data-v-1b92d84c 1.5s linear infinite;animation:turn-data-v-1b92d84c 1.5s linear infinite}.message[data-v-1b92d84c]{color:#fff;font-size:14.5px;word-break:break-all;white-space:pre-wrap}@-webkit-keyframes turn-data-v-1b92d84c{0%{-webkit-transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg)}to{-webkit-transform:rotate(1turn)}}@keyframes turn-data-v-1b92d84c{0%{-webkit-transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg)}to{-webkit-transform:rotate(1turn)}}", ""]); // Exports module.exports = exports; /***/ }), /***/ "39d2": /***/ (function(module, exports) { module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAw9JREFUeF7tm7uKFUEQhv8/EENBREEQDAQDL5FgYGJk4gUDXfAFTBbFxFh9AkF0wVdwEQNFMFLB1ETZTc1UWBF8gl9KZqAd5xz7Umdm9pzubNkzdfmqunpmqoZY8cUV9x8VQM2AkQhIug/gGoAdAO9J2t+Dr9G2gKS3AM43Hm+RPDm498B4NUCSQodJjhKMUZSa4xVAzYC6BXZvDWiOsIckf+VWbs8aIGk/gNs5R2lyEQwM/wrgDsnNHAheACRdB7AB4IDZkXqaJAFoIn+v4/BaDgQPAI3zzzr2PEjJhFQA+wBsAzhcCqEUwAznfwA4TvJnbFYmAWjOb0u5LnX7V1ImlACY4XyyDX+2TCyp8HceBuTeCnvo/usONAeARybkPAx5O5+dAS20RRg0KyCL0pW1BSK3w2WSr3IzrKPjHIAPPbKS6k6fLcUA5myH1yQvOgF4AeBq6cmzMAAzICSdx/NA9dx/FEe+1eeSAUFNOAvgFoBvJO96RD+Q/QjAXgCPSX72ku0KwMuoIeVUAEPSnqKumgFTjMqQNtUMGJL2FHX9kwHBQ8qJSIPfjdHZ8bKzD0DYsYlkgME7O53H6Ww7K4AuOq/Uig1J7u+87KynQG4EluW6mgHLEslcP2oG5JJblutqBnhHUpL1Dq1H6Tr0JMnmiW5M+pWYJGuZWevM1kuSVzwAS7pk8gJZ03spKukNgAuBkTskDzoBeArgZkeWCwSXGiDpO4BDHQM3SK47ATgF4FOPrGIIRQAkWbvcBh33dIzbJLnm4XwrY3KtMUlHANj7eYMQrijnd3VzVJJNddqe7w5KRDlvtHZte1zSaQDPARzLiXyQ0tlTYp7bIbkGdI661p/oyHsAaDJo1qTKGZIfY+tPDoAvAI4GCpKdbxzIzoD/FMZ1kjY1FrVyAIRncpbzXgCCTGjH5LaaWSUb5IpayQACpdYB7htaiFJcMiTVVdAOSgJ4QtKO5eiVBSBa+pwfegIosacCKKFXcm3NgPq9QP1eYOU/mlrtz+ZKCqjntaMdg55OlMiqAEroLcO1vwEXP5hQQ2kdjgAAAABJRU5ErkJggg==" /***/ }), /***/ "3a1b": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_toast_vue_vue_type_style_index_0_id_838e7d82_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8243"); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_toast_vue_vue_type_style_index_0_id_838e7d82_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_toast_vue_vue_type_style_index_0_id_838e7d82_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* unused harmony reexport * */ /***/ }), /***/ "3bbe": /***/ (function(module, exports, __webpack_require__) { var isCallable = __webpack_require__("1626"); module.exports = function (argument) { if (typeof argument === 'object' || isCallable(argument)) return argument; throw TypeError("Can't set " + String(argument) + ' as a prototype'); }; /***/ }), /***/ "408a": /***/ (function(module, exports) { var valueOf = 1.0.valueOf; // `thisNumberValue` abstract operation // https://tc39.es/ecma262/#sec-thisnumbervalue module.exports = function (value) { return valueOf.call(value); }; /***/ }), /***/ "4119": /***/ (function(module, exports, __webpack_require__) { // Imports var ___CSS_LOADER_API_IMPORT___ = __webpack_require__("24fb"); var ___CSS_LOADER_AT_RULE_IMPORT_0___ = __webpack_require__("eea9"); var ___CSS_LOADER_AT_RULE_IMPORT_1___ = __webpack_require__("8c90"); exports = ___CSS_LOADER_API_IMPORT___(false); exports.i(___CSS_LOADER_AT_RULE_IMPORT_0___); exports.i(___CSS_LOADER_AT_RULE_IMPORT_1___); // Module exports.push([module.i, ".jj-popup[data-v-4dd086c9]{display:flex;flex-direction:column}", ""]); // Exports module.exports = exports; /***/ }), /***/ "428f": /***/ (function(module, exports, __webpack_require__) { var global = __webpack_require__("da84"); module.exports = global; /***/ }), /***/ "44ad": /***/ (function(module, exports, __webpack_require__) { var fails = __webpack_require__("d039"); var classof = __webpack_require__("c6b6"); var split = ''.split; // fallback for non-array-like ES3 and non-enumerable old V8 strings module.exports = fails(function () { // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 // eslint-disable-next-line no-prototype-builtins -- safe return !Object('z').propertyIsEnumerable(0); }) ? function (it) { return classof(it) == 'String' ? split.call(it, '') : Object(it); } : Object; /***/ }), /***/ "485a": /***/ (function(module, exports, __webpack_require__) { var isCallable = __webpack_require__("1626"); var isObject = __webpack_require__("861d"); // `OrdinaryToPrimitive` abstract operation // https://tc39.es/ecma262/#sec-ordinarytoprimitive module.exports = function (input, pref) { var fn, val; if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val; if (isCallable(fn = input.valueOf) && !isObject(val = fn.call(input))) return val; if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val; throw TypeError("Can't convert object to primitive value"); }; /***/ }), /***/ "4930": /***/ (function(module, exports, __webpack_require__) { /* eslint-disable es/no-symbol -- required for testing */ var V8_VERSION = __webpack_require__("2d00"); var fails = __webpack_require__("d039"); // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing module.exports = !!Object.getOwnPropertySymbols && !fails(function () { var symbol = Symbol(); // Chrome 38 Symbol has incorrect toString conversion // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances return !String(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances !Symbol.sham && V8_VERSION && V8_VERSION < 41; }); /***/ }), /***/ "4982": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_alert_vue_vue_type_style_index_0_id_8f9fed9e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5246"); /* harmony import */ var _node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_alert_vue_vue_type_style_index_0_id_8f9fed9e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_jj_alert_vue_vue_type_style_index_0_id_8f9fed9e_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* unused harmony reexport * */ /***/ }), /***/ "499e": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesClient; }); // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something * easier to manipulate. */ function listToStyles (parentId, list) { var styles = [] var newStyles = {} for (var i = 0; i < list.length; i++) { var item = list[i] var id = item[0] var css = item[1] var media = item[2] var sourceMap = item[3] var part = { id: parentId + ':' + i, css: css, media: media, sourceMap: sourceMap } if (!newStyles[id]) { styles.push(newStyles[id] = { id: id, parts: [part] }) } else { newStyles[id].parts.push(part) } } return styles } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra Modified by Evan You @yyx990803 */ var hasDocument = typeof document !== 'undefined' if (typeof DEBUG !== 'undefined' && DEBUG) { if (!hasDocument) { throw new Error( 'vue-style-loader cannot be used in a non-browser environment. ' + "Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." ) } } /* type StyleObject = { id: number; parts: Array } type StyleObjectPart = { css: string; media: string; sourceMap: ?string } */ var stylesInDom = {/* [id: number]: { id: number, refs: number, parts: Array<(obj?: StyleObjectPart) => void> } */} var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) var singletonElement = null var singletonCounter = 0 var isProduction = false var noop = function () {} var options = null var ssrIdKey = 'data-vue-ssr-id' // Force single-tag solution on IE6-9, which has a hard limit on the # of ================================================ FILE: src/components/example.vue ================================================ ================================================ FILE: src/jj-messagebox/alert/index.js ================================================ import Vue from 'vue'; import alert from './jj-alert.vue'; let jjAlert = Vue.extend(alert); //创建vm实例的构造函数 let jj_alert_instance = null let jj_alert_close = function(){ let alertElement = document.getElementById('jj-alert-id') if (alertElement) { //移除已有的alert框 alertElement.remove() } } let jj_alert = function(alertData,message,btnTitle) { const data = getData(alertData,message,btnTitle) if(!(alertData === undefined || alertData === null) && alertData.constructor === Object){ if(data.isClose === true && jj_alert_instance!==null){ //调用该方法,有动画消失的效果 jj_alert_instance.close() return jj_alert_instance } } //移除已有的弹框 jj_alert_close() let instance = new jjAlert({ data }) /* 定义一个installed变量,该变量为true,再将alert进行挂载,因为第一次触发该install函数, 是Vue.prototype.$jj_alert = JJAlert.install赋值就触发,这个赋值操作不需要显示弹窗,所以installed变量来控制 注意⚠️:每次调用this.$jj_alert都会触发该方法 */ if (jjAlert.installed) { instance.$mount() document.body.appendChild(instance.$el) } jj_alert_instance = instance jjAlert.installed = true return instance } export let getData = function(alertData,message,btnTitle){ let data = {} const isAlertDataNull = (alertData === undefined || alertData === null) const isMessageNull = (message === undefined || message === null) const isBtnTitileNull = (btnTitle === undefined || btnTitle === null) if(isAlertDataNull&&isMessageNull&&isBtnTitileNull){ return {} }else{ if (!isAlertDataNull){ if (alertData.constructor === Object) { data = { ...alertData } return data }else{ data['title'] = alertData+'' } } if(!isMessageNull){ data['message'] = message + '' } if(!isBtnTitileNull){ data['btns'] = [{ 'title':btnTitle }] } } return data } jjAlert.install = function(data) { return jj_alert(data) } Vue.prototype.$jj_alert = jj_alert export default jjAlert ================================================ FILE: src/jj-messagebox/alert/jj-alert.vue ================================================ ================================================ FILE: src/jj-messagebox/dialog/index.js ================================================ import dialog from "./jj-dialog.vue" dialog.install = function(Vue){ Vue.component(dialog.name,dialog) } export default dialog ================================================ FILE: src/jj-messagebox/dialog/jj-dialog.vue ================================================ ================================================ FILE: src/jj-messagebox/index.js ================================================ import jjDialog from "./dialog/index.js" import jjAlert from "./alert/index.js" import jjLoading from './loading/index.js' import jjToast from './toast/index.js' import jjPopup from './popup/index.js' // 组件集合,用于遍历 const components = [jjDialog,jjPopup]; // console.log({ // components // }); let messagebox = {} // install 方法 messagebox.install = function(Vue) { if (messagebox.install.installed) return; messagebox.install.installed = true //使用JJAlert插件 Vue.use(jjAlert) Vue.use(jjLoading) Vue.use(jjToast) // console.log('------------') // 遍历注册全局组件 components.map((component) => Vue.component(component.name, component)); }; // 判断是否是直接引入文件 if (typeof window !== "undefined" && window.Vue) { messagebox.install(window.Vue); } export { jjAlert, jjLoading, jjToast, jjDialog, jjPopup, }; export default messagebox ================================================ FILE: src/jj-messagebox/jj-fadelog.css ================================================ /*弹层动画(从上往下)*/ /* .fadeIn { -webkit-animation: fadeInDown .3s; animation: fadeInDown .3s; } @keyframes fadeInDown { 0% { transform: translate3d(0, -20%, 0); opacity: 0; } 100% { transform: none; opacity: 1; } } @-webkit-keyframes fadeInDown { 0% { -webkit-transform: translate3d(0, -20%, 0); opacity: 0; } 100% { -webkit-transform: none; opacity: 1; } } */ /*弹层动画(从下往上出现)*/ .fadelogIn { -webkit-animation: fadelogIn .25s; animation: fadelogIn .25s; } @keyframes fadelogIn { 0% { transform: translate3d(0, 100%, 0); } 100% { transform: none; } } @-webkit-keyframes fadelogIn { 0% { -webkit-transform: translate3d(0, 100%, 0); } 100% { -webkit-transform: none; } } /*弹层动画(从上往下消失)*/ .fadelogOut { -webkit-animation: fadelogOut .25s; animation: fadelogOut .25s; /* 保留动画结束后的样子 */ animation-fill-mode: forwards; } @keyframes fadelogOut { 0% { transform: none; } 100% { transform: translate3d(0, 100%, 0); } } @-webkit-keyframes fadelogOut { 0% { -webkit-transform: none; } 100% { -webkit-transform: translate3d(0, 100%, 0); } } ================================================ FILE: src/jj-messagebox/jj-messagebox.css ================================================ .messagebox-shade { width: 100%; height: 100%; position: fixed; bottom: 0; right: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 999; display: flex; align-items: center; justify-content: center; } .messagebox-main { display: flex; flex-direction: column; position: relative; background: white; width: 80%; border-radius: 5px; overflow: hidden; box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.04); box-sizing: border-box; background-repeat: no-repeat; background-size: cover; background-attachment: fixed; } .background-content { display: flex; flex-direction: column; position: absolute; width: 100%; height: 100%; top: 0; left: 0; } .messagebox-content { box-sizing: border-box; width: 100%; padding: 20px; display: flex; flex-direction: column; position: relative; white-space: pre-wrap; } .rightTopClose { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 32px; height: 32px; position: absolute; top: 3px; right: 5px; } .closeImage { height: 15px; width: 15px; background: url(./static/jj_close_icon.png); background-repeat: no-repeat; background-size: contain; } .fadelogOutOpcity{ -webkit-transition: all 1.5s; -moz-transition: all 1.5s; -ms-transition: all 1.5s; -o-transition: all 1.5s; transition: all 1.5s; opacity: 0; } ================================================ FILE: src/jj-messagebox/jj-pop.css ================================================ /*弹层动画(放大)*/ .popIn { -webkit-animation: popIn .25s; animation: popIn .25s; } @-webkit-keyframes popIn { 0% { -webkit-transform: scale3d(0, 0, 0); opacity: 0; } 50% { -webkit-animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); } 100% { -webkit-transform: scale3d(1, 1, 1); -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); opacity: 1; } } @keyframes popIn { 0% { transform: scale3d(0.2, 0.2, 0.2); opacity: 0; } 50% { animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); } 100% { transform: scale3d(1, 1, 1); animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); opacity: 1; } } /*弹层动画(缩小)*/ .popOut { -webkit-animation: popOut .25s; animation: popOut .25s; /* 保留动画结束后的样子 */ animation-fill-mode: forwards; } @-webkit-keyframes popOut { 0% { -webkit-transform: scale3d(1, 1, 1); opacity: 1; } 50% { -webkit-animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); } 100% { -webkit-transform: scale3d(0, 0, 0); opacity: 0; } } @keyframes popOut { 0% { transform: scale3d(1, 1, 1); opacity: 1; } 50% { animation-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); } 100% { transform: scale3d(0, 0, 0);; opacity: 0; } } ================================================ FILE: src/jj-messagebox/loading/index.js ================================================ import Vue from 'vue'; import loading from './jj-loading.vue'; let jjLoading = Vue.extend(loading); //创建vm实例的构造函数 let jj_loading_close = function() { let loadingElement = document.getElementById('jj-loading-id') if (loadingElement) { //移除已有的加载框 loadingElement.remove() } } export let getData = function(loadingData) { let data = {} let isLoadingData = loadingData === undefined || loadingData === null if (!isLoadingData){ if (loadingData.constructor === Object) { if (loadingData.isClose === true) { return null } data = { ...loadingData } } else { data = { "message": loadingData + '', } } } return data } let jj_loading = function(loadingData) { let data = getData(loadingData) if (data === null) { //移除已有的弹框 jj_loading_close() return } //移除已有的弹框 jj_loading_close() let instance = new jjLoading({ data }) /* 定义一个installed变量,该变量为true,再将alert进行挂载,因为第一次触发该install函数, 是Vue.prototype.$jj_loading = jjLoading.install赋值就触发,这个赋值操作不需要显示弹窗,所以installed变量来控制 注意⚠️:每次调用this.$jj_loading都会触发该方法 */ if (jjLoading.installed) { instance.$mount() document.body.appendChild(instance.$el) } jjLoading.installed = true return instance } jjLoading.install = function(data) { return jj_loading(data) } Vue.prototype.$jj_loading = jj_loading export default jjLoading ================================================ FILE: src/jj-messagebox/loading/jj-loading.vue ================================================ ================================================ FILE: src/jj-messagebox/popup/index.js ================================================ import popup from "./jj-popup.vue" popup.install = function(Vue){ Vue.component(popup.name,popup) } export default popup ================================================ FILE: src/jj-messagebox/popup/jj-popup.vue ================================================ ================================================ FILE: src/jj-messagebox/toast/index.js ================================================ import Vue from 'vue'; import toast from './jj-toast.vue'; let jjToast = Vue.extend(toast); //创建vm实例的构造函数 let getData = function(toastData,type,duration){ let data = {} const isToastDataNull = (toastData === undefined || toastData === null) const isTypeNull = (type === undefined || type === null) const isDurationNull = (duration === undefined || duration === null) if(isToastDataNull&&isTypeNull&&isDurationNull){ return {} }else{ if (!isToastDataNull){ if (toastData.constructor === Object) { data = { ...toastData } return data }else{ data['message'] = toastData+'' } } if(!isTypeNull){ data['type'] = type + '' } if(!isDurationNull){ if (duration.constructor === Number){ data["duration"] = duration } } } return data } let jj_toast_close = function(){ let toastElement = document.getElementById('jj-toast-id') if (toastElement) { if (jjToast.jj_time) { clearTimeout(jjToast.jj_time) } //移除已有的加载框 toastElement.remove() } } let jj_toast = function(toastData,type,duration) { let data = getData(toastData,type,duration) //移除已有的加载框 jj_toast_close() let instance = new jjToast({ data }) /* 定义一个installed变量,该变量为true,再将alert进行挂载,因为第一次触发该install函数, 是Vue.prototype.$jj_toast = jjToast.install赋值就触发,这个赋值操作不需要显示弹窗,所以installed变量来控制 注意⚠️:每次调用this.$jj_toast都会触发该方法 */ if (jjToast.installed) { if (data.isClose === true || data.duration === 0){ //移除已有的加载框 jj_toast_close() return instance } instance.$mount() document.body.appendChild(instance.$el) if (data.duration > 0){ jjToast.jj_time = setTimeout(function() { jjToast.jj_time = null instance.close() }, data.duration * 1000) } } jjToast.installed = true return instance } jjToast.install = function(data) { return jj_toast(data) } Vue.prototype.$jj_toast = jj_toast export default jjToast ================================================ FILE: src/jj-messagebox/toast/jj-toast.vue ================================================ ================================================ FILE: src/main.js ================================================ import Vue from 'vue' import App from './App.vue' import jj_messagebox from './jj-messagebox/index.js' Vue.use(jj_messagebox) Vue.config.productionTip = false new Vue({ render: h => h(App), }).$mount('#app')