overseas 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/README.md +12 -0
  2. package/lib/base/bottom-popup.js +550 -0
  3. package/lib/base/button.js +400 -0
  4. package/lib/base/dialog.js +979 -0
  5. package/lib/base/icon.js +273 -0
  6. package/lib/base/image.js +309 -0
  7. package/lib/base/material-list.js +357 -0
  8. package/lib/base/popup.js +364 -0
  9. package/lib/business/basic-image.js +325 -0
  10. package/lib/business/bottom-fixed-button.js +350 -0
  11. package/lib/business/class-choose.js +1717 -0
  12. package/lib/business/grade-panel.js +683 -0
  13. package/lib/business/material-panel.js +778 -0
  14. package/lib/business/notified-panel.js +2141 -0
  15. package/lib/business/page-render.js +364 -0
  16. package/lib/business/registration-panel.js +1071 -0
  17. package/lib/business/selector-panel.js +667 -0
  18. package/lib/business/student-info.js +1172 -0
  19. package/lib/business/switch-student.js +1407 -0
  20. package/lib/business/tips-popup.js +626 -0
  21. package/lib/business/user-login.js +816 -0
  22. package/lib/index.js +1 -0
  23. package/lib/network/api.js +64 -0
  24. package/lib/network/apiUrl.js +68 -0
  25. package/lib/overseas-ui.common.js +8771 -0
  26. package/lib/static/logo.b6015b3.png +0 -0
  27. package/lib/static/logo.b6015b30.png +0 -0
  28. package/lib/theme-style/bottom-fixed-button.css +1 -0
  29. package/lib/theme-style/bottom-popup.css +1 -0
  30. package/lib/theme-style/button.css +1 -0
  31. package/lib/theme-style/class-choose.css +1 -0
  32. package/lib/theme-style/common.css +1 -0
  33. package/lib/theme-style/dialog.css +1 -0
  34. package/lib/theme-style/grade-panel.css +1 -0
  35. package/lib/theme-style/icon.css +1 -0
  36. package/lib/theme-style/image.css +1 -0
  37. package/lib/theme-style/img/body_bg.png +0 -0
  38. package/lib/theme-style/img/pdf.png +0 -0
  39. package/lib/theme-style/img/title_bg.png +0 -0
  40. package/lib/theme-style/index.css +1 -0
  41. package/lib/theme-style/material-list.css +1 -0
  42. package/lib/theme-style/material-panel.css +1 -0
  43. package/lib/theme-style/notified-panel.css +1 -0
  44. package/lib/theme-style/page-render.css +1 -0
  45. package/lib/theme-style/registration-panel.css +1 -0
  46. package/lib/theme-style/selector-panel.css +1 -0
  47. package/lib/theme-style/student-info.css +1 -0
  48. package/lib/theme-style/switch-student.css +1 -0
  49. package/lib/theme-style/tips-popup.css +1 -0
  50. package/lib/theme-style/user-login.css +1 -0
  51. package/lib/utils/dom.js +60 -0
  52. package/lib/utils/filters.js +87 -0
  53. package/lib/utils/merge.js +19 -0
  54. package/lib/utils/phone.js +156 -0
  55. package/lib/utils/popup/index.js +132 -0
  56. package/lib/utils/popup/popup-manager.js +198 -0
  57. package/lib/utils/storage.js +27 -0
  58. package/lib/utils/utils.js +65 -0
  59. package/package.json +80 -0
  60. package/packages/.DS_Store +0 -0
  61. package/packages/base/bottom-popup/index.js +10 -0
  62. package/packages/base/bottom-popup/src/bottom-popup.vue +151 -0
  63. package/packages/base/button/index.js +10 -0
  64. package/packages/base/button/src/button.vue +108 -0
  65. package/packages/base/dialog/index.js +10 -0
  66. package/packages/base/dialog/src/dialog.vue +173 -0
  67. package/packages/base/icon/index.js +10 -0
  68. package/packages/base/icon/src/icon.vue +15 -0
  69. package/packages/base/image/index.js +10 -0
  70. package/packages/base/image/src/image.vue +40 -0
  71. package/packages/base/material-list/index.js +10 -0
  72. package/packages/base/material-list/src/material-list.vue +48 -0
  73. package/packages/base/popup/index.js +10 -0
  74. package/packages/base/popup/src/popup.vue +44 -0
  75. package/packages/business/basic-image/index.js +10 -0
  76. package/packages/business/basic-image/src/basicImage.vue +51 -0
  77. package/packages/business/bottom-fixed-button/index.js +10 -0
  78. package/packages/business/bottom-fixed-button/src/bottomFixedButton.vue +66 -0
  79. package/packages/business/class-choose/index.js +10 -0
  80. package/packages/business/class-choose/src/courseCard.vue +142 -0
  81. package/packages/business/class-choose/src/img/icon_close_bottomcard.svg +14 -0
  82. package/packages/business/class-choose/src/img/icon_date.svg +21 -0
  83. package/packages/business/class-choose/src/img/icon_full.svg +27 -0
  84. package/packages/business/class-choose/src/img/icon_full_EL.svg +49 -0
  85. package/packages/business/class-choose/src/img/icon_selected.svg +18 -0
  86. package/packages/business/class-choose/src/img/icon_star_selected.svg +13 -0
  87. package/packages/business/class-choose/src/img/icon_star_unselect.svg +13 -0
  88. package/packages/business/class-choose/src/index.vue +316 -0
  89. package/packages/business/grade-panel/index.js +10 -0
  90. package/packages/business/grade-panel/src/gradePanel.vue +150 -0
  91. package/packages/business/material-panel/index.js +10 -0
  92. package/packages/business/material-panel/src/index.vue +136 -0
  93. package/packages/business/notified-panel/index.js +10 -0
  94. package/packages/business/notified-panel/src/areaCodeList.js +181 -0
  95. package/packages/business/notified-panel/src/index.vue +491 -0
  96. package/packages/business/page-render/index.js +10 -0
  97. package/packages/business/page-render/src/pageRender.vue +73 -0
  98. package/packages/business/registration-panel/index.js +10 -0
  99. package/packages/business/registration-panel/src/areaCodeList.js +181 -0
  100. package/packages/business/registration-panel/src/img/icon_off.png +0 -0
  101. package/packages/business/registration-panel/src/img/icon_on.png +0 -0
  102. package/packages/business/registration-panel/src/index.vue +329 -0
  103. package/packages/business/registration-panel/src/languageList.js +41 -0
  104. package/packages/business/selector-panel/index.js +10 -0
  105. package/packages/business/selector-panel/src/selectorPanel.vue +134 -0
  106. package/packages/business/student-info/index.js +10 -0
  107. package/packages/business/student-info/src/api/index.js +10 -0
  108. package/packages/business/student-info/src/config.js +11 -0
  109. package/packages/business/student-info/src/studentInfo.vue +145 -0
  110. package/packages/business/switch-student/index.js +10 -0
  111. package/packages/business/switch-student/src/api/index.js +28 -0
  112. package/packages/business/switch-student/src/switchStudent.vue +245 -0
  113. package/packages/business/tips-popup/index.js +10 -0
  114. package/packages/business/tips-popup/src/tipsPopup.vue +76 -0
  115. package/packages/business/user-login/index.js +10 -0
  116. package/packages/business/user-login/src/api/index.js +23 -0
  117. package/packages/business/user-login/src/img/logo.png +0 -0
  118. package/packages/business/user-login/src/index.vue +149 -0
  119. package/packages/theme-style/lib/bottom-fixed-button.css +1 -0
  120. package/packages/theme-style/lib/bottom-popup.css +1 -0
  121. package/packages/theme-style/lib/button.css +1 -0
  122. package/packages/theme-style/lib/class-choose.css +1 -0
  123. package/packages/theme-style/lib/common.css +1 -0
  124. package/packages/theme-style/lib/dialog.css +1 -0
  125. package/packages/theme-style/lib/grade-panel.css +1 -0
  126. package/packages/theme-style/lib/icon.css +1 -0
  127. package/packages/theme-style/lib/image.css +1 -0
  128. package/packages/theme-style/lib/img/body_bg.png +0 -0
  129. package/packages/theme-style/lib/img/pdf.png +0 -0
  130. package/packages/theme-style/lib/img/title_bg.png +0 -0
  131. package/packages/theme-style/lib/index.css +1 -0
  132. package/packages/theme-style/lib/material-list.css +1 -0
  133. package/packages/theme-style/lib/material-panel.css +1 -0
  134. package/packages/theme-style/lib/notified-panel.css +1 -0
  135. package/packages/theme-style/lib/page-render.css +1 -0
  136. package/packages/theme-style/lib/registration-panel.css +1 -0
  137. package/packages/theme-style/lib/selector-panel.css +1 -0
  138. package/packages/theme-style/lib/student-info.css +1 -0
  139. package/packages/theme-style/lib/switch-student.css +1 -0
  140. package/packages/theme-style/lib/tips-popup.css +1 -0
  141. package/packages/theme-style/lib/user-login.css +1 -0
  142. package/packages/theme-style/package.json +38 -0
  143. package/packages/theme-style/src/bottom-fixed-button.scss +31 -0
  144. package/packages/theme-style/src/bottom-popup.scss +87 -0
  145. package/packages/theme-style/src/button.scss +110 -0
  146. package/packages/theme-style/src/class-choose.scss +251 -0
  147. package/packages/theme-style/src/common/popup.scss +39 -0
  148. package/packages/theme-style/src/common/var.scss +6 -0
  149. package/packages/theme-style/src/common.scss +97 -0
  150. package/packages/theme-style/src/dialog.scss +130 -0
  151. package/packages/theme-style/src/grade-panel.scss +76 -0
  152. package/packages/theme-style/src/icon.scss +369 -0
  153. package/packages/theme-style/src/image.scss +8 -0
  154. package/packages/theme-style/src/img/body_bg.png +0 -0
  155. package/packages/theme-style/src/img/pdf.png +0 -0
  156. package/packages/theme-style/src/img/title_bg.png +0 -0
  157. package/packages/theme-style/src/index.scss +20 -0
  158. package/packages/theme-style/src/material-list.scss +118 -0
  159. package/packages/theme-style/src/material-panel.scss +2 -0
  160. package/packages/theme-style/src/notified-panel.scss +207 -0
  161. package/packages/theme-style/src/page-render.scss +3 -0
  162. package/packages/theme-style/src/registration-panel.scss +158 -0
  163. package/packages/theme-style/src/selector-panel.scss +86 -0
  164. package/packages/theme-style/src/student-info.scss +114 -0
  165. package/packages/theme-style/src/switch-student.scss +176 -0
  166. package/packages/theme-style/src/tips-popup.scss +60 -0
  167. package/packages/theme-style/src/user-login.scss +93 -0
  168. package/src/index.js +74 -0
  169. package/src/network/api.js +53 -0
  170. package/src/network/apiUrl.js +65 -0
  171. package/src/utils/dom.js +54 -0
  172. package/src/utils/filters.js +82 -0
  173. package/src/utils/merge.js +16 -0
  174. package/src/utils/phone.js +153 -0
  175. package/src/utils/popup/index.js +115 -0
  176. package/src/utils/popup/popup-manager.js +178 -0
  177. package/src/utils/storage.js +22 -0
  178. package/src/utils/utils.js +49 -0
@@ -0,0 +1,979 @@
1
+ module.exports =
2
+ /******/ (function(modules) { // webpackBootstrap
3
+ /******/ // The module cache
4
+ /******/ var installedModules = {};
5
+ /******/
6
+ /******/ // The require function
7
+ /******/ function __webpack_require__(moduleId) {
8
+ /******/
9
+ /******/ // Check if module is in cache
10
+ /******/ if(installedModules[moduleId]) {
11
+ /******/ return installedModules[moduleId].exports;
12
+ /******/ }
13
+ /******/ // Create a new module (and put it into the cache)
14
+ /******/ var module = installedModules[moduleId] = {
15
+ /******/ i: moduleId,
16
+ /******/ l: false,
17
+ /******/ exports: {}
18
+ /******/ };
19
+ /******/
20
+ /******/ // Execute the module function
21
+ /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
+ /******/
23
+ /******/ // Flag the module as loaded
24
+ /******/ module.l = true;
25
+ /******/
26
+ /******/ // Return the exports of the module
27
+ /******/ return module.exports;
28
+ /******/ }
29
+ /******/
30
+ /******/
31
+ /******/ // expose the modules object (__webpack_modules__)
32
+ /******/ __webpack_require__.m = modules;
33
+ /******/
34
+ /******/ // expose the module cache
35
+ /******/ __webpack_require__.c = installedModules;
36
+ /******/
37
+ /******/ // define getter function for harmony exports
38
+ /******/ __webpack_require__.d = function(exports, name, getter) {
39
+ /******/ if(!__webpack_require__.o(exports, name)) {
40
+ /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
+ /******/ }
42
+ /******/ };
43
+ /******/
44
+ /******/ // define __esModule on exports
45
+ /******/ __webpack_require__.r = function(exports) {
46
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
+ /******/ }
49
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
+ /******/ };
51
+ /******/
52
+ /******/ // create a fake namespace object
53
+ /******/ // mode & 1: value is a module id, require it
54
+ /******/ // mode & 2: merge all properties of value into the ns
55
+ /******/ // mode & 4: return value when already ns object
56
+ /******/ // mode & 8|1: behave like require
57
+ /******/ __webpack_require__.t = function(value, mode) {
58
+ /******/ if(mode & 1) value = __webpack_require__(value);
59
+ /******/ if(mode & 8) return value;
60
+ /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
+ /******/ var ns = Object.create(null);
62
+ /******/ __webpack_require__.r(ns);
63
+ /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
+ /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
+ /******/ return ns;
66
+ /******/ };
67
+ /******/
68
+ /******/ // getDefaultExport function for compatibility with non-harmony modules
69
+ /******/ __webpack_require__.n = function(module) {
70
+ /******/ var getter = module && module.__esModule ?
71
+ /******/ function getDefault() { return module['default']; } :
72
+ /******/ function getModuleExports() { return module; };
73
+ /******/ __webpack_require__.d(getter, 'a', getter);
74
+ /******/ return getter;
75
+ /******/ };
76
+ /******/
77
+ /******/ // Object.prototype.hasOwnProperty.call
78
+ /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
+ /******/
80
+ /******/ // __webpack_public_path__
81
+ /******/ __webpack_require__.p = "/dist/";
82
+ /******/
83
+ /******/
84
+ /******/ // Load entry module and return exports
85
+ /******/ return __webpack_require__(__webpack_require__.s = 33);
86
+ /******/ })
87
+ /************************************************************************/
88
+ /******/ ({
89
+
90
+ /***/ 0:
91
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
92
+
93
+ "use strict";
94
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
95
+ /* globals __VUE_SSR_CONTEXT__ */
96
+
97
+ // IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
98
+ // This module is a runtime utility for cleaner component module output and will
99
+ // be included in the final webpack user bundle.
100
+
101
+ function normalizeComponent (
102
+ scriptExports,
103
+ render,
104
+ staticRenderFns,
105
+ functionalTemplate,
106
+ injectStyles,
107
+ scopeId,
108
+ moduleIdentifier, /* server only */
109
+ shadowMode /* vue-cli only */
110
+ ) {
111
+ // Vue.extend constructor export interop
112
+ var options = typeof scriptExports === 'function'
113
+ ? scriptExports.options
114
+ : scriptExports
115
+
116
+ // render functions
117
+ if (render) {
118
+ options.render = render
119
+ options.staticRenderFns = staticRenderFns
120
+ options._compiled = true
121
+ }
122
+
123
+ // functional template
124
+ if (functionalTemplate) {
125
+ options.functional = true
126
+ }
127
+
128
+ // scopedId
129
+ if (scopeId) {
130
+ options._scopeId = 'data-v-' + scopeId
131
+ }
132
+
133
+ var hook
134
+ if (moduleIdentifier) { // server build
135
+ hook = function (context) {
136
+ // 2.3 injection
137
+ context =
138
+ context || // cached call
139
+ (this.$vnode && this.$vnode.ssrContext) || // stateful
140
+ (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
141
+ // 2.2 with runInNewContext: true
142
+ if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
143
+ context = __VUE_SSR_CONTEXT__
144
+ }
145
+ // inject component styles
146
+ if (injectStyles) {
147
+ injectStyles.call(this, context)
148
+ }
149
+ // register component module identifier for async chunk inferrence
150
+ if (context && context._registeredComponents) {
151
+ context._registeredComponents.add(moduleIdentifier)
152
+ }
153
+ }
154
+ // used by ssr in case component is cached and beforeCreate
155
+ // never gets called
156
+ options._ssrRegister = hook
157
+ } else if (injectStyles) {
158
+ hook = shadowMode
159
+ ? function () {
160
+ injectStyles.call(
161
+ this,
162
+ (options.functional ? this.parent : this).$root.$options.shadowRoot
163
+ )
164
+ }
165
+ : injectStyles
166
+ }
167
+
168
+ if (hook) {
169
+ if (options.functional) {
170
+ // for template-only hot-reload because in that case the render fn doesn't
171
+ // go through the normalizer
172
+ options._injectStyles = hook
173
+ // register for functional component in vue file
174
+ var originalRender = options.render
175
+ options.render = function renderWithStyleInjection (h, context) {
176
+ hook.call(context)
177
+ return originalRender(h, context)
178
+ }
179
+ } else {
180
+ // inject component registration as beforeCreate hook
181
+ var existing = options.beforeCreate
182
+ options.beforeCreate = existing
183
+ ? [].concat(existing, hook)
184
+ : [hook]
185
+ }
186
+ }
187
+
188
+ return {
189
+ exports: scriptExports,
190
+ options: options
191
+ }
192
+ }
193
+
194
+
195
+ /***/ }),
196
+
197
+ /***/ 12:
198
+ /***/ (function(module, exports) {
199
+
200
+ module.exports = require("vue");
201
+
202
+ /***/ }),
203
+
204
+ /***/ 33:
205
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
206
+
207
+ "use strict";
208
+ __webpack_require__.r(__webpack_exports__);
209
+
210
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/base/dialog/src/dialog.vue?vue&type=template&id=dec5e300&
211
+ var render = function () {
212
+ var _vm = this
213
+ var _h = _vm.$createElement
214
+ var _c = _vm._self._c || _h
215
+ return _c("transition", { attrs: { name: "dialog-fade" } }, [
216
+ _c(
217
+ "div",
218
+ {
219
+ directives: [
220
+ {
221
+ name: "show",
222
+ rawName: "v-show",
223
+ value: _vm.visible,
224
+ expression: "visible",
225
+ },
226
+ ],
227
+ staticClass: "ts-dialog-wrapper",
228
+ on: {
229
+ click: function ($event) {
230
+ if ($event.target !== $event.currentTarget) {
231
+ return null
232
+ }
233
+ return _vm.handleWrapperClick.apply(null, arguments)
234
+ },
235
+ },
236
+ },
237
+ [
238
+ _c(
239
+ "div",
240
+ {
241
+ key: _vm.key,
242
+ ref: "dialog",
243
+ class: [
244
+ "ts-dialog",
245
+ { "is-center": _vm.center },
246
+ { "is-round": _vm.isRound },
247
+ ],
248
+ style: { width: _vm.width },
249
+ attrs: {
250
+ role: "dialog",
251
+ "aria-modal": "true",
252
+ "aria-label": _vm.title || "dialog",
253
+ },
254
+ },
255
+ [
256
+ _c(
257
+ "div",
258
+ {
259
+ staticClass: "ts-dialog__header",
260
+ style: { "background-color": _vm.headerBg },
261
+ },
262
+ [
263
+ _vm._t("header", function () {
264
+ return [
265
+ _c("div", { staticClass: "ts-normal-header-container" }, [
266
+ _vm.showLeftIcon
267
+ ? _c(
268
+ "div",
269
+ { staticClass: "ts-header-left-container" },
270
+ [
271
+ _vm._t("left-icon", function () {
272
+ return [
273
+ _c(
274
+ "div",
275
+ {
276
+ staticClass:
277
+ "ts-header-icon-btn-container",
278
+ on: { click: _vm.leftIconHandler },
279
+ },
280
+ [
281
+ _c("i", {
282
+ staticClass:
283
+ "iconfont icon-close-new-e658",
284
+ }),
285
+ ]
286
+ ),
287
+ ]
288
+ }),
289
+ ],
290
+ 2
291
+ )
292
+ : _vm._e(),
293
+ _c(
294
+ "div",
295
+ { staticClass: "ts-title-container" },
296
+ [
297
+ _vm._t("header-title", function () {
298
+ return [
299
+ _c(
300
+ "div",
301
+ { staticClass: "title font-semibold" },
302
+ [
303
+ _vm._v(
304
+ "\n " +
305
+ _vm._s(_vm.title) +
306
+ "\n "
307
+ ),
308
+ ]
309
+ ),
310
+ ]
311
+ }),
312
+ ],
313
+ 2
314
+ ),
315
+ _vm.showRightIcon
316
+ ? _c(
317
+ "div",
318
+ { staticClass: "ts-header-right-container" },
319
+ [
320
+ _vm._t("right-icon", function () {
321
+ return [
322
+ _c(
323
+ "div",
324
+ {
325
+ staticClass:
326
+ "ts-header-icon-btn-container success-icon-container",
327
+ on: { click: _vm.rightIconHandler },
328
+ },
329
+ [
330
+ _c("i", {
331
+ staticClass: "iconfont icon-success",
332
+ }),
333
+ ]
334
+ ),
335
+ ]
336
+ }),
337
+ ],
338
+ 2
339
+ )
340
+ : _vm._e(),
341
+ ]),
342
+ _vm._t("header-bottom"),
343
+ ]
344
+ }),
345
+ ],
346
+ 2
347
+ ),
348
+ _c(
349
+ "div",
350
+ {
351
+ staticClass: "ts-dialog__body",
352
+ style: { "background-color": _vm.bodyBg },
353
+ },
354
+ [_vm._t("body")],
355
+ 2
356
+ ),
357
+ _c(
358
+ "div",
359
+ { staticClass: "ts-dialog__footer" },
360
+ [_vm._t("footer")],
361
+ 2
362
+ ),
363
+ ]
364
+ ),
365
+ ]
366
+ ),
367
+ ])
368
+ }
369
+ var staticRenderFns = []
370
+ render._withStripped = true
371
+
372
+
373
+ // CONCATENATED MODULE: ./packages/base/dialog/src/dialog.vue?vue&type=template&id=dec5e300&
374
+
375
+ // EXTERNAL MODULE: external "vue"
376
+ var external_vue_ = __webpack_require__(12);
377
+ var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);
378
+
379
+ // CONCATENATED MODULE: ./src/utils/merge.js
380
+ /* eslint-disable */
381
+ /* harmony default export */ var merge = (function (target) {
382
+ for (var i = 1, j = arguments.length; i < j; i += 1) {
383
+ var source = arguments[i] || {};
384
+ for (var prop in source) {
385
+ if (source.hasOwnProperty(prop)) {
386
+ var value = source[prop];
387
+ if (value !== undefined) {
388
+ target[prop] = value;
389
+ }
390
+ }
391
+ }
392
+ }
393
+
394
+ return target;
395
+ });
396
+ // CONCATENATED MODULE: ./src/utils/dom.js
397
+ /* istanbul ignore next */
398
+ function hasClass(el, cls) {
399
+ if (!el || !cls) return false;
400
+ if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');
401
+ if (el.classList) {
402
+ return el.classList.contains(cls);
403
+ }
404
+ return (' ' + el.className + ' ').indexOf(' ' + cls + ' ') > -1;
405
+ }
406
+
407
+ /* istanbul ignore next */
408
+ function addClass(el, cls) {
409
+ if (!el) return;
410
+ var curClass = el.className;
411
+ var classes = (cls || '').split(' ');
412
+
413
+ for (var i = 0, j = classes.length; i < j; i += 1) {
414
+ var clsName = classes[i];
415
+ // eslint-disable-next-line no-continue
416
+ if (!clsName) continue;
417
+
418
+ if (el.classList) {
419
+ el.classList.add(clsName);
420
+ } else if (!hasClass(el, clsName)) {
421
+ curClass += ' ' + clsName;
422
+ }
423
+ }
424
+ if (!el.classList) {
425
+ el.setAttribute('class', curClass);
426
+ }
427
+ }
428
+
429
+ /* istanbul ignore next */
430
+ function removeClass(el, cls) {
431
+ if (!el || !cls) return;
432
+ var classes = cls.split(' ');
433
+ var curClass = ' ' + el.className + ' ';
434
+
435
+ for (var i = 0, j = classes.length; i < j; i += 1) {
436
+ var clsName = classes[i];
437
+ // eslint-disable-next-line no-continue
438
+ if (!clsName) continue;
439
+
440
+ if (el.classList) {
441
+ el.classList.remove(clsName);
442
+ } else if (hasClass(el, clsName)) {
443
+ curClass = curClass.replace(' ' + clsName + ' ', ' ');
444
+ }
445
+ }
446
+ if (!el.classList) {
447
+ // eslint-disable-next-line no-undef
448
+ el.setAttribute('class', trim(curClass));
449
+ }
450
+ }
451
+ // CONCATENATED MODULE: ./src/utils/popup/popup-manager.js
452
+ /* eslint-disable no-use-before-define */
453
+
454
+
455
+
456
+ var hasInitZIndex = false;
457
+ var initZIndex = 2000;
458
+ var popup_manager_zIndex = void 0;
459
+ var hasModal = false;
460
+
461
+ // eslint-disable-next-line func-names
462
+ var popup_manager_getModal = function getModal() {
463
+ if (external_vue_default.a.prototype.$isServer) return null;
464
+ var modalDom = PopupManager.modalDom;
465
+
466
+ if (modalDom) {
467
+ hasModal = true;
468
+ } else {
469
+ hasModal = false;
470
+ modalDom = document.createElement('div');
471
+ PopupManager.modalDom = modalDom;
472
+
473
+ modalDom.addEventListener('touchmove', function (event) {
474
+ event.preventDefault();
475
+ event.stopPropagation();
476
+ });
477
+
478
+ modalDom.addEventListener('click', function () {
479
+ if (PopupManager.doOnModalClick) PopupManager.doOnModalClick();
480
+ });
481
+ }
482
+
483
+ return modalDom;
484
+ };
485
+ var instances = {};
486
+
487
+ var PopupManager = {
488
+ modalFade: true,
489
+
490
+ getInstance: function getInstance(id) {
491
+ return instances[id];
492
+ },
493
+
494
+
495
+ // 注册弹出层
496
+ register: function register(id, instance) {
497
+ if (id && instance) {
498
+ instances[id] = instance;
499
+ }
500
+ },
501
+
502
+
503
+ // 删除弹出层
504
+ deregister: function deregister(id) {
505
+ if (id) {
506
+ instances[id] = null;
507
+ delete instances[id];
508
+ }
509
+ },
510
+ nextZIndex: function nextZIndex() {
511
+ // eslint-disable-next-line no-plusplus
512
+ return PopupManager.zIndex++;
513
+ },
514
+
515
+
516
+ modalStack: [],
517
+
518
+ doOnModalClick: function doOnModalClick() {
519
+ var topItem = PopupManager.modalStack[PopupManager.modalStack.length - 1];
520
+ if (!topItem) return;
521
+
522
+ var instance = PopupManager.getInstance(topItem.id);
523
+ if (instance && instance.closeOnClickModal) {
524
+ instance.close();
525
+ }
526
+ },
527
+
528
+
529
+ // 显示蒙层
530
+ // eslint-disable-next-line no-shadow
531
+ openModal: function openModal(id, zIndex, dom, modalClass, modalFade) {
532
+ console.log('open modal');
533
+ if (external_vue_default.a.prototype.$isServer) return;
534
+ if (!id || zIndex === undefined) return;
535
+
536
+ this.modalFade = modalFade;
537
+
538
+ var modalStack = this.modalStack;
539
+
540
+
541
+ for (var i = 0, j = modalStack.length; i < j; i += 1) {
542
+ var item = modalStack[i];
543
+ if (item.id === id) {
544
+ return;
545
+ }
546
+ }
547
+
548
+ var modalDom = popup_manager_getModal();
549
+
550
+ addClass(modalDom, 'v-modal');
551
+ if (this.modalFade && !hasModal) {
552
+ addClass(modalDom, 'v-modal-enter');
553
+ }
554
+ if (modalClass) {
555
+ var classArr = modalClass.trim().split(/\s+/);
556
+ classArr.forEach(function (item) {
557
+ return addClass(modalDom, item);
558
+ });
559
+ }
560
+ setTimeout(function () {
561
+ removeClass(modalDom, 'v-modal-enter');
562
+ }, 200);
563
+
564
+ if (dom && dom.parentNode && dom.parentNode.nodeType !== 11) {
565
+ dom.parentNode.appendChild(modalDom);
566
+ } else {
567
+ document.body.appendChild(modalDom);
568
+ }
569
+
570
+ if (zIndex) {
571
+ modalDom.style.zIndex = zIndex;
572
+ }
573
+ modalDom.tabIndex = 0;
574
+ modalDom.style.display = '';
575
+
576
+ this.modalStack.push({ id: id, zIndex: zIndex, modalClass: modalClass });
577
+ },
578
+
579
+
580
+ // 关闭蒙层
581
+ closeModal: function closeModal(id) {
582
+ var modalStack = this.modalStack;
583
+
584
+ var modalDom = popup_manager_getModal();
585
+
586
+ if (modalStack.length > 0) {
587
+ var topItem = modalStack[modalStack.length - 1];
588
+ if (topItem.id === id) {
589
+ if (topItem.modalClass) {
590
+ var classArr = topItem.modalClass.trim().split(/\s+/);
591
+ classArr.forEach(function (item) {
592
+ return removeClass(modalDom, item);
593
+ });
594
+ }
595
+
596
+ modalStack.pop();
597
+ if (modalStack.length > 0) {
598
+ modalDom.style.zIndex = modalStack[modalStack.length - 1].zIndex;
599
+ }
600
+ } else {
601
+ for (var i = modalStack.length - 1; i >= 0; i -= 1) {
602
+ if (modalStack[i].id === id) {
603
+ modalStack.splice(i, 1);
604
+ break;
605
+ }
606
+ }
607
+ }
608
+ }
609
+
610
+ if (modalStack.length === 0) {
611
+ if (this.modalFade) {
612
+ addClass(modalDom, 'v-modal-leave');
613
+ }
614
+ setTimeout(function () {
615
+ if (modalStack.length === 0) {
616
+ if (modalDom.parentNode) modalDom.parentNode.removeChild(modalDom);
617
+ modalDom.style.display = 'none';
618
+ PopupManager.modalDom = undefined;
619
+ }
620
+ removeClass(modalDom, 'v-modal-leave');
621
+ }, 200);
622
+ }
623
+ }
624
+ };
625
+
626
+ Object.defineProperty(PopupManager, 'zIndex', {
627
+ configurable: true,
628
+ get: function get() {
629
+ if (!hasInitZIndex) {
630
+ popup_manager_zIndex = popup_manager_zIndex || (external_vue_default.a.prototype.$ELEMENT || {}).zIndex || initZIndex;
631
+ hasInitZIndex = true;
632
+ }
633
+ return popup_manager_zIndex;
634
+ },
635
+ set: function set(value) {
636
+ popup_manager_zIndex = value;
637
+ }
638
+ });
639
+
640
+ /* harmony default export */ var popup_manager = (PopupManager);
641
+ // CONCATENATED MODULE: ./src/utils/popup/index.js
642
+
643
+
644
+
645
+
646
+ var idSeed = 1;
647
+
648
+ /* harmony default export */ var popup = ({
649
+ props: {
650
+ visible: {
651
+ type: Boolean,
652
+ default: false
653
+ },
654
+ // 点击蒙层时关闭
655
+ closeOnClickModal: {
656
+ type: Boolean,
657
+ default: false
658
+ }
659
+ },
660
+ data: function data() {
661
+ return {};
662
+ },
663
+
664
+ watch: {
665
+ visible: function visible(val) {
666
+ var _this = this;
667
+
668
+ if (val) {
669
+ if (this._opening) return;
670
+ if (!this.rendered) {
671
+ this.rendered = true;
672
+ external_vue_default.a.nextTick(function () {
673
+ _this.open();
674
+ });
675
+ } else {
676
+ this.open();
677
+ }
678
+ } else {
679
+ this.close();
680
+ }
681
+ }
682
+ },
683
+ beforeMount: function beforeMount() {
684
+ // 组件渲染前
685
+ this._popupId = 'popup-' + (idSeed += 1);
686
+ popup_manager.register(this._popupId, this);
687
+ },
688
+ beforeDestory: function beforeDestory() {
689
+ // 组件销毁前
690
+ popup_manager.deregister(this._popupId);
691
+ popup_manager.closeModal();
692
+ },
693
+
694
+ methods: {
695
+ open: function open(options) {
696
+ console.log('open dialog');
697
+ var props = merge({}, this.$props || this, options);
698
+ this.doOpen(props);
699
+ },
700
+ doOpen: function doOpen(props) {
701
+ console.log('do open');
702
+ if (this.$isServer) return;
703
+ if (this.opened) return;
704
+
705
+ console.log('do opening');
706
+
707
+ this._opening = true;
708
+
709
+ var dom = this.$el;
710
+
711
+ var modal = props.modal;
712
+ var zIndex = props.zIndex;
713
+
714
+
715
+ if (zIndex) {
716
+ popup_manager.zIndex = zIndex;
717
+ }
718
+
719
+ // 显示遮罩层
720
+ if (modal) {
721
+ if (this._closing) {
722
+ popup_manager.closeModal(this._popupId);
723
+ this._closing = false;
724
+ }
725
+ popup_manager.openModal(this._popupId, popup_manager.nextZIndex(), this.modalAppendToBody ? undefined : dom, props.modalClass, props.modalFade);
726
+ }
727
+
728
+ dom.style.zIndex = popup_manager.nextZIndex();
729
+ this.opened = true;
730
+
731
+ if (this.onOpen) this.onOpen();
732
+
733
+ this.doAfterOpen();
734
+ },
735
+ doAfterOpen: function doAfterOpen() {
736
+ this._opening = false;
737
+ },
738
+ close: function close() {
739
+ this.doClose();
740
+ },
741
+ doClose: function doClose() {
742
+ this._closing = true;
743
+
744
+ if (this.onClose) this.onClose();
745
+
746
+ // if (this.lockScroll) {
747
+ // setTimeout(this.restoreBodyStyle, 200);
748
+ // }
749
+
750
+ this.opened = false;
751
+
752
+ this.doAfterClose();
753
+ },
754
+ doAfterClose: function doAfterClose() {
755
+ popup_manager.closeModal(this._popupId);
756
+ this._closing = false;
757
+ }
758
+ }
759
+ });
760
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/base/dialog/src/dialog.vue?vue&type=script&lang=js&
761
+ //
762
+ //
763
+ //
764
+ //
765
+ //
766
+ //
767
+ //
768
+ //
769
+ //
770
+ //
771
+ //
772
+ //
773
+ //
774
+ //
775
+ //
776
+ //
777
+ //
778
+ //
779
+ //
780
+ //
781
+ //
782
+ //
783
+ //
784
+ //
785
+ //
786
+ //
787
+ //
788
+ //
789
+ //
790
+ //
791
+ //
792
+ //
793
+ //
794
+ //
795
+ //
796
+ //
797
+ //
798
+ //
799
+ //
800
+ //
801
+ //
802
+ //
803
+ //
804
+ //
805
+ //
806
+ //
807
+ //
808
+ //
809
+ //
810
+ //
811
+ //
812
+
813
+
814
+
815
+ /* harmony default export */ var dialogvue_type_script_lang_js_ = ({
816
+ name: 'TsDialog',
817
+ mixins: [popup],
818
+ props: {
819
+ // 是否插入到body节点
820
+ appendToBody: {
821
+ type: Boolean,
822
+ default: false
823
+ },
824
+ // 是否显示遮罩层
825
+ modal: {
826
+ type: Boolean,
827
+ default: true
828
+ },
829
+ // 弹窗标题
830
+ title: {
831
+ type: String,
832
+ default: 'title'
833
+ },
834
+ // 是否显示左侧icon
835
+ showLeftIcon: {
836
+ type: Boolean,
837
+ default: false
838
+ },
839
+ // 是否显示右侧icon
840
+ showRightIcon: {
841
+ type: Boolean,
842
+ default: false
843
+ },
844
+ // 头部背景色
845
+ headerBg: {
846
+ type: String,
847
+ default: '#fff'
848
+ },
849
+ // body背景色
850
+ bodyBg: {
851
+ type: String,
852
+ default: '#fff'
853
+ },
854
+ // 弹窗宽度
855
+ width: {
856
+ type: String,
857
+ default: '50%'
858
+ },
859
+ // 是否居中显示弹窗
860
+ center: {
861
+ type: Boolean,
862
+ default: true
863
+ },
864
+ // 样式相关配置
865
+ isRound: {
866
+ type: Boolean,
867
+ default: true
868
+ }
869
+ },
870
+ data: function data() {
871
+ return {
872
+ closed: false,
873
+ key: 0
874
+ };
875
+ },
876
+
877
+ watch: {
878
+ visible: function visible(val) {
879
+ var _this = this;
880
+
881
+ console.log(val);
882
+ if (val) {
883
+ this.closed = false;
884
+ this.$emit('open');
885
+ if (this.appendToBody) {
886
+ document.body.appendChild(this.$el);
887
+ }
888
+ } else {
889
+ if (!this.closed) this.$emit('close');
890
+ if (this.destroyOnClose) {
891
+ this.$nextTick(function () {
892
+ _this.key += 1;
893
+ });
894
+ }
895
+ }
896
+ }
897
+ },
898
+ mounted: function mounted() {
899
+ if (this.visible) {
900
+ this.rendered = true;
901
+ this.open();
902
+ if (this.appendToBody) {
903
+ document.body.appendChild(this.$el);
904
+ }
905
+ }
906
+ },
907
+
908
+ methods: {
909
+ rightIconHandler: function rightIconHandler() {
910
+ this.$emit('right-icon-handler');
911
+ },
912
+ leftIconHandler: function leftIconHandler() {
913
+ this.$emit('left-icon-handler');
914
+ },
915
+ handleWrapperClick: function handleWrapperClick() {
916
+ console.log('handle wrapper click');
917
+ if (!this.closeOnClickModal) return;
918
+ this.handleClose();
919
+ },
920
+ handleClose: function handleClose() {
921
+ console.log('handler close');
922
+
923
+ this.hide();
924
+ },
925
+ hide: function hide(cancel) {
926
+ console.log('close hide func');
927
+ if (cancel !== false) {
928
+ this.$emit('update:visible', false);
929
+ this.$emit('close');
930
+ this.closed = true;
931
+ console.log('123');
932
+ console.log(this.visible);
933
+ }
934
+ }
935
+ }
936
+ });
937
+ // CONCATENATED MODULE: ./packages/base/dialog/src/dialog.vue?vue&type=script&lang=js&
938
+ /* harmony default export */ var src_dialogvue_type_script_lang_js_ = (dialogvue_type_script_lang_js_);
939
+ // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
940
+ var componentNormalizer = __webpack_require__(0);
941
+
942
+ // CONCATENATED MODULE: ./packages/base/dialog/src/dialog.vue
943
+
944
+
945
+
946
+
947
+
948
+ /* normalize component */
949
+
950
+ var component = Object(componentNormalizer["a" /* default */])(
951
+ src_dialogvue_type_script_lang_js_,
952
+ render,
953
+ staticRenderFns,
954
+ false,
955
+ null,
956
+ null,
957
+ null
958
+
959
+ )
960
+
961
+ /* hot reload */
962
+ if (false) { var api; }
963
+ component.options.__file = "packages/base/dialog/src/dialog.vue"
964
+ /* harmony default export */ var dialog = (component.exports);
965
+ // CONCATENATED MODULE: ./packages/base/dialog/index.js
966
+
967
+
968
+ // install 是默认的方法,供按需引入
969
+ // 当外界在 use 这个组件的时候,就会调用本身的install方法,同时传一个Vue这个类的参数
970
+
971
+ dialog.install = function (Vue) {
972
+ Vue.component(dialog.name, dialog);
973
+ };
974
+
975
+ /* harmony default export */ var base_dialog = __webpack_exports__["default"] = (dialog);
976
+
977
+ /***/ })
978
+
979
+ /******/ });