@revolugo/elements 4.13.18-beta.4 → 4.13.18-beta.5
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.
- package/dist/css/revolugo.29.min.css +1 -1
- package/dist/css/revolugo.30.min.css +1 -1
- package/dist/css/revolugo.32.min.css +1 -1
- package/dist/css/revolugo.33.min.css +1 -1
- package/dist/css/revolugo.34.min.css +1 -1
- package/dist/css/revolugo.35.min.css +1 -0
- package/dist/index.min.js +1 -1
- package/dist/revolugo.1.js +0 -11
- package/dist/revolugo.1.min.js +1 -1
- package/dist/revolugo.10.js +13 -0
- package/dist/revolugo.10.min.js +2 -2
- package/dist/revolugo.11.js +13 -0
- package/dist/revolugo.11.min.js +2 -2
- package/dist/revolugo.12.js +13 -0
- package/dist/revolugo.12.min.js +2 -2
- package/dist/revolugo.13.js +13 -0
- package/dist/revolugo.13.min.js +2 -2
- package/dist/revolugo.14.js +13 -0
- package/dist/revolugo.14.min.js +2 -2
- package/dist/revolugo.15.js +13 -0
- package/dist/revolugo.15.min.js +2 -2
- package/dist/revolugo.16.js +13 -0
- package/dist/revolugo.16.min.js +2 -2
- package/dist/revolugo.17.js +13 -0
- package/dist/revolugo.17.min.js +1 -1
- package/dist/revolugo.18.js +2 -0
- package/dist/revolugo.18.min.js +1 -1
- package/dist/revolugo.19.js +2 -0
- package/dist/revolugo.19.min.js +1 -1
- package/dist/revolugo.20.js +2 -0
- package/dist/revolugo.20.min.js +2 -2
- package/dist/revolugo.21.js +13 -0
- package/dist/revolugo.21.min.js +2 -2
- package/dist/revolugo.22.js +2 -0
- package/dist/revolugo.22.min.js +1 -1
- package/dist/revolugo.23.js +2 -0
- package/dist/revolugo.23.min.js +1 -1
- package/dist/revolugo.24.js +2 -0
- package/dist/revolugo.24.min.js +1 -1
- package/dist/revolugo.25.js +11 -0
- package/dist/revolugo.25.min.js +1 -1
- package/dist/revolugo.26.js +2 -0
- package/dist/revolugo.26.min.js +1 -1
- package/dist/revolugo.29.js +1460 -997
- package/dist/revolugo.29.min.js +1 -1
- package/dist/revolugo.30.js +1141 -35810
- package/dist/revolugo.30.min.js +1 -1
- package/dist/revolugo.31.js +1359 -2190
- package/dist/revolugo.31.min.js +1 -1
- package/dist/revolugo.32.js +36689 -1836
- package/dist/revolugo.32.min.js +1 -1
- package/dist/revolugo.33.js +1724 -1437
- package/dist/revolugo.33.min.js +1 -1
- package/dist/revolugo.34.js +1576 -6567
- package/dist/revolugo.34.min.js +1 -1
- package/dist/revolugo.35.js +5198 -909
- package/dist/revolugo.35.min.js +1 -1
- package/dist/revolugo.36.js +680 -1607
- package/dist/revolugo.36.min.js +1 -1
- package/dist/revolugo.37.js +2986 -250
- package/dist/revolugo.37.min.js +1 -1
- package/dist/revolugo.38.js +1819 -0
- package/dist/revolugo.38.min.js +1 -0
- package/dist/revolugo.39.js +579 -0
- package/dist/revolugo.39.min.js +1 -0
- package/dist/revolugo.4.js +11 -0
- package/dist/revolugo.4.min.js +1 -1
- package/dist/revolugo.5.js +2 -0
- package/dist/revolugo.5.min.js +1 -1
- package/dist/revolugo.9.js +13 -0
- package/dist/revolugo.9.min.js +2 -2
- package/dist/revolugo.en-US.js +7 -0
- package/dist/revolugo.en-US.min.js +1 -1
- package/dist/revolugo.fr-FR.js +7 -0
- package/dist/revolugo.fr-FR.min.js +1 -1
- package/dist/revolugo.js +10 -8
- package/dist/revolugo.min.js +1 -1
- package/package.json +1 -1
- /package/dist/css/{revolugo.36.min.css → revolugo.37.min.css} +0 -0
package/dist/revolugo.33.js
CHANGED
@@ -1,1685 +1,1972 @@
|
|
1
1
|
(window["revolugo_jsonp"] = window["revolugo_jsonp"] || []).push([[33],{
|
2
2
|
|
3
|
-
/***/ "
|
3
|
+
/***/ "0ce2":
|
4
4
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
5
5
|
|
6
6
|
"use strict";
|
7
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return factory; });
|
8
7
|
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ad27");
|
9
|
-
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("3d78");
|
10
|
-
|
11
|
-
|
12
|
-
const availableProps = {
|
13
|
-
absolute: Boolean,
|
14
|
-
bottom: Boolean,
|
15
|
-
fixed: Boolean,
|
16
|
-
left: Boolean,
|
17
|
-
right: Boolean,
|
18
|
-
top: Boolean
|
19
|
-
};
|
20
|
-
function factory(selected = []) {
|
21
|
-
return vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].extend({
|
22
|
-
name: 'positionable',
|
23
|
-
props: selected.length ? Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__[/* filterObjectOnKeys */ "k"])(availableProps, selected) : availableProps
|
24
|
-
});
|
25
|
-
}
|
26
|
-
/* harmony default export */ __webpack_exports__["a"] = (factory()); // Add a `*` before the second `/`
|
27
|
-
|
28
|
-
/* Tests /
|
29
|
-
let single = factory(['top']).extend({
|
30
|
-
created () {
|
31
|
-
this.top
|
32
|
-
this.bottom
|
33
|
-
this.absolute
|
34
|
-
}
|
35
|
-
})
|
36
|
-
|
37
|
-
let some = factory(['top', 'bottom']).extend({
|
38
|
-
created () {
|
39
|
-
this.top
|
40
|
-
this.bottom
|
41
|
-
this.absolute
|
42
|
-
}
|
43
|
-
})
|
44
|
-
|
45
|
-
let all = factory().extend({
|
46
|
-
created () {
|
47
|
-
this.top
|
48
|
-
this.bottom
|
49
|
-
this.absolute
|
50
|
-
this.foobar
|
51
|
-
}
|
52
|
-
})
|
53
|
-
/**/
|
54
|
-
|
55
|
-
/***/ }),
|
56
|
-
|
57
|
-
/***/ "3f84":
|
58
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
59
|
-
|
60
|
-
"use strict";
|
61
|
-
/* harmony import */ var _mixins_themeable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("64ad");
|
62
|
-
// Mixins
|
63
8
|
|
64
|
-
|
9
|
+
/**
|
10
|
+
* Delayable
|
11
|
+
*
|
12
|
+
* @mixin
|
13
|
+
*
|
14
|
+
* Changes the open or close delay time for elements
|
15
|
+
*/
|
65
16
|
|
66
|
-
/* harmony default export */ __webpack_exports__["a"] = (
|
67
|
-
name: '
|
17
|
+
/* harmony default export */ __webpack_exports__["a"] = (vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].extend().extend({
|
18
|
+
name: 'delayable',
|
68
19
|
props: {
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
20
|
+
openDelay: {
|
21
|
+
type: [Number, String],
|
22
|
+
default: 0
|
23
|
+
},
|
24
|
+
closeDelay: {
|
25
|
+
type: [Number, String],
|
26
|
+
default: 0
|
74
27
|
}
|
75
28
|
},
|
76
|
-
render() {
|
77
|
-
/* istanbul ignore next */
|
78
|
-
return this.$slots.default && this.$slots.default.find(node => !node.isComment && node.text !== ' ');
|
79
|
-
}
|
80
|
-
}));
|
81
|
-
|
82
|
-
/***/ }),
|
83
|
-
|
84
|
-
/***/ "4368":
|
85
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
86
|
-
|
87
|
-
"use strict";
|
88
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ad27");
|
89
|
-
|
90
|
-
/* @vue/component */
|
91
|
-
|
92
|
-
/* harmony default export */ __webpack_exports__["a"] = (vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].extend({
|
93
|
-
name: 'returnable',
|
94
|
-
props: {
|
95
|
-
returnValue: null
|
96
|
-
},
|
97
29
|
data: () => ({
|
98
|
-
|
99
|
-
|
30
|
+
openTimeout: undefined,
|
31
|
+
closeTimeout: undefined
|
100
32
|
}),
|
101
|
-
watch: {
|
102
|
-
isActive(val) {
|
103
|
-
if (val) {
|
104
|
-
this.originalValue = this.returnValue;
|
105
|
-
} else {
|
106
|
-
this.$emit('update:return-value', this.originalValue);
|
107
|
-
}
|
108
|
-
}
|
109
|
-
},
|
110
33
|
methods: {
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
34
|
+
/**
|
35
|
+
* Clear any pending delay timers from executing
|
36
|
+
*/
|
37
|
+
clearDelay() {
|
38
|
+
clearTimeout(this.openTimeout);
|
39
|
+
clearTimeout(this.closeTimeout);
|
40
|
+
},
|
41
|
+
/**
|
42
|
+
* Runs callback after a specified delay
|
43
|
+
*/
|
44
|
+
runDelay(type, cb) {
|
45
|
+
this.clearDelay();
|
46
|
+
const delay = parseInt(this[`${type}Delay`], 10);
|
47
|
+
this[`${type}Timeout`] = setTimeout(cb || (() => {
|
48
|
+
this.isActive = {
|
49
|
+
open: true,
|
50
|
+
close: false
|
51
|
+
}[type];
|
52
|
+
}), delay);
|
116
53
|
}
|
117
54
|
}
|
118
55
|
}));
|
119
56
|
|
120
57
|
/***/ }),
|
121
58
|
|
122
|
-
/***/ "
|
59
|
+
/***/ "17d8":
|
123
60
|
/***/ (function(module, exports, __webpack_require__) {
|
124
61
|
|
125
|
-
|
62
|
+
"use strict";
|
126
63
|
|
127
|
-
/***/ }),
|
128
64
|
|
129
|
-
|
130
|
-
|
65
|
+
class QuickLRU {
|
66
|
+
constructor(options = {}) {
|
67
|
+
if (!(options.maxSize && options.maxSize > 0)) {
|
68
|
+
throw new TypeError('`maxSize` must be a number greater than 0');
|
69
|
+
}
|
70
|
+
|
71
|
+
this.maxSize = options.maxSize;
|
72
|
+
this.onEviction = options.onEviction;
|
73
|
+
this.cache = new Map();
|
74
|
+
this.oldCache = new Map();
|
75
|
+
this._size = 0;
|
76
|
+
}
|
77
|
+
|
78
|
+
_set(key, value) {
|
79
|
+
this.cache.set(key, value);
|
80
|
+
this._size++;
|
81
|
+
|
82
|
+
if (this._size >= this.maxSize) {
|
83
|
+
this._size = 0;
|
84
|
+
|
85
|
+
if (typeof this.onEviction === 'function') {
|
86
|
+
for (const [key, value] of this.oldCache.entries()) {
|
87
|
+
this.onEviction(key, value);
|
88
|
+
}
|
89
|
+
}
|
90
|
+
|
91
|
+
this.oldCache = this.cache;
|
92
|
+
this.cache = new Map();
|
93
|
+
}
|
94
|
+
}
|
95
|
+
|
96
|
+
get(key) {
|
97
|
+
if (this.cache.has(key)) {
|
98
|
+
return this.cache.get(key);
|
99
|
+
}
|
100
|
+
|
101
|
+
if (this.oldCache.has(key)) {
|
102
|
+
const value = this.oldCache.get(key);
|
103
|
+
this.oldCache.delete(key);
|
104
|
+
this._set(key, value);
|
105
|
+
return value;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
|
109
|
+
set(key, value) {
|
110
|
+
if (this.cache.has(key)) {
|
111
|
+
this.cache.set(key, value);
|
112
|
+
} else {
|
113
|
+
this._set(key, value);
|
114
|
+
}
|
115
|
+
|
116
|
+
return this;
|
117
|
+
}
|
118
|
+
|
119
|
+
has(key) {
|
120
|
+
return this.cache.has(key) || this.oldCache.has(key);
|
121
|
+
}
|
122
|
+
|
123
|
+
peek(key) {
|
124
|
+
if (this.cache.has(key)) {
|
125
|
+
return this.cache.get(key);
|
126
|
+
}
|
127
|
+
|
128
|
+
if (this.oldCache.has(key)) {
|
129
|
+
return this.oldCache.get(key);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
delete(key) {
|
134
|
+
const deleted = this.cache.delete(key);
|
135
|
+
if (deleted) {
|
136
|
+
this._size--;
|
137
|
+
}
|
138
|
+
|
139
|
+
return this.oldCache.delete(key) || deleted;
|
140
|
+
}
|
141
|
+
|
142
|
+
clear() {
|
143
|
+
this.cache.clear();
|
144
|
+
this.oldCache.clear();
|
145
|
+
this._size = 0;
|
146
|
+
}
|
147
|
+
|
148
|
+
* keys() {
|
149
|
+
for (const [key] of this) {
|
150
|
+
yield key;
|
151
|
+
}
|
152
|
+
}
|
153
|
+
|
154
|
+
* values() {
|
155
|
+
for (const [, value] of this) {
|
156
|
+
yield value;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
* [Symbol.iterator]() {
|
161
|
+
for (const item of this.cache) {
|
162
|
+
yield item;
|
163
|
+
}
|
164
|
+
|
165
|
+
for (const item of this.oldCache) {
|
166
|
+
const [key] = item;
|
167
|
+
if (!this.cache.has(key)) {
|
168
|
+
yield item;
|
169
|
+
}
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
get size() {
|
174
|
+
let oldCacheSize = 0;
|
175
|
+
for (const key of this.oldCache.keys()) {
|
176
|
+
if (!this.cache.has(key)) {
|
177
|
+
oldCacheSize++;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
|
181
|
+
return Math.min(this._size + oldCacheSize, this.maxSize);
|
182
|
+
}
|
183
|
+
}
|
131
184
|
|
132
|
-
|
185
|
+
module.exports = QuickLRU;
|
133
186
|
|
134
|
-
/***/ }),
|
135
187
|
|
136
|
-
/***/
|
137
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
188
|
+
/***/ }),
|
138
189
|
|
139
|
-
|
140
|
-
|
141
|
-
/* harmony import */ var _src_directives_ripple_VRipple_sass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("536f");
|
142
|
-
/* harmony import */ var _src_directives_ripple_VRipple_sass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_src_directives_ripple_VRipple_sass__WEBPACK_IMPORTED_MODULE_0__);
|
143
|
-
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("3d78");
|
144
|
-
// Styles
|
145
|
-
// Utilities
|
190
|
+
/***/ "2444":
|
191
|
+
/***/ (function(module, exports, __webpack_require__) {
|
146
192
|
|
193
|
+
/* global ActiveXObject -- old IE, WSH */
|
194
|
+
var anObject = __webpack_require__("50b4");
|
195
|
+
var definePropertiesModule = __webpack_require__("de39");
|
196
|
+
var enumBugKeys = __webpack_require__("7edb");
|
197
|
+
var hiddenKeys = __webpack_require__("23d9");
|
198
|
+
var html = __webpack_require__("ce02");
|
199
|
+
var documentCreateElement = __webpack_require__("6e0f");
|
200
|
+
var sharedKey = __webpack_require__("2cac");
|
201
|
+
|
202
|
+
var GT = '>';
|
203
|
+
var LT = '<';
|
204
|
+
var PROTOTYPE = 'prototype';
|
205
|
+
var SCRIPT = 'script';
|
206
|
+
var IE_PROTO = sharedKey('IE_PROTO');
|
207
|
+
|
208
|
+
var EmptyConstructor = function () { /* empty */ };
|
209
|
+
|
210
|
+
var scriptTag = function (content) {
|
211
|
+
return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
|
212
|
+
};
|
147
213
|
|
214
|
+
// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
|
215
|
+
var NullProtoObjectViaActiveX = function (activeXDocument) {
|
216
|
+
activeXDocument.write(scriptTag(''));
|
217
|
+
activeXDocument.close();
|
218
|
+
var temp = activeXDocument.parentWindow.Object;
|
219
|
+
activeXDocument = null; // avoid memory leak
|
220
|
+
return temp;
|
221
|
+
};
|
148
222
|
|
149
|
-
|
150
|
-
function
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
const offset = el.getBoundingClientRect();
|
165
|
-
const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e;
|
166
|
-
localX = target.clientX - offset.left;
|
167
|
-
localY = target.clientY - offset.top;
|
168
|
-
}
|
169
|
-
let radius = 0;
|
170
|
-
let scale = 0.3;
|
171
|
-
if (el._ripple && el._ripple.circle) {
|
172
|
-
scale = 0.15;
|
173
|
-
radius = el.clientWidth / 2;
|
174
|
-
radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4;
|
175
|
-
} else {
|
176
|
-
radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2;
|
177
|
-
}
|
178
|
-
const centerX = `${(el.clientWidth - radius * 2) / 2}px`;
|
179
|
-
const centerY = `${(el.clientHeight - radius * 2) / 2}px`;
|
180
|
-
const x = value.center ? centerX : `${localX - radius}px`;
|
181
|
-
const y = value.center ? centerY : `${localY - radius}px`;
|
182
|
-
return {
|
183
|
-
radius,
|
184
|
-
scale,
|
185
|
-
x,
|
186
|
-
y,
|
187
|
-
centerX,
|
188
|
-
centerY
|
189
|
-
};
|
223
|
+
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
224
|
+
var NullProtoObjectViaIFrame = function () {
|
225
|
+
// Thrash, waste and sodomy: IE GC bug
|
226
|
+
var iframe = documentCreateElement('iframe');
|
227
|
+
var JS = 'java' + SCRIPT + ':';
|
228
|
+
var iframeDocument;
|
229
|
+
iframe.style.display = 'none';
|
230
|
+
html.appendChild(iframe);
|
231
|
+
// https://github.com/zloirock/core-js/issues/475
|
232
|
+
iframe.src = String(JS);
|
233
|
+
iframeDocument = iframe.contentWindow.document;
|
234
|
+
iframeDocument.open();
|
235
|
+
iframeDocument.write(scriptTag('document.F=Object'));
|
236
|
+
iframeDocument.close();
|
237
|
+
return iframeDocument.F;
|
190
238
|
};
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
centerY
|
211
|
-
} = calculate(e, el, value);
|
212
|
-
const size = `${radius * 2}px`;
|
213
|
-
animation.className = 'v-ripple__animation';
|
214
|
-
animation.style.width = size;
|
215
|
-
animation.style.height = size;
|
216
|
-
el.appendChild(container);
|
217
|
-
const computed = window.getComputedStyle(el);
|
218
|
-
if (computed && computed.position === 'static') {
|
219
|
-
el.style.position = 'relative';
|
220
|
-
el.dataset.previousPosition = 'static';
|
221
|
-
}
|
222
|
-
animation.classList.add('v-ripple__animation--enter');
|
223
|
-
animation.classList.add('v-ripple__animation--visible');
|
224
|
-
transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);
|
225
|
-
animation.dataset.activated = String(performance.now());
|
226
|
-
setTimeout(() => {
|
227
|
-
animation.classList.remove('v-ripple__animation--enter');
|
228
|
-
animation.classList.add('v-ripple__animation--in');
|
229
|
-
transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
|
230
|
-
}, 0);
|
231
|
-
},
|
232
|
-
hide(el) {
|
233
|
-
if (!el || !el._ripple || !el._ripple.enabled) return;
|
234
|
-
const ripples = el.getElementsByClassName('v-ripple__animation');
|
235
|
-
if (ripples.length === 0) return;
|
236
|
-
const animation = ripples[ripples.length - 1];
|
237
|
-
if (animation.dataset.isHiding) return;else animation.dataset.isHiding = 'true';
|
238
|
-
const diff = performance.now() - Number(animation.dataset.activated);
|
239
|
-
const delay = Math.max(250 - diff, 0);
|
240
|
-
setTimeout(() => {
|
241
|
-
animation.classList.remove('v-ripple__animation--in');
|
242
|
-
animation.classList.add('v-ripple__animation--out');
|
243
|
-
setTimeout(() => {
|
244
|
-
var _a;
|
245
|
-
const ripples = el.getElementsByClassName('v-ripple__animation');
|
246
|
-
if (ripples.length === 1 && el.dataset.previousPosition) {
|
247
|
-
el.style.position = el.dataset.previousPosition;
|
248
|
-
delete el.dataset.previousPosition;
|
249
|
-
}
|
250
|
-
if (((_a = animation.parentNode) === null || _a === void 0 ? void 0 : _a.parentNode) === el) el.removeChild(animation.parentNode);
|
251
|
-
}, 300);
|
252
|
-
}, delay);
|
253
|
-
}
|
239
|
+
|
240
|
+
// Check for document.domain and active x support
|
241
|
+
// No need to use active x approach when document.domain is not set
|
242
|
+
// see https://github.com/es-shims/es5-shim/issues/150
|
243
|
+
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
|
244
|
+
// avoid IE GC bug
|
245
|
+
var activeXDocument;
|
246
|
+
var NullProtoObject = function () {
|
247
|
+
try {
|
248
|
+
activeXDocument = new ActiveXObject('htmlfile');
|
249
|
+
} catch (error) { /* ignore */ }
|
250
|
+
NullProtoObject = typeof document != 'undefined'
|
251
|
+
? document.domain && activeXDocument
|
252
|
+
? NullProtoObjectViaActiveX(activeXDocument) // old IE
|
253
|
+
: NullProtoObjectViaIFrame()
|
254
|
+
: NullProtoObjectViaActiveX(activeXDocument); // WSH
|
255
|
+
var length = enumBugKeys.length;
|
256
|
+
while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
|
257
|
+
return NullProtoObject();
|
254
258
|
};
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
// already been registered as touch
|
272
|
-
if (element._ripple.isTouch) return;
|
273
|
-
}
|
274
|
-
value.center = element._ripple.centered || isKeyboardEvent(e);
|
275
|
-
if (element._ripple.class) {
|
276
|
-
value.class = element._ripple.class;
|
277
|
-
}
|
278
|
-
if (isTouchEvent(e)) {
|
279
|
-
// already queued that shows or hides the ripple
|
280
|
-
if (element._ripple.showTimerCommit) return;
|
281
|
-
element._ripple.showTimerCommit = () => {
|
282
|
-
ripples.show(e, element, value);
|
283
|
-
};
|
284
|
-
element._ripple.showTimer = window.setTimeout(() => {
|
285
|
-
if (element && element._ripple && element._ripple.showTimerCommit) {
|
286
|
-
element._ripple.showTimerCommit();
|
287
|
-
element._ripple.showTimerCommit = null;
|
288
|
-
}
|
289
|
-
}, DELAY_RIPPLE);
|
290
|
-
} else {
|
291
|
-
ripples.show(e, element, value);
|
292
|
-
}
|
293
|
-
}
|
294
|
-
function rippleHide(e) {
|
295
|
-
const element = e.currentTarget;
|
296
|
-
if (!element || !element._ripple) return;
|
297
|
-
window.clearTimeout(element._ripple.showTimer); // The touch interaction occurs before the show timer is triggered.
|
298
|
-
// We still want to show ripple effect.
|
299
|
-
|
300
|
-
if (e.type === 'touchend' && element._ripple.showTimerCommit) {
|
301
|
-
element._ripple.showTimerCommit();
|
302
|
-
element._ripple.showTimerCommit = null; // re-queue ripple hiding
|
303
|
-
|
304
|
-
element._ripple.showTimer = setTimeout(() => {
|
305
|
-
rippleHide(e);
|
306
|
-
});
|
307
|
-
return;
|
308
|
-
}
|
309
|
-
window.setTimeout(() => {
|
310
|
-
if (element._ripple) {
|
311
|
-
element._ripple.touched = false;
|
312
|
-
}
|
313
|
-
});
|
314
|
-
ripples.hide(element);
|
315
|
-
}
|
316
|
-
function rippleCancelShow(e) {
|
317
|
-
const element = e.currentTarget;
|
318
|
-
if (!element || !element._ripple) return;
|
319
|
-
if (element._ripple.showTimerCommit) {
|
320
|
-
element._ripple.showTimerCommit = null;
|
321
|
-
}
|
322
|
-
window.clearTimeout(element._ripple.showTimer);
|
323
|
-
}
|
324
|
-
let keyboardRipple = false;
|
325
|
-
function keyboardRippleShow(e) {
|
326
|
-
if (!keyboardRipple && (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_1__[/* keyCodes */ "s"].enter || e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_1__[/* keyCodes */ "s"].space)) {
|
327
|
-
keyboardRipple = true;
|
328
|
-
rippleShow(e);
|
329
|
-
}
|
330
|
-
}
|
331
|
-
function keyboardRippleHide(e) {
|
332
|
-
keyboardRipple = false;
|
333
|
-
rippleHide(e);
|
334
|
-
}
|
335
|
-
function focusRippleHide(e) {
|
336
|
-
if (keyboardRipple === true) {
|
337
|
-
keyboardRipple = false;
|
338
|
-
rippleHide(e);
|
339
|
-
}
|
340
|
-
}
|
341
|
-
function updateRipple(el, binding, wasEnabled) {
|
342
|
-
const enabled = isRippleEnabled(binding.value);
|
343
|
-
if (!enabled) {
|
344
|
-
ripples.hide(el);
|
345
|
-
}
|
346
|
-
el._ripple = el._ripple || {};
|
347
|
-
el._ripple.enabled = enabled;
|
348
|
-
const value = binding.value || {};
|
349
|
-
if (value.center) {
|
350
|
-
el._ripple.centered = true;
|
351
|
-
}
|
352
|
-
if (value.class) {
|
353
|
-
el._ripple.class = binding.value.class;
|
354
|
-
}
|
355
|
-
if (value.circle) {
|
356
|
-
el._ripple.circle = value.circle;
|
357
|
-
}
|
358
|
-
if (enabled && !wasEnabled) {
|
359
|
-
el.addEventListener('touchstart', rippleShow, {
|
360
|
-
passive: true
|
361
|
-
});
|
362
|
-
el.addEventListener('touchend', rippleHide, {
|
363
|
-
passive: true
|
364
|
-
});
|
365
|
-
el.addEventListener('touchmove', rippleCancelShow, {
|
366
|
-
passive: true
|
367
|
-
});
|
368
|
-
el.addEventListener('touchcancel', rippleHide);
|
369
|
-
el.addEventListener('mousedown', rippleShow);
|
370
|
-
el.addEventListener('mouseup', rippleHide);
|
371
|
-
el.addEventListener('mouseleave', rippleHide);
|
372
|
-
el.addEventListener('keydown', keyboardRippleShow);
|
373
|
-
el.addEventListener('keyup', keyboardRippleHide);
|
374
|
-
el.addEventListener('blur', focusRippleHide); // Anchor tags can be dragged, causes other hides to fail - #1537
|
375
|
-
|
376
|
-
el.addEventListener('dragstart', rippleHide, {
|
377
|
-
passive: true
|
378
|
-
});
|
379
|
-
} else if (!enabled && wasEnabled) {
|
380
|
-
removeListeners(el);
|
381
|
-
}
|
382
|
-
}
|
383
|
-
function removeListeners(el) {
|
384
|
-
el.removeEventListener('mousedown', rippleShow);
|
385
|
-
el.removeEventListener('touchstart', rippleShow);
|
386
|
-
el.removeEventListener('touchend', rippleHide);
|
387
|
-
el.removeEventListener('touchmove', rippleCancelShow);
|
388
|
-
el.removeEventListener('touchcancel', rippleHide);
|
389
|
-
el.removeEventListener('mouseup', rippleHide);
|
390
|
-
el.removeEventListener('mouseleave', rippleHide);
|
391
|
-
el.removeEventListener('keydown', keyboardRippleShow);
|
392
|
-
el.removeEventListener('keyup', keyboardRippleHide);
|
393
|
-
el.removeEventListener('dragstart', rippleHide);
|
394
|
-
el.removeEventListener('blur', focusRippleHide);
|
395
|
-
}
|
396
|
-
function directive(el, binding, node) {
|
397
|
-
updateRipple(el, binding, false);
|
398
|
-
if (false) {}
|
399
|
-
}
|
400
|
-
function unbind(el) {
|
401
|
-
delete el._ripple;
|
402
|
-
removeListeners(el);
|
403
|
-
}
|
404
|
-
function update(el, binding) {
|
405
|
-
if (binding.value === binding.oldValue) {
|
406
|
-
return;
|
407
|
-
}
|
408
|
-
const wasEnabled = isRippleEnabled(binding.oldValue);
|
409
|
-
updateRipple(el, binding, wasEnabled);
|
410
|
-
}
|
411
|
-
const Ripple = {
|
412
|
-
bind: directive,
|
413
|
-
unbind,
|
414
|
-
update
|
259
|
+
|
260
|
+
hiddenKeys[IE_PROTO] = true;
|
261
|
+
|
262
|
+
// `Object.create` method
|
263
|
+
// https://tc39.es/ecma262/#sec-object.create
|
264
|
+
// eslint-disable-next-line es/no-object-create -- safe
|
265
|
+
module.exports = Object.create || function create(O, Properties) {
|
266
|
+
var result;
|
267
|
+
if (O !== null) {
|
268
|
+
EmptyConstructor[PROTOTYPE] = anObject(O);
|
269
|
+
result = new EmptyConstructor();
|
270
|
+
EmptyConstructor[PROTOTYPE] = null;
|
271
|
+
// add "__proto__" for Object.getPrototypeOf polyfill
|
272
|
+
result[IE_PROTO] = O;
|
273
|
+
} else result = NullProtoObject();
|
274
|
+
return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
|
415
275
|
};
|
416
|
-
|
276
|
+
|
417
277
|
|
418
278
|
/***/ }),
|
419
279
|
|
420
|
-
/***/ "
|
280
|
+
/***/ "36e1":
|
421
281
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
422
282
|
|
423
283
|
"use strict";
|
424
|
-
/* harmony import */ var
|
284
|
+
/* harmony import */ var _VIcon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fbf8");
|
425
285
|
|
426
|
-
/**
|
427
|
-
* This mixin provides `attrs$` and `listeners$` to work around
|
428
|
-
* vue bug https://github.com/vuejs/vue/issues/10115
|
429
|
-
*/
|
430
286
|
|
431
|
-
|
432
|
-
return function (val, oldVal) {
|
433
|
-
for (const attr in oldVal) {
|
434
|
-
if (!Object.prototype.hasOwnProperty.call(val, attr)) {
|
435
|
-
this.$delete(this.$data[property], attr);
|
436
|
-
}
|
437
|
-
}
|
438
|
-
for (const attr in val) {
|
439
|
-
this.$set(this.$data[property], attr, val[attr]);
|
440
|
-
}
|
441
|
-
};
|
442
|
-
}
|
443
|
-
/* harmony default export */ __webpack_exports__["a"] = (vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].extend({
|
444
|
-
data: () => ({
|
445
|
-
attrs$: {},
|
446
|
-
listeners$: {}
|
447
|
-
}),
|
448
|
-
created() {
|
449
|
-
// Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115
|
450
|
-
// Make sure to use `attrs$` instead of `$attrs` (confusing right?)
|
451
|
-
this.$watch('$attrs', makeWatcher('attrs$'), {
|
452
|
-
immediate: true
|
453
|
-
});
|
454
|
-
this.$watch('$listeners', makeWatcher('listeners$'), {
|
455
|
-
immediate: true
|
456
|
-
});
|
457
|
-
}
|
458
|
-
}));
|
287
|
+
/* harmony default export */ __webpack_exports__["a"] = (_VIcon__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]);
|
459
288
|
|
460
289
|
/***/ }),
|
461
290
|
|
462
|
-
/***/ "
|
463
|
-
/***/ (function(module,
|
291
|
+
/***/ "45a8":
|
292
|
+
/***/ (function(module, exports, __webpack_require__) {
|
464
293
|
|
465
294
|
"use strict";
|
466
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ad27");
|
467
295
|
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
'v-size--small': this.small,
|
484
|
-
'v-size--default': this.medium,
|
485
|
-
'v-size--large': this.large,
|
486
|
-
'v-size--x-large': this.xLarge
|
487
|
-
};
|
488
|
-
}
|
296
|
+
var $ = __webpack_require__("4b31");
|
297
|
+
var toObject = __webpack_require__("368f");
|
298
|
+
var lengthOfArrayLike = __webpack_require__("c944");
|
299
|
+
var toIntegerOrInfinity = __webpack_require__("015b");
|
300
|
+
var addToUnscopables = __webpack_require__("7310");
|
301
|
+
|
302
|
+
// `Array.prototype.at` method
|
303
|
+
// https://github.com/tc39/proposal-relative-indexing-method
|
304
|
+
$({ target: 'Array', proto: true }, {
|
305
|
+
at: function at(index) {
|
306
|
+
var O = toObject(this);
|
307
|
+
var len = lengthOfArrayLike(O);
|
308
|
+
var relativeIndex = toIntegerOrInfinity(index);
|
309
|
+
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
310
|
+
return (k < 0 || k >= len) ? undefined : O[k];
|
489
311
|
}
|
490
|
-
})
|
491
|
-
|
492
|
-
/***/ }),
|
493
|
-
|
494
|
-
/***/ "901a":
|
495
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
496
|
-
|
497
|
-
"use strict";
|
498
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return factory; });
|
499
|
-
/* harmony import */ var _registrable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("92e2");
|
500
|
-
// Mixins
|
312
|
+
});
|
501
313
|
|
502
|
-
|
503
|
-
return Object(_registrable__WEBPACK_IMPORTED_MODULE_0__[/* inject */ "a"])(namespace, child, parent).extend({
|
504
|
-
name: 'groupable',
|
505
|
-
props: {
|
506
|
-
activeClass: {
|
507
|
-
type: String,
|
508
|
-
default() {
|
509
|
-
if (!this[namespace]) return undefined;
|
510
|
-
return this[namespace].activeClass;
|
511
|
-
}
|
512
|
-
},
|
513
|
-
disabled: Boolean
|
514
|
-
},
|
515
|
-
data() {
|
516
|
-
return {
|
517
|
-
isActive: false
|
518
|
-
};
|
519
|
-
},
|
520
|
-
computed: {
|
521
|
-
groupClasses() {
|
522
|
-
if (!this.activeClass) return {};
|
523
|
-
return {
|
524
|
-
[this.activeClass]: this.isActive
|
525
|
-
};
|
526
|
-
}
|
527
|
-
},
|
528
|
-
created() {
|
529
|
-
this[namespace] && this[namespace].register(this);
|
530
|
-
},
|
531
|
-
beforeDestroy() {
|
532
|
-
this[namespace] && this[namespace].unregister(this);
|
533
|
-
},
|
534
|
-
methods: {
|
535
|
-
toggle() {
|
536
|
-
this.$emit('change');
|
537
|
-
}
|
538
|
-
}
|
539
|
-
});
|
540
|
-
}
|
541
|
-
/* eslint-disable-next-line @typescript-eslint/no-redeclare */
|
314
|
+
addToUnscopables('at');
|
542
315
|
|
543
|
-
const Groupable = factory('itemGroup');
|
544
|
-
/* unused harmony default export */ var _unused_webpack_default_export = (Groupable);
|
545
316
|
|
546
317
|
/***/ }),
|
547
318
|
|
548
|
-
/***/ "
|
549
|
-
/***/ (function(module,
|
319
|
+
/***/ "5375":
|
320
|
+
/***/ (function(module, exports, __webpack_require__) {
|
550
321
|
|
551
322
|
"use strict";
|
552
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return inject; });
|
553
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return provide; });
|
554
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ad27");
|
555
|
-
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("6c21");
|
556
|
-
|
557
|
-
|
558
|
-
function generateWarning(child, parent) {
|
559
|
-
return () => Object(_util_console__WEBPACK_IMPORTED_MODULE_1__[/* consoleWarn */ "c"])(`The ${child} component must be used inside a ${parent}`);
|
560
|
-
}
|
561
|
-
function inject(namespace, child, parent) {
|
562
|
-
const defaultImpl = child && parent ? {
|
563
|
-
register: generateWarning(child, parent),
|
564
|
-
unregister: generateWarning(child, parent)
|
565
|
-
} : null;
|
566
|
-
return vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].extend({
|
567
|
-
name: 'registrable-inject',
|
568
|
-
inject: {
|
569
|
-
[namespace]: {
|
570
|
-
default: defaultImpl
|
571
|
-
}
|
572
|
-
}
|
573
|
-
});
|
574
|
-
}
|
575
|
-
function provide(namespace, self = false) {
|
576
|
-
return vue__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"].extend({
|
577
|
-
name: 'registrable-provide',
|
578
|
-
provide() {
|
579
|
-
return {
|
580
|
-
[namespace]: self ? this : {
|
581
|
-
register: this.register,
|
582
|
-
unregister: this.unregister
|
583
|
-
}
|
584
|
-
};
|
585
|
-
}
|
586
|
-
});
|
587
|
-
}
|
588
|
-
|
589
|
-
/***/ }),
|
590
323
|
|
591
|
-
/***/ "9d92":
|
592
|
-
/***/ (function(module, exports, __webpack_require__) {
|
593
324
|
|
594
|
-
|
325
|
+
const UPPERCASE = /[\p{Lu}]/u;
|
326
|
+
const LOWERCASE = /[\p{Ll}]/u;
|
327
|
+
const LEADING_CAPITAL = /^[\p{Lu}](?![\p{Lu}])/gu;
|
328
|
+
const IDENTIFIER = /([\p{Alpha}\p{N}_]|$)/u;
|
329
|
+
const SEPARATORS = /[_.\- ]+/;
|
330
|
+
|
331
|
+
const LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);
|
332
|
+
const SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');
|
333
|
+
const NUMBERS_AND_IDENTIFIER = new RegExp('\\d+' + IDENTIFIER.source, 'gu');
|
334
|
+
|
335
|
+
const preserveCamelCase = (string, toLowerCase, toUpperCase) => {
|
336
|
+
let isLastCharLower = false;
|
337
|
+
let isLastCharUpper = false;
|
338
|
+
let isLastLastCharUpper = false;
|
339
|
+
|
340
|
+
for (let i = 0; i < string.length; i++) {
|
341
|
+
const character = string[i];
|
342
|
+
|
343
|
+
if (isLastCharLower && UPPERCASE.test(character)) {
|
344
|
+
string = string.slice(0, i) + '-' + string.slice(i);
|
345
|
+
isLastCharLower = false;
|
346
|
+
isLastLastCharUpper = isLastCharUpper;
|
347
|
+
isLastCharUpper = true;
|
348
|
+
i++;
|
349
|
+
} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {
|
350
|
+
string = string.slice(0, i - 1) + '-' + string.slice(i - 1);
|
351
|
+
isLastLastCharUpper = isLastCharUpper;
|
352
|
+
isLastCharUpper = false;
|
353
|
+
isLastCharLower = true;
|
354
|
+
} else {
|
355
|
+
isLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;
|
356
|
+
isLastLastCharUpper = isLastCharUpper;
|
357
|
+
isLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;
|
358
|
+
}
|
359
|
+
}
|
360
|
+
|
361
|
+
return string;
|
362
|
+
};
|
595
363
|
|
596
|
-
|
364
|
+
const preserveConsecutiveUppercase = (input, toLowerCase) => {
|
365
|
+
LEADING_CAPITAL.lastIndex = 0;
|
597
366
|
|
598
|
-
|
599
|
-
|
367
|
+
return input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));
|
368
|
+
};
|
600
369
|
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
/* harmony import */ var _src_components_VList_VList_sass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("9d92");
|
605
|
-
/* harmony import */ var _src_components_VList_VList_sass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_src_components_VList_VList_sass__WEBPACK_IMPORTED_MODULE_1__);
|
606
|
-
/* harmony import */ var _VSheet_VSheet__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("1163");
|
370
|
+
const postProcess = (input, toUpperCase) => {
|
371
|
+
SEPARATORS_AND_IDENTIFIER.lastIndex = 0;
|
372
|
+
NUMBERS_AND_IDENTIFIER.lastIndex = 0;
|
607
373
|
|
608
|
-
|
609
|
-
|
374
|
+
return input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))
|
375
|
+
.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));
|
376
|
+
};
|
610
377
|
|
378
|
+
const camelCase = (input, options) => {
|
379
|
+
if (!(typeof input === 'string' || Array.isArray(input))) {
|
380
|
+
throw new TypeError('Expected the input to be `string | string[]`');
|
381
|
+
}
|
382
|
+
|
383
|
+
options = {
|
384
|
+
pascalCase: false,
|
385
|
+
preserveConsecutiveUppercase: false,
|
386
|
+
...options
|
387
|
+
};
|
388
|
+
|
389
|
+
if (Array.isArray(input)) {
|
390
|
+
input = input.map(x => x.trim())
|
391
|
+
.filter(x => x.length)
|
392
|
+
.join('-');
|
393
|
+
} else {
|
394
|
+
input = input.trim();
|
395
|
+
}
|
396
|
+
|
397
|
+
if (input.length === 0) {
|
398
|
+
return '';
|
399
|
+
}
|
400
|
+
|
401
|
+
const toLowerCase = options.locale === false ?
|
402
|
+
string => string.toLowerCase() :
|
403
|
+
string => string.toLocaleLowerCase(options.locale);
|
404
|
+
const toUpperCase = options.locale === false ?
|
405
|
+
string => string.toUpperCase() :
|
406
|
+
string => string.toLocaleUpperCase(options.locale);
|
407
|
+
|
408
|
+
if (input.length === 1) {
|
409
|
+
return options.pascalCase ? toUpperCase(input) : toLowerCase(input);
|
410
|
+
}
|
411
|
+
|
412
|
+
const hasUpperCase = input !== toLowerCase(input);
|
413
|
+
|
414
|
+
if (hasUpperCase) {
|
415
|
+
input = preserveCamelCase(input, toLowerCase, toUpperCase);
|
416
|
+
}
|
417
|
+
|
418
|
+
input = input.replace(LEADING_SEPARATORS, '');
|
419
|
+
|
420
|
+
if (options.preserveConsecutiveUppercase) {
|
421
|
+
input = preserveConsecutiveUppercase(input, toLowerCase);
|
422
|
+
} else {
|
423
|
+
input = toLowerCase(input);
|
424
|
+
}
|
425
|
+
|
426
|
+
if (options.pascalCase) {
|
427
|
+
input = toUpperCase(input.charAt(0)) + input.slice(1);
|
428
|
+
}
|
429
|
+
|
430
|
+
return postProcess(input, toUpperCase);
|
431
|
+
};
|
611
432
|
|
612
|
-
|
433
|
+
module.exports = camelCase;
|
434
|
+
// TODO: Remove this for the next major release
|
435
|
+
module.exports.default = camelCase;
|
613
436
|
|
614
|
-
/* harmony default export */ __webpack_exports__["a"] = (_VSheet_VSheet__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].extend().extend({
|
615
|
-
name: 'v-list',
|
616
|
-
provide() {
|
617
|
-
return {
|
618
|
-
isInList: true,
|
619
|
-
list: this
|
620
|
-
};
|
621
|
-
},
|
622
|
-
inject: {
|
623
|
-
isInMenu: {
|
624
|
-
default: false
|
625
|
-
},
|
626
|
-
isInNav: {
|
627
|
-
default: false
|
628
|
-
}
|
629
|
-
},
|
630
|
-
props: {
|
631
|
-
dense: Boolean,
|
632
|
-
disabled: Boolean,
|
633
|
-
expand: Boolean,
|
634
|
-
flat: Boolean,
|
635
|
-
nav: Boolean,
|
636
|
-
rounded: Boolean,
|
637
|
-
subheader: Boolean,
|
638
|
-
threeLine: Boolean,
|
639
|
-
twoLine: Boolean
|
640
|
-
},
|
641
|
-
data: () => ({
|
642
|
-
groups: []
|
643
|
-
}),
|
644
|
-
computed: {
|
645
|
-
classes() {
|
646
|
-
return {
|
647
|
-
..._VSheet_VSheet__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].options.computed.classes.call(this),
|
648
|
-
'v-list--dense': this.dense,
|
649
|
-
'v-list--disabled': this.disabled,
|
650
|
-
'v-list--flat': this.flat,
|
651
|
-
'v-list--nav': this.nav,
|
652
|
-
'v-list--rounded': this.rounded,
|
653
|
-
'v-list--subheader': this.subheader,
|
654
|
-
'v-list--two-line': this.twoLine,
|
655
|
-
'v-list--three-line': this.threeLine
|
656
|
-
};
|
657
|
-
}
|
658
|
-
},
|
659
|
-
methods: {
|
660
|
-
register(content) {
|
661
|
-
this.groups.push(content);
|
662
|
-
},
|
663
|
-
unregister(content) {
|
664
|
-
const index = this.groups.findIndex(g => g._uid === content._uid);
|
665
|
-
if (index > -1) this.groups.splice(index, 1);
|
666
|
-
},
|
667
|
-
listClick(uid) {
|
668
|
-
if (this.expand) return;
|
669
|
-
for (const group of this.groups) {
|
670
|
-
group.toggle(uid);
|
671
|
-
}
|
672
|
-
}
|
673
|
-
},
|
674
|
-
render(h) {
|
675
|
-
const data = {
|
676
|
-
staticClass: 'v-list',
|
677
|
-
class: this.classes,
|
678
|
-
style: this.styles,
|
679
|
-
attrs: {
|
680
|
-
role: this.isInNav || this.isInMenu ? undefined : 'list',
|
681
|
-
...this.attrs$
|
682
|
-
}
|
683
|
-
};
|
684
|
-
return h(this.tag, this.setBackgroundColor(this.color, data), [this.$slots.default]);
|
685
|
-
}
|
686
|
-
}));
|
687
437
|
|
688
438
|
/***/ }),
|
689
439
|
|
690
|
-
/***/ "
|
440
|
+
/***/ "5d2e":
|
691
441
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
692
442
|
|
693
443
|
"use strict";
|
694
|
-
/* harmony import */ var
|
695
|
-
/* harmony import */ var
|
696
|
-
/* harmony import */ var
|
697
|
-
/* harmony import */ var
|
698
|
-
/* harmony import */ var
|
699
|
-
/* harmony import */ var
|
700
|
-
|
701
|
-
/* harmony import */ var _directives_ripple__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("7b64");
|
702
|
-
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("3d78");
|
703
|
-
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("6c21");
|
704
|
-
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("9d7d");
|
705
|
-
// Styles
|
706
|
-
// Mixins
|
707
|
-
|
708
|
-
|
709
|
-
|
444
|
+
/* harmony import */ var _stackable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9c0d");
|
445
|
+
/* harmony import */ var _positionable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("3473");
|
446
|
+
/* harmony import */ var _activatable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("9be2");
|
447
|
+
/* harmony import */ var _detachable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("eeb4");
|
448
|
+
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("9d7d");
|
449
|
+
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("3d78");
|
450
|
+
// Mixins
|
710
451
|
|
711
452
|
|
712
|
-
// Directives
|
713
453
|
|
714
454
|
// Utilities
|
715
455
|
|
716
456
|
|
717
|
-
// Types
|
718
|
-
|
719
457
|
|
720
|
-
const baseMixins = Object(
|
458
|
+
const baseMixins = Object(_util_mixins__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])(_stackable__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"], Object(_positionable__WEBPACK_IMPORTED_MODULE_1__[/* factory */ "b"])(['top', 'right', 'bottom', 'left', 'absolute']), _activatable__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], _detachable__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"]);
|
721
459
|
/* @vue/component */
|
722
460
|
|
723
461
|
/* harmony default export */ __webpack_exports__["a"] = (baseMixins.extend().extend({
|
724
|
-
name: '
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
462
|
+
name: 'menuable',
|
463
|
+
props: {
|
464
|
+
allowOverflow: Boolean,
|
465
|
+
light: Boolean,
|
466
|
+
dark: Boolean,
|
467
|
+
maxWidth: {
|
468
|
+
type: [Number, String],
|
469
|
+
default: 'auto'
|
731
470
|
},
|
732
|
-
|
733
|
-
|
471
|
+
minWidth: [Number, String],
|
472
|
+
nudgeBottom: {
|
473
|
+
type: [Number, String],
|
474
|
+
default: 0
|
734
475
|
},
|
735
|
-
|
736
|
-
|
476
|
+
nudgeLeft: {
|
477
|
+
type: [Number, String],
|
478
|
+
default: 0
|
737
479
|
},
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
},
|
742
|
-
inheritAttrs: false,
|
743
|
-
props: {
|
744
|
-
activeClass: {
|
745
|
-
type: String,
|
746
|
-
default() {
|
747
|
-
if (!this.listItemGroup) return '';
|
748
|
-
return this.listItemGroup.activeClass;
|
749
|
-
}
|
480
|
+
nudgeRight: {
|
481
|
+
type: [Number, String],
|
482
|
+
default: 0
|
750
483
|
},
|
751
|
-
|
752
|
-
|
753
|
-
|
754
|
-
selectable: {
|
755
|
-
type: Boolean
|
484
|
+
nudgeTop: {
|
485
|
+
type: [Number, String],
|
486
|
+
default: 0
|
756
487
|
},
|
757
|
-
|
758
|
-
type: String,
|
759
|
-
default:
|
488
|
+
nudgeWidth: {
|
489
|
+
type: [Number, String],
|
490
|
+
default: 0
|
760
491
|
},
|
761
|
-
|
762
|
-
|
763
|
-
|
492
|
+
offsetOverflow: Boolean,
|
493
|
+
positionX: {
|
494
|
+
type: Number,
|
495
|
+
default: null
|
496
|
+
},
|
497
|
+
positionY: {
|
498
|
+
type: Number,
|
499
|
+
default: null
|
500
|
+
},
|
501
|
+
zIndex: {
|
502
|
+
type: [Number, String],
|
503
|
+
default: null
|
504
|
+
}
|
764
505
|
},
|
765
506
|
data: () => ({
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
507
|
+
activatorNode: [],
|
508
|
+
absoluteX: 0,
|
509
|
+
absoluteY: 0,
|
510
|
+
activatedBy: null,
|
511
|
+
activatorFixed: false,
|
512
|
+
dimensions: {
|
513
|
+
activator: {
|
514
|
+
top: 0,
|
515
|
+
left: 0,
|
516
|
+
bottom: 0,
|
517
|
+
right: 0,
|
518
|
+
width: 0,
|
519
|
+
height: 0,
|
520
|
+
offsetTop: 0,
|
521
|
+
scrollHeight: 0,
|
522
|
+
offsetLeft: 0
|
523
|
+
},
|
524
|
+
content: {
|
525
|
+
top: 0,
|
526
|
+
left: 0,
|
527
|
+
bottom: 0,
|
528
|
+
right: 0,
|
529
|
+
width: 0,
|
530
|
+
height: 0,
|
531
|
+
offsetTop: 0,
|
532
|
+
scrollHeight: 0
|
533
|
+
}
|
781
534
|
},
|
782
|
-
|
783
|
-
|
535
|
+
relativeYOffset: 0,
|
536
|
+
hasJustFocused: false,
|
537
|
+
hasWindow: false,
|
538
|
+
inputActivator: false,
|
539
|
+
isContentActive: false,
|
540
|
+
pageWidth: 0,
|
541
|
+
pageYOffset: 0,
|
542
|
+
stackClass: 'v-menu__content--active',
|
543
|
+
stackMinZIndex: 6
|
544
|
+
}),
|
545
|
+
computed: {
|
546
|
+
computedLeft() {
|
547
|
+
const a = this.dimensions.activator;
|
548
|
+
const c = this.dimensions.content;
|
549
|
+
const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0;
|
550
|
+
const minWidth = Math.max(a.width, c.width);
|
551
|
+
let left = 0;
|
552
|
+
left += activatorLeft;
|
553
|
+
if (this.left || this.$vuetify.rtl && !this.right) left -= minWidth - a.width;
|
554
|
+
if (this.offsetX) {
|
555
|
+
const maxWidth = isNaN(Number(this.maxWidth)) ? a.width : Math.min(a.width, Number(this.maxWidth));
|
556
|
+
left += this.left ? -maxWidth : a.width;
|
557
|
+
}
|
558
|
+
if (this.nudgeLeft) left -= parseInt(this.nudgeLeft);
|
559
|
+
if (this.nudgeRight) left += parseInt(this.nudgeRight);
|
560
|
+
return left;
|
561
|
+
},
|
562
|
+
computedTop() {
|
563
|
+
const a = this.dimensions.activator;
|
564
|
+
const c = this.dimensions.content;
|
565
|
+
let top = 0;
|
566
|
+
if (this.top) top += a.height - c.height;
|
567
|
+
if (this.attach !== false) top += a.offsetTop;else top += a.top + this.pageYOffset;
|
568
|
+
if (this.offsetY) top += this.top ? -a.height : a.height;
|
569
|
+
if (this.nudgeTop) top -= parseInt(this.nudgeTop);
|
570
|
+
if (this.nudgeBottom) top += parseInt(this.nudgeBottom);
|
571
|
+
return top;
|
572
|
+
},
|
573
|
+
hasActivator() {
|
574
|
+
return !!this.$slots.activator || !!this.$scopedSlots.activator || !!this.activator || !!this.inputActivator;
|
575
|
+
},
|
576
|
+
absoluteYOffset() {
|
577
|
+
return this.pageYOffset - this.relativeYOffset;
|
784
578
|
}
|
785
579
|
},
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
580
|
+
watch: {
|
581
|
+
disabled(val) {
|
582
|
+
val && this.callDeactivate();
|
583
|
+
},
|
584
|
+
isActive(val) {
|
585
|
+
if (this.disabled) return;
|
586
|
+
val ? this.callActivate() : this.callDeactivate();
|
587
|
+
},
|
588
|
+
positionX: 'updateDimensions',
|
589
|
+
positionY: 'updateDimensions'
|
590
|
+
},
|
591
|
+
beforeMount() {
|
592
|
+
this.hasWindow = typeof window !== 'undefined';
|
593
|
+
if (this.hasWindow) {
|
594
|
+
window.addEventListener('resize', this.updateDimensions, false);
|
595
|
+
}
|
596
|
+
},
|
597
|
+
beforeDestroy() {
|
598
|
+
if (this.hasWindow) {
|
599
|
+
window.removeEventListener('resize', this.updateDimensions, false);
|
790
600
|
}
|
791
601
|
},
|
792
602
|
methods: {
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
603
|
+
absolutePosition() {
|
604
|
+
return {
|
605
|
+
offsetTop: this.positionY || this.absoluteY,
|
606
|
+
offsetLeft: this.positionX || this.absoluteX,
|
607
|
+
scrollHeight: 0,
|
608
|
+
top: this.positionY || this.absoluteY,
|
609
|
+
bottom: this.positionY || this.absoluteY,
|
610
|
+
left: this.positionX || this.absoluteX,
|
611
|
+
right: this.positionX || this.absoluteX,
|
612
|
+
height: 0,
|
613
|
+
width: 0
|
803
614
|
};
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
615
|
+
},
|
616
|
+
activate() {},
|
617
|
+
calcLeft(menuWidth) {
|
618
|
+
return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_5__[/* convertToUnit */ "g"])(this.attach !== false ? this.computedLeft : this.calcXOverflow(this.computedLeft, menuWidth));
|
619
|
+
},
|
620
|
+
calcTop() {
|
621
|
+
return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_5__[/* convertToUnit */ "g"])(this.attach !== false ? this.computedTop : this.calcYOverflow(this.computedTop));
|
622
|
+
},
|
623
|
+
calcXOverflow(left, menuWidth) {
|
624
|
+
const xOverflow = left + menuWidth - this.pageWidth + 12;
|
625
|
+
if ((!this.left || this.right) && xOverflow > 0) {
|
626
|
+
left = Math.max(left - xOverflow, 0);
|
627
|
+
} else {
|
628
|
+
left = Math.max(left, 12);
|
814
629
|
}
|
815
|
-
return
|
630
|
+
return left + this.getOffsetLeft();
|
631
|
+
},
|
632
|
+
calcYOverflow(top) {
|
633
|
+
const documentHeight = this.getInnerHeight();
|
634
|
+
const toTop = this.absoluteYOffset + documentHeight;
|
635
|
+
const activator = this.dimensions.activator;
|
636
|
+
const contentHeight = this.dimensions.content.height;
|
637
|
+
const totalHeight = top + contentHeight;
|
638
|
+
const isOverflowing = toTop < totalHeight; // If overflowing bottom and offset
|
639
|
+
// TODO: set 'bottom' position instead of 'top'
|
640
|
+
|
641
|
+
if (isOverflowing && this.offsetOverflow &&
|
642
|
+
// If we don't have enough room to offset
|
643
|
+
// the overflow, don't offset
|
644
|
+
activator.top > contentHeight) {
|
645
|
+
top = this.pageYOffset + (activator.top - contentHeight); // If overflowing bottom
|
646
|
+
} else if (isOverflowing && !this.allowOverflow) {
|
647
|
+
top = toTop - contentHeight - 12; // If overflowing top
|
648
|
+
} else if (top < this.absoluteYOffset && !this.allowOverflow) {
|
649
|
+
top = this.absoluteYOffset + 12;
|
650
|
+
}
|
651
|
+
return top < 12 ? 12 : top;
|
652
|
+
},
|
653
|
+
callActivate() {
|
654
|
+
if (!this.hasWindow) return;
|
655
|
+
this.activate();
|
816
656
|
},
|
817
|
-
|
818
|
-
|
819
|
-
|
657
|
+
callDeactivate() {
|
658
|
+
this.isContentActive = false;
|
659
|
+
this.deactivate();
|
660
|
+
},
|
661
|
+
checkForPageYOffset() {
|
662
|
+
if (this.hasWindow) {
|
663
|
+
this.pageYOffset = this.activatorFixed ? 0 : this.getOffsetTop();
|
820
664
|
}
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
};
|
833
|
-
data[this.to ? 'nativeOn' : 'on'] = {
|
834
|
-
...data[this.to ? 'nativeOn' : 'on'],
|
835
|
-
keydown: e => {
|
836
|
-
if (!this.disabled) {
|
837
|
-
/* istanbul ignore else */
|
838
|
-
if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_7__[/* keyCodes */ "s"].enter) this.click(e);
|
839
|
-
this.$emit('keydown', e);
|
665
|
+
},
|
666
|
+
checkActivatorFixed() {
|
667
|
+
if (this.attach !== false) {
|
668
|
+
this.activatorFixed = false;
|
669
|
+
return;
|
670
|
+
}
|
671
|
+
let el = this.getActivator();
|
672
|
+
while (el) {
|
673
|
+
if (window.getComputedStyle(el).position === 'fixed') {
|
674
|
+
this.activatorFixed = true;
|
675
|
+
return;
|
840
676
|
}
|
677
|
+
el = el.offsetParent;
|
841
678
|
}
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
679
|
+
this.activatorFixed = false;
|
680
|
+
},
|
681
|
+
deactivate() {},
|
682
|
+
genActivatorListeners() {
|
683
|
+
const listeners = _activatable__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"].options.methods.genActivatorListeners.call(this);
|
684
|
+
const onClick = listeners.click;
|
685
|
+
if (onClick) {
|
686
|
+
listeners.click = e => {
|
687
|
+
if (this.openOnClick) {
|
688
|
+
onClick && onClick(e);
|
689
|
+
}
|
690
|
+
this.absoluteX = e.clientX;
|
691
|
+
this.absoluteY = e.clientY;
|
692
|
+
};
|
693
|
+
}
|
694
|
+
return listeners;
|
695
|
+
},
|
696
|
+
getInnerHeight() {
|
697
|
+
if (!this.hasWindow) return 0;
|
698
|
+
return window.innerHeight || document.documentElement.clientHeight;
|
699
|
+
},
|
700
|
+
getOffsetLeft() {
|
701
|
+
if (!this.hasWindow) return 0;
|
702
|
+
return window.pageXOffset || document.documentElement.scrollLeft;
|
703
|
+
},
|
704
|
+
getOffsetTop() {
|
705
|
+
if (!this.hasWindow) return 0;
|
706
|
+
return window.pageYOffset || document.documentElement.scrollTop;
|
707
|
+
},
|
708
|
+
getRoundedBoundedClientRect(el) {
|
709
|
+
const rect = el.getBoundingClientRect();
|
710
|
+
return {
|
711
|
+
top: Math.round(rect.top),
|
712
|
+
left: Math.round(rect.left),
|
713
|
+
bottom: Math.round(rect.bottom),
|
714
|
+
right: Math.round(rect.right),
|
715
|
+
width: Math.round(rect.width),
|
716
|
+
height: Math.round(rect.height)
|
717
|
+
};
|
718
|
+
},
|
719
|
+
measure(el) {
|
720
|
+
if (!el || !this.hasWindow) return null;
|
721
|
+
const rect = this.getRoundedBoundedClientRect(el); // Account for activator margin
|
722
|
+
|
723
|
+
if (this.attach !== false) {
|
724
|
+
const style = window.getComputedStyle(el);
|
725
|
+
rect.left = parseInt(style.marginLeft);
|
726
|
+
rect.top = parseInt(style.marginTop);
|
727
|
+
}
|
728
|
+
return rect;
|
729
|
+
},
|
730
|
+
sneakPeek(cb) {
|
731
|
+
requestAnimationFrame(() => {
|
732
|
+
const el = this.$refs.content;
|
733
|
+
if (!el || el.style.display !== 'none') {
|
734
|
+
cb();
|
735
|
+
return;
|
736
|
+
}
|
737
|
+
el.style.display = 'inline-block';
|
738
|
+
cb();
|
739
|
+
el.style.display = 'none';
|
740
|
+
});
|
741
|
+
},
|
742
|
+
startTransition() {
|
743
|
+
return new Promise(resolve => requestAnimationFrame(() => {
|
744
|
+
this.isContentActive = this.hasJustFocused = this.isActive;
|
745
|
+
resolve();
|
746
|
+
}));
|
747
|
+
},
|
748
|
+
updateDimensions() {
|
749
|
+
this.hasWindow = typeof window !== 'undefined';
|
750
|
+
this.checkActivatorFixed();
|
751
|
+
this.checkForPageYOffset();
|
752
|
+
this.pageWidth = document.documentElement.clientWidth;
|
753
|
+
const dimensions = {
|
754
|
+
activator: {
|
755
|
+
...this.dimensions.activator
|
756
|
+
},
|
757
|
+
content: {
|
758
|
+
...this.dimensions.content
|
759
|
+
}
|
760
|
+
}; // Activator should already be shown
|
761
|
+
|
762
|
+
if (!this.hasActivator || this.absolute) {
|
763
|
+
dimensions.activator = this.absolutePosition();
|
764
|
+
} else {
|
765
|
+
const activator = this.getActivator();
|
766
|
+
if (!activator) return;
|
767
|
+
dimensions.activator = this.measure(activator);
|
768
|
+
dimensions.activator.offsetLeft = activator.offsetLeft;
|
769
|
+
if (this.attach !== false) {
|
770
|
+
// account for css padding causing things to not line up
|
771
|
+
// this is mostly for v-autocomplete, hopefully it won't break anything
|
772
|
+
dimensions.activator.offsetTop = activator.offsetTop;
|
773
|
+
} else {
|
774
|
+
dimensions.activator.offsetTop = 0;
|
775
|
+
}
|
776
|
+
} // Display and hide to get dimensions
|
777
|
+
|
778
|
+
this.sneakPeek(() => {
|
779
|
+
if (this.$refs.content) {
|
780
|
+
if (this.$refs.content.offsetParent) {
|
781
|
+
const offsetRect = this.getRoundedBoundedClientRect(this.$refs.content.offsetParent);
|
782
|
+
this.relativeYOffset = window.pageYOffset + offsetRect.top;
|
783
|
+
dimensions.activator.top -= this.relativeYOffset;
|
784
|
+
dimensions.activator.left -= window.pageXOffset + offsetRect.left;
|
785
|
+
}
|
786
|
+
dimensions.content = this.measure(this.$refs.content);
|
787
|
+
}
|
788
|
+
this.dimensions = dimensions;
|
789
|
+
});
|
847
790
|
}
|
848
|
-
const children = this.$scopedSlots.default ? this.$scopedSlots.default({
|
849
|
-
active: this.isActive,
|
850
|
-
toggle: this.toggle
|
851
|
-
}) : this.$slots.default;
|
852
|
-
return h(tag, this.isActive ? this.setTextColor(this.color, data) : data, children);
|
853
791
|
}
|
854
792
|
}));
|
855
793
|
|
856
794
|
/***/ }),
|
857
795
|
|
858
|
-
/***/ "
|
796
|
+
/***/ "5ecd":
|
797
|
+
/***/ (function(module, exports, __webpack_require__) {
|
798
|
+
|
799
|
+
!function(e,i){ true?module.exports=i():undefined}(this,(function(){"use strict";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r="("===(f=f||"()")[0],u=")"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));
|
800
|
+
|
801
|
+
/***/ }),
|
802
|
+
|
803
|
+
/***/ "7310":
|
804
|
+
/***/ (function(module, exports, __webpack_require__) {
|
805
|
+
|
806
|
+
var wellKnownSymbol = __webpack_require__("1860");
|
807
|
+
var create = __webpack_require__("2444");
|
808
|
+
var defineProperty = __webpack_require__("3ce5").f;
|
809
|
+
|
810
|
+
var UNSCOPABLES = wellKnownSymbol('unscopables');
|
811
|
+
var ArrayPrototype = Array.prototype;
|
812
|
+
|
813
|
+
// Array.prototype[@@unscopables]
|
814
|
+
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
|
815
|
+
if (ArrayPrototype[UNSCOPABLES] == undefined) {
|
816
|
+
defineProperty(ArrayPrototype, UNSCOPABLES, {
|
817
|
+
configurable: true,
|
818
|
+
value: create(null)
|
819
|
+
});
|
820
|
+
}
|
821
|
+
|
822
|
+
// add a key to Array.prototype[@@unscopables]
|
823
|
+
module.exports = function (key) {
|
824
|
+
ArrayPrototype[UNSCOPABLES][key] = true;
|
825
|
+
};
|
826
|
+
|
827
|
+
|
828
|
+
/***/ }),
|
829
|
+
|
830
|
+
/***/ "759d":
|
859
831
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
860
832
|
|
861
833
|
"use strict";
|
862
834
|
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c3d6");
|
863
835
|
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);
|
864
|
-
/* harmony import */ var
|
865
|
-
/* harmony import */ var _src_components_VMenu_VMenu_sass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_src_components_VMenu_VMenu_sass__WEBPACK_IMPORTED_MODULE_1__);
|
866
|
-
/* harmony import */ var _VThemeProvider__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("3f84");
|
867
|
-
/* harmony import */ var _mixins_activatable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("9be2");
|
868
|
-
/* harmony import */ var _mixins_delayable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("0ce2");
|
869
|
-
/* harmony import */ var _mixins_dependent__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("759d");
|
870
|
-
/* harmony import */ var _mixins_menuable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("5d2e");
|
871
|
-
/* harmony import */ var _mixins_returnable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("4368");
|
872
|
-
/* harmony import */ var _mixins_roundable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("a0f0");
|
873
|
-
/* harmony import */ var _mixins_themeable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("64ad");
|
874
|
-
/* harmony import */ var _directives_click_outside__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("9d2d");
|
875
|
-
/* harmony import */ var _directives_resize__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("d257");
|
876
|
-
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("9d7d");
|
877
|
-
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("6c21");
|
878
|
-
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("3d78");
|
879
|
-
/* harmony import */ var _services_goto__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("3b2f");
|
836
|
+
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("9d7d");
|
880
837
|
|
881
|
-
// Styles
|
882
|
-
// Components
|
883
838
|
|
884
|
-
|
839
|
+
function searchChildren(children) {
|
840
|
+
const results = [];
|
841
|
+
for (let index = 0; index < children.length; index++) {
|
842
|
+
const child = children[index];
|
843
|
+
if (child.isActive && child.isDependent) {
|
844
|
+
results.push(child);
|
845
|
+
} else {
|
846
|
+
results.push(...searchChildren(child.$children));
|
847
|
+
}
|
848
|
+
}
|
849
|
+
return results;
|
850
|
+
}
|
851
|
+
/* @vue/component */
|
885
852
|
|
853
|
+
/* harmony default export */ __webpack_exports__["a"] = (Object(_util_mixins__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])().extend({
|
854
|
+
name: 'dependent',
|
855
|
+
data() {
|
856
|
+
return {
|
857
|
+
closeDependents: true,
|
858
|
+
isActive: false,
|
859
|
+
isDependent: true
|
860
|
+
};
|
861
|
+
},
|
862
|
+
watch: {
|
863
|
+
isActive(val) {
|
864
|
+
if (val) return;
|
865
|
+
const openDependents = this.getOpenDependents();
|
866
|
+
for (let index = 0; index < openDependents.length; index++) {
|
867
|
+
openDependents[index].isActive = false;
|
868
|
+
}
|
869
|
+
}
|
870
|
+
},
|
871
|
+
methods: {
|
872
|
+
getOpenDependents() {
|
873
|
+
if (this.closeDependents) return searchChildren(this.$children);
|
874
|
+
return [];
|
875
|
+
},
|
876
|
+
getOpenDependentElements() {
|
877
|
+
const result = [];
|
878
|
+
const openDependents = this.getOpenDependents();
|
879
|
+
for (let index = 0; index < openDependents.length; index++) {
|
880
|
+
result.push(...openDependents[index].getClickableDependentElements());
|
881
|
+
}
|
882
|
+
return result;
|
883
|
+
},
|
884
|
+
getClickableDependentElements() {
|
885
|
+
const result = [this.$el];
|
886
|
+
if (this.$refs.content) result.push(this.$refs.content);
|
887
|
+
if (this.overlay) result.push(this.overlay.$el);
|
888
|
+
result.push(...this.getOpenDependentElements());
|
889
|
+
return result;
|
890
|
+
}
|
891
|
+
}
|
892
|
+
}));
|
893
|
+
|
894
|
+
/***/ }),
|
886
895
|
|
896
|
+
/***/ "886c":
|
897
|
+
/***/ (function(module, exports, __webpack_require__) {
|
887
898
|
|
899
|
+
// extracted by mini-css-extract-plugin
|
888
900
|
|
901
|
+
/***/ }),
|
889
902
|
|
903
|
+
/***/ "8e6b":
|
904
|
+
/***/ (function(module, exports, __webpack_require__) {
|
890
905
|
|
906
|
+
// extracted by mini-css-extract-plugin
|
891
907
|
|
892
|
-
|
908
|
+
/***/ }),
|
893
909
|
|
910
|
+
/***/ "9be2":
|
911
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
894
912
|
|
895
|
-
|
913
|
+
"use strict";
|
914
|
+
/* harmony import */ var _delayable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("0ce2");
|
915
|
+
/* harmony import */ var _toggleable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("646d");
|
916
|
+
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("9d7d");
|
917
|
+
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("3d78");
|
918
|
+
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("6c21");
|
919
|
+
// Mixins
|
896
920
|
|
921
|
+
// Utilities
|
897
922
|
|
898
923
|
|
899
924
|
|
900
925
|
|
901
|
-
const baseMixins = Object(
|
926
|
+
const baseMixins = Object(_util_mixins__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_delayable__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"], _toggleable__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"]);
|
902
927
|
/* @vue/component */
|
903
928
|
|
904
929
|
/* harmony default export */ __webpack_exports__["a"] = (baseMixins.extend({
|
905
|
-
name: '
|
906
|
-
directives: {
|
907
|
-
ClickOutside: _directives_click_outside__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"],
|
908
|
-
Resize: _directives_resize__WEBPACK_IMPORTED_MODULE_11__[/* default */ "a"]
|
909
|
-
},
|
910
|
-
provide() {
|
911
|
-
return {
|
912
|
-
isInMenu: true,
|
913
|
-
// Pass theme through to default slot
|
914
|
-
theme: this.theme
|
915
|
-
};
|
916
|
-
},
|
930
|
+
name: 'activatable',
|
917
931
|
props: {
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
932
|
+
activator: {
|
933
|
+
default: null,
|
934
|
+
validator: val => {
|
935
|
+
return ['string', 'object'].includes(typeof val);
|
936
|
+
}
|
922
937
|
},
|
923
|
-
|
938
|
+
disabled: Boolean,
|
939
|
+
internalActivator: Boolean,
|
940
|
+
openOnClick: {
|
924
941
|
type: Boolean,
|
925
942
|
default: true
|
926
943
|
},
|
927
|
-
disabled: Boolean,
|
928
|
-
disableKeys: Boolean,
|
929
|
-
maxHeight: {
|
930
|
-
type: [Number, String],
|
931
|
-
default: 'auto'
|
932
|
-
},
|
933
|
-
offsetX: Boolean,
|
934
|
-
offsetY: Boolean,
|
935
944
|
openOnHover: Boolean,
|
936
|
-
|
937
|
-
type: String,
|
938
|
-
default: 'top left'
|
939
|
-
},
|
940
|
-
transition: {
|
941
|
-
type: [Boolean, String],
|
942
|
-
default: 'v-menu-transition'
|
943
|
-
}
|
944
|
-
},
|
945
|
-
data() {
|
946
|
-
return {
|
947
|
-
calculatedTopAuto: 0,
|
948
|
-
defaultOffset: 8,
|
949
|
-
hasJustFocused: false,
|
950
|
-
listIndex: -1,
|
951
|
-
resizeTimeout: 0,
|
952
|
-
selectedIndex: null,
|
953
|
-
tiles: []
|
954
|
-
};
|
955
|
-
},
|
956
|
-
computed: {
|
957
|
-
activeTile() {
|
958
|
-
return this.tiles[this.listIndex];
|
959
|
-
},
|
960
|
-
calculatedLeft() {
|
961
|
-
const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth));
|
962
|
-
if (!this.auto) return this.calcLeft(menuWidth) || '0';
|
963
|
-
return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* convertToUnit */ "g"])(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0';
|
964
|
-
},
|
965
|
-
calculatedMaxHeight() {
|
966
|
-
const height = this.auto ? '200px' : Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* convertToUnit */ "g"])(this.maxHeight);
|
967
|
-
return height || '0';
|
968
|
-
},
|
969
|
-
calculatedMaxWidth() {
|
970
|
-
return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* convertToUnit */ "g"])(this.maxWidth) || '0';
|
971
|
-
},
|
972
|
-
calculatedMinWidth() {
|
973
|
-
if (this.minWidth) {
|
974
|
-
return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* convertToUnit */ "g"])(this.minWidth) || '0';
|
975
|
-
}
|
976
|
-
const minWidth = Math.min(this.dimensions.activator.width + Number(this.nudgeWidth) + (this.auto ? 16 : 0), Math.max(this.pageWidth - 24, 0));
|
977
|
-
const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth)) ? minWidth : parseInt(this.calculatedMaxWidth);
|
978
|
-
return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* convertToUnit */ "g"])(Math.min(calculatedMaxWidth, minWidth)) || '0';
|
979
|
-
},
|
980
|
-
calculatedTop() {
|
981
|
-
const top = !this.auto ? this.calcTop() : Object(_util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* convertToUnit */ "g"])(this.calcYOverflow(this.calculatedTopAuto));
|
982
|
-
return top || '0';
|
983
|
-
},
|
984
|
-
hasClickableTiles() {
|
985
|
-
return Boolean(this.tiles.find(tile => tile.tabIndex > -1));
|
986
|
-
},
|
987
|
-
styles() {
|
988
|
-
return {
|
989
|
-
maxHeight: this.calculatedMaxHeight,
|
990
|
-
minWidth: this.calculatedMinWidth,
|
991
|
-
maxWidth: this.calculatedMaxWidth,
|
992
|
-
top: this.calculatedTop,
|
993
|
-
left: this.calculatedLeft,
|
994
|
-
transformOrigin: this.origin,
|
995
|
-
zIndex: this.zIndex || this.activeZIndex
|
996
|
-
};
|
997
|
-
}
|
945
|
+
openOnFocus: Boolean
|
998
946
|
},
|
947
|
+
data: () => ({
|
948
|
+
// Do not use this directly, call getActivator() instead
|
949
|
+
activatorElement: null,
|
950
|
+
activatorNode: [],
|
951
|
+
events: ['click', 'mouseenter', 'mouseleave', 'focus'],
|
952
|
+
listeners: {}
|
953
|
+
}),
|
999
954
|
watch: {
|
1000
|
-
|
1001
|
-
|
1002
|
-
|
1003
|
-
isContentActive(val) {
|
1004
|
-
this.hasJustFocused = val;
|
1005
|
-
},
|
1006
|
-
listIndex(next, prev) {
|
1007
|
-
if (next in this.tiles) {
|
1008
|
-
const tile = this.tiles[next];
|
1009
|
-
tile.classList.add('v-list-item--highlighted');
|
1010
|
-
const scrollTop = this.$refs.content.scrollTop;
|
1011
|
-
const contentHeight = this.$refs.content.clientHeight;
|
1012
|
-
if (scrollTop > tile.offsetTop - 8) {
|
1013
|
-
Object(_services_goto__WEBPACK_IMPORTED_MODULE_15__[/* default */ "b"])(tile.offsetTop - tile.clientHeight, {
|
1014
|
-
appOffset: false,
|
1015
|
-
duration: 300,
|
1016
|
-
container: this.$refs.content
|
1017
|
-
});
|
1018
|
-
} else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {
|
1019
|
-
Object(_services_goto__WEBPACK_IMPORTED_MODULE_15__[/* default */ "b"])(tile.offsetTop - contentHeight + tile.clientHeight * 2, {
|
1020
|
-
appOffset: false,
|
1021
|
-
duration: 300,
|
1022
|
-
container: this.$refs.content
|
1023
|
-
});
|
1024
|
-
}
|
1025
|
-
}
|
1026
|
-
prev in this.tiles && this.tiles[prev].classList.remove('v-list-item--highlighted');
|
1027
|
-
}
|
955
|
+
activator: 'resetActivator',
|
956
|
+
openOnFocus: 'resetActivator',
|
957
|
+
openOnHover: 'resetActivator'
|
1028
958
|
},
|
1029
|
-
|
1030
|
-
/*
|
1031
|
-
if (
|
1032
|
-
Object(
|
959
|
+
mounted() {
|
960
|
+
const slotType = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__[/* getSlotType */ "p"])(this, 'activator', true);
|
961
|
+
if (slotType && ['v-slot', 'normal'].includes(slotType)) {
|
962
|
+
Object(_util_console__WEBPACK_IMPORTED_MODULE_4__[/* consoleError */ "b"])(`The activator slot must be bound, try '<template v-slot:activator="{ on }"><v-btn v-on="on">'`, this);
|
1033
963
|
}
|
964
|
+
this.addActivatorEvents();
|
1034
965
|
},
|
1035
|
-
|
1036
|
-
this.
|
966
|
+
beforeDestroy() {
|
967
|
+
this.removeActivatorEvents();
|
1037
968
|
},
|
1038
969
|
methods: {
|
1039
|
-
|
1040
|
-
|
1041
|
-
|
1042
|
-
this.
|
1043
|
-
|
1044
|
-
|
1045
|
-
// Once transitioning, calculate scroll and top position
|
1046
|
-
this.startTransition().then(() => {
|
1047
|
-
if (this.$refs.content) {
|
1048
|
-
this.calculatedTopAuto = this.calcTopAuto();
|
1049
|
-
this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition());
|
1050
|
-
}
|
1051
|
-
});
|
1052
|
-
});
|
1053
|
-
},
|
1054
|
-
calcScrollPosition() {
|
1055
|
-
const $el = this.$refs.content;
|
1056
|
-
const activeTile = $el.querySelector('.v-list-item--active');
|
1057
|
-
const maxScrollTop = $el.scrollHeight - $el.offsetHeight;
|
1058
|
-
return activeTile ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2)) : $el.scrollTop;
|
1059
|
-
},
|
1060
|
-
calcLeftAuto() {
|
1061
|
-
return parseInt(this.dimensions.activator.left - this.defaultOffset * 2);
|
1062
|
-
},
|
1063
|
-
calcTopAuto() {
|
1064
|
-
const $el = this.$refs.content;
|
1065
|
-
const activeTile = $el.querySelector('.v-list-item--active');
|
1066
|
-
if (!activeTile) {
|
1067
|
-
this.selectedIndex = null;
|
1068
|
-
}
|
1069
|
-
if (this.offsetY || !activeTile) {
|
1070
|
-
return this.computedTop;
|
970
|
+
addActivatorEvents() {
|
971
|
+
if (!this.activator || this.disabled || !this.getActivator()) return;
|
972
|
+
this.listeners = this.genActivatorListeners();
|
973
|
+
const keys = Object.keys(this.listeners);
|
974
|
+
for (const key of keys) {
|
975
|
+
this.getActivator().addEventListener(key, this.listeners[key]);
|
1071
976
|
}
|
1072
|
-
this.selectedIndex = Array.from(this.tiles).indexOf(activeTile);
|
1073
|
-
const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition();
|
1074
|
-
const firstTileOffsetTop = $el.querySelector('.v-list-item').offsetTop;
|
1075
|
-
return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1;
|
1076
|
-
},
|
1077
|
-
changeListIndex(e) {
|
1078
|
-
// For infinite scroll and autocomplete, re-evaluate children
|
1079
|
-
this.getTiles();
|
1080
|
-
if (!this.isActive || !this.hasClickableTiles) {
|
1081
|
-
return;
|
1082
|
-
} else if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].tab) {
|
1083
|
-
this.isActive = false;
|
1084
|
-
return;
|
1085
|
-
} else if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].down) {
|
1086
|
-
this.nextTile();
|
1087
|
-
} else if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].up) {
|
1088
|
-
this.prevTile();
|
1089
|
-
} else if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].end) {
|
1090
|
-
this.lastTile();
|
1091
|
-
} else if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].home) {
|
1092
|
-
this.firstTile();
|
1093
|
-
} else if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].enter && this.listIndex !== -1) {
|
1094
|
-
this.tiles[this.listIndex].click();
|
1095
|
-
} else {
|
1096
|
-
return;
|
1097
|
-
} // One of the conditions was met, prevent default action (#2988)
|
1098
|
-
|
1099
|
-
e.preventDefault();
|
1100
977
|
},
|
1101
|
-
|
1102
|
-
const
|
1103
|
-
|
978
|
+
genActivator() {
|
979
|
+
const node = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__[/* getSlot */ "o"])(this, 'activator', Object.assign(this.getValueProxy(), {
|
980
|
+
on: this.genActivatorListeners(),
|
981
|
+
attrs: this.genActivatorAttributes()
|
982
|
+
})) || [];
|
983
|
+
this.activatorNode = node;
|
984
|
+
return node;
|
1104
985
|
},
|
1105
986
|
genActivatorAttributes() {
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
};
|
1112
|
-
}
|
1113
|
-
return attributes;
|
987
|
+
return {
|
988
|
+
role: this.openOnClick && !this.openOnHover ? 'button' : undefined,
|
989
|
+
'aria-haspopup': true,
|
990
|
+
'aria-expanded': String(this.isActive)
|
991
|
+
};
|
1114
992
|
},
|
1115
993
|
genActivatorListeners() {
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
994
|
+
if (this.disabled) return {};
|
995
|
+
const listeners = {};
|
996
|
+
if (this.openOnHover) {
|
997
|
+
listeners.mouseenter = e => {
|
998
|
+
this.getActivator(e);
|
999
|
+
this.runDelay('open');
|
1000
|
+
};
|
1001
|
+
listeners.mouseleave = e => {
|
1002
|
+
this.getActivator(e);
|
1003
|
+
this.runDelay('close');
|
1004
|
+
};
|
1005
|
+
} else if (this.openOnClick) {
|
1006
|
+
listeners.click = e => {
|
1007
|
+
const activator = this.getActivator(e);
|
1008
|
+
if (activator) activator.focus();
|
1009
|
+
e.stopPropagation();
|
1010
|
+
this.isActive = !this.isActive;
|
1011
|
+
};
|
1012
|
+
}
|
1013
|
+
if (this.openOnFocus) {
|
1014
|
+
listeners.focus = e => {
|
1015
|
+
this.getActivator(e);
|
1016
|
+
e.stopPropagation();
|
1017
|
+
this.isActive = !this.isActive;
|
1018
|
+
};
|
1119
1019
|
}
|
1120
1020
|
return listeners;
|
1121
1021
|
},
|
1122
|
-
|
1123
|
-
|
1124
|
-
if (
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1022
|
+
getActivator(e) {
|
1023
|
+
// If we've already fetched the activator, re-use
|
1024
|
+
if (this.activatorElement) return this.activatorElement;
|
1025
|
+
let activator = null;
|
1026
|
+
if (this.activator) {
|
1027
|
+
const target = this.internalActivator ? this.$el : document;
|
1028
|
+
if (typeof this.activator === 'string') {
|
1029
|
+
// Selector
|
1030
|
+
activator = target.querySelector(this.activator);
|
1031
|
+
} else if (this.activator.$el) {
|
1032
|
+
// Component (ref)
|
1033
|
+
activator = this.activator.$el;
|
1034
|
+
} else {
|
1035
|
+
// HTMLElement | Element
|
1036
|
+
activator = this.activator;
|
1128
1037
|
}
|
1129
|
-
}
|
1038
|
+
} else if (this.activatorNode.length === 1 || this.activatorNode.length && !e) {
|
1039
|
+
// Use the contents of the activator slot
|
1040
|
+
// There's either only one element in it or we
|
1041
|
+
// don't have a click event to use as a last resort
|
1042
|
+
const vm = this.activatorNode[0].componentInstance;
|
1043
|
+
if (vm && vm.$options.mixins &&
|
1044
|
+
// Activatable is indirectly used via Menuable
|
1045
|
+
vm.$options.mixins.some(m => m.options && ['activatable', 'menuable'].includes(m.options.name))) {
|
1046
|
+
// Activator is actually another activatible component, use its activator (#8846)
|
1047
|
+
activator = vm.getActivator();
|
1048
|
+
} else {
|
1049
|
+
activator = this.activatorNode[0].elm;
|
1050
|
+
}
|
1051
|
+
} else if (e) {
|
1052
|
+
// Activated by a click or focus event
|
1053
|
+
activator = e.currentTarget || e.target;
|
1054
|
+
} // The activator should only be a valid element (Ignore comments and text nodes)
|
1055
|
+
|
1056
|
+
this.activatorElement = (activator === null || activator === void 0 ? void 0 : activator.nodeType) === Node.ELEMENT_NODE ? activator : null;
|
1057
|
+
return this.activatorElement;
|
1130
1058
|
},
|
1131
|
-
|
1132
|
-
|
1133
|
-
name: 'show',
|
1134
|
-
value: this.isContentActive
|
1135
|
-
}]; // Do not add click outside for hover menu
|
1136
|
-
|
1137
|
-
if (!this.openOnHover && this.closeOnClick) {
|
1138
|
-
directives.push({
|
1139
|
-
name: 'click-outside',
|
1140
|
-
value: {
|
1141
|
-
handler: () => {
|
1142
|
-
this.isActive = false;
|
1143
|
-
},
|
1144
|
-
closeConditional: this.closeConditional,
|
1145
|
-
include: () => [this.$el, ...this.getOpenDependentElements()]
|
1146
|
-
}
|
1147
|
-
});
|
1148
|
-
}
|
1149
|
-
return directives;
|
1059
|
+
getContentSlot() {
|
1060
|
+
return Object(_util_helpers__WEBPACK_IMPORTED_MODULE_3__[/* getSlot */ "o"])(this, 'default', this.getValueProxy(), true);
|
1150
1061
|
},
|
1151
|
-
|
1152
|
-
const
|
1153
|
-
|
1154
|
-
|
1155
|
-
|
1156
|
-
},
|
1157
|
-
staticClass: 'v-menu__content',
|
1158
|
-
class: {
|
1159
|
-
...this.rootThemeClasses,
|
1160
|
-
...this.roundedClasses,
|
1161
|
-
'v-menu__content--auto': this.auto,
|
1162
|
-
'v-menu__content--fixed': this.activatorFixed,
|
1163
|
-
menuable__content__active: this.isActive,
|
1164
|
-
[this.contentClass.trim()]: true
|
1062
|
+
getValueProxy() {
|
1063
|
+
const self = this;
|
1064
|
+
return {
|
1065
|
+
get value() {
|
1066
|
+
return self.isActive;
|
1165
1067
|
},
|
1166
|
-
|
1167
|
-
|
1168
|
-
ref: 'content',
|
1169
|
-
on: {
|
1170
|
-
click: e => {
|
1171
|
-
const target = e.target;
|
1172
|
-
if (target.getAttribute('disabled')) return;
|
1173
|
-
if (this.closeOnContentClick) this.isActive = false;
|
1174
|
-
},
|
1175
|
-
keydown: this.onKeyDown
|
1068
|
+
set value(isActive) {
|
1069
|
+
self.isActive = isActive;
|
1176
1070
|
}
|
1177
1071
|
};
|
1178
|
-
if (this.$listeners.scroll) {
|
1179
|
-
options.on = options.on || {};
|
1180
|
-
options.on.scroll = this.$listeners.scroll;
|
1181
|
-
}
|
1182
|
-
if (!this.disabled && this.openOnHover) {
|
1183
|
-
options.on = options.on || {};
|
1184
|
-
options.on.mouseenter = this.mouseEnterHandler;
|
1185
|
-
}
|
1186
|
-
if (this.openOnHover) {
|
1187
|
-
options.on = options.on || {};
|
1188
|
-
options.on.mouseleave = this.mouseLeaveHandler;
|
1189
|
-
}
|
1190
|
-
return this.$createElement('div', options, this.getContentSlot());
|
1191
|
-
},
|
1192
|
-
getTiles() {
|
1193
|
-
if (!this.$refs.content) return;
|
1194
|
-
this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'));
|
1195
|
-
},
|
1196
|
-
mouseEnterHandler() {
|
1197
|
-
this.runDelay('open', () => {
|
1198
|
-
if (this.hasJustFocused) return;
|
1199
|
-
this.hasJustFocused = true;
|
1200
|
-
});
|
1201
|
-
},
|
1202
|
-
mouseLeaveHandler(e) {
|
1203
|
-
// Prevent accidental re-activation
|
1204
|
-
this.runDelay('close', () => {
|
1205
|
-
var _a;
|
1206
|
-
if ((_a = this.$refs.content) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget)) return;
|
1207
|
-
requestAnimationFrame(() => {
|
1208
|
-
this.isActive = false;
|
1209
|
-
this.callDeactivate();
|
1210
|
-
});
|
1211
|
-
});
|
1212
1072
|
},
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
1216
|
-
|
1217
|
-
this.
|
1218
|
-
this.nextTile();
|
1219
|
-
return;
|
1220
|
-
}
|
1221
|
-
this.listIndex++;
|
1222
|
-
if (tile.tabIndex === -1) this.nextTile();
|
1223
|
-
},
|
1224
|
-
prevTile() {
|
1225
|
-
const tile = this.tiles[this.listIndex - 1];
|
1226
|
-
if (!tile) {
|
1227
|
-
if (!this.tiles.length) return;
|
1228
|
-
this.listIndex = this.tiles.length;
|
1229
|
-
this.prevTile();
|
1230
|
-
return;
|
1073
|
+
removeActivatorEvents() {
|
1074
|
+
if (!this.activator || !this.activatorElement) return;
|
1075
|
+
const keys = Object.keys(this.listeners);
|
1076
|
+
for (const key of keys) {
|
1077
|
+
this.activatorElement.removeEventListener(key, this.listeners[key]);
|
1231
1078
|
}
|
1232
|
-
this.
|
1233
|
-
|
1234
|
-
|
1235
|
-
|
1236
|
-
|
1237
|
-
|
1238
|
-
this.
|
1239
|
-
if (tile.tabIndex === -1) this.prevTile();
|
1240
|
-
},
|
1241
|
-
firstTile() {
|
1242
|
-
const tile = this.tiles[0];
|
1243
|
-
if (!tile) return;
|
1244
|
-
this.listIndex = 0;
|
1245
|
-
if (tile.tabIndex === -1) this.nextTile();
|
1246
|
-
},
|
1247
|
-
onKeyDown(e) {
|
1248
|
-
if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].esc) {
|
1249
|
-
// Wait for dependent elements to close first
|
1250
|
-
setTimeout(() => {
|
1251
|
-
this.isActive = false;
|
1252
|
-
});
|
1253
|
-
const activator = this.getActivator();
|
1254
|
-
this.$nextTick(() => activator && activator.focus());
|
1255
|
-
} else if (!this.isActive && [_util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].up, _util_helpers__WEBPACK_IMPORTED_MODULE_14__[/* keyCodes */ "s"].down].includes(e.keyCode)) {
|
1256
|
-
this.isActive = true;
|
1257
|
-
} // Allow for isActive watcher to generate tile list
|
1258
|
-
|
1259
|
-
this.$nextTick(() => this.changeListIndex(e));
|
1260
|
-
},
|
1261
|
-
onResize() {
|
1262
|
-
if (!this.isActive) return; // Account for screen resize
|
1263
|
-
// and orientation change
|
1264
|
-
// eslint-disable-next-line no-unused-expressions
|
1265
|
-
|
1266
|
-
this.$refs.content.offsetWidth;
|
1267
|
-
this.updateDimensions(); // When resizing to a smaller width
|
1268
|
-
// content width is evaluated before
|
1269
|
-
// the new activator width has been
|
1270
|
-
// set, causing it to not size properly
|
1271
|
-
// hacky but will revisit in the future
|
1272
|
-
|
1273
|
-
clearTimeout(this.resizeTimeout);
|
1274
|
-
this.resizeTimeout = window.setTimeout(this.updateDimensions, 100);
|
1079
|
+
this.listeners = {};
|
1080
|
+
},
|
1081
|
+
resetActivator() {
|
1082
|
+
this.removeActivatorEvents();
|
1083
|
+
this.activatorElement = null;
|
1084
|
+
this.getActivator();
|
1085
|
+
this.addActivatorEvents();
|
1275
1086
|
}
|
1276
|
-
},
|
1277
|
-
render(h) {
|
1278
|
-
const data = {
|
1279
|
-
staticClass: 'v-menu',
|
1280
|
-
class: {
|
1281
|
-
'v-menu--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
|
1282
|
-
},
|
1283
|
-
directives: [{
|
1284
|
-
arg: '500',
|
1285
|
-
name: 'resize',
|
1286
|
-
value: this.onResize
|
1287
|
-
}]
|
1288
|
-
};
|
1289
|
-
return h('div', data, [!this.activator && this.genActivator(), this.showLazyContent(() => [this.$createElement(_VThemeProvider__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], {
|
1290
|
-
props: {
|
1291
|
-
root: true,
|
1292
|
-
light: this.light,
|
1293
|
-
dark: this.dark
|
1294
|
-
}
|
1295
|
-
}, [this.genTransition()])])]);
|
1296
1087
|
}
|
1297
1088
|
}));
|
1298
1089
|
|
1299
1090
|
/***/ }),
|
1300
1091
|
|
1301
|
-
/***/ "
|
1302
|
-
/***/ (function(module,
|
1092
|
+
/***/ "9be7":
|
1093
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1303
1094
|
|
1304
|
-
|
1095
|
+
"use strict";
|
1096
|
+
/* harmony import */ var _src_components_VTooltip_VTooltip_sass__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("886c");
|
1097
|
+
/* harmony import */ var _src_components_VTooltip_VTooltip_sass__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_src_components_VTooltip_VTooltip_sass__WEBPACK_IMPORTED_MODULE_0__);
|
1098
|
+
/* harmony import */ var _mixins_activatable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("9be2");
|
1099
|
+
/* harmony import */ var _mixins_colorable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("de91");
|
1100
|
+
/* harmony import */ var _mixins_delayable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("0ce2");
|
1101
|
+
/* harmony import */ var _mixins_dependent__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("759d");
|
1102
|
+
/* harmony import */ var _mixins_menuable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("5d2e");
|
1103
|
+
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("3d78");
|
1104
|
+
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("6c21");
|
1105
|
+
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("9d7d");
|
1106
|
+
// Mixins
|
1305
1107
|
|
1306
|
-
/***/ }),
|
1307
1108
|
|
1308
|
-
/***/ "facc":
|
1309
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1310
1109
|
|
1311
|
-
"use strict";
|
1312
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ad27");
|
1313
|
-
/* harmony import */ var _directives_ripple__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("7b64");
|
1314
|
-
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("3d78");
|
1315
|
-
// Directives
|
1316
1110
|
|
1317
|
-
// Utilities
|
1318
1111
|
|
1112
|
+
// Helpers
|
1319
1113
|
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1330
|
-
|
1331
|
-
default: undefined
|
1114
|
+
|
1115
|
+
|
1116
|
+
|
1117
|
+
/* @vue/component */
|
1118
|
+
|
1119
|
+
/* harmony default export */ __webpack_exports__["a"] = (Object(_util_mixins__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(_mixins_colorable__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], _mixins_delayable__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _mixins_dependent__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], _mixins_menuable__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"]).extend({
|
1120
|
+
name: 'v-tooltip',
|
1121
|
+
props: {
|
1122
|
+
closeDelay: {
|
1123
|
+
type: [Number, String],
|
1124
|
+
default: 0
|
1332
1125
|
},
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
|
1339
|
-
|
1340
|
-
|
1341
|
-
|
1342
|
-
|
1126
|
+
disabled: Boolean,
|
1127
|
+
openDelay: {
|
1128
|
+
type: [Number, String],
|
1129
|
+
default: 0
|
1130
|
+
},
|
1131
|
+
openOnHover: {
|
1132
|
+
type: Boolean,
|
1133
|
+
default: true
|
1134
|
+
},
|
1135
|
+
openOnFocus: {
|
1136
|
+
type: Boolean,
|
1137
|
+
default: true
|
1138
|
+
},
|
1139
|
+
tag: {
|
1140
|
+
type: String,
|
1141
|
+
default: 'span'
|
1343
1142
|
},
|
1344
|
-
|
1345
|
-
target: String
|
1143
|
+
transition: String
|
1346
1144
|
},
|
1347
1145
|
data: () => ({
|
1348
|
-
|
1349
|
-
|
1146
|
+
calculatedMinWidth: 0,
|
1147
|
+
closeDependents: false
|
1350
1148
|
}),
|
1351
1149
|
computed: {
|
1150
|
+
calculatedLeft() {
|
1151
|
+
const {
|
1152
|
+
activator,
|
1153
|
+
content
|
1154
|
+
} = this.dimensions;
|
1155
|
+
const unknown = !this.bottom && !this.left && !this.top && !this.right;
|
1156
|
+
const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left;
|
1157
|
+
let left = 0;
|
1158
|
+
if (this.top || this.bottom || unknown) {
|
1159
|
+
left = activatorLeft + activator.width / 2 - content.width / 2;
|
1160
|
+
} else if (this.left || this.right) {
|
1161
|
+
left = activatorLeft + (this.right ? activator.width : -content.width) + (this.right ? 10 : -10);
|
1162
|
+
}
|
1163
|
+
if (this.nudgeLeft) left -= parseInt(this.nudgeLeft);
|
1164
|
+
if (this.nudgeRight) left += parseInt(this.nudgeRight);
|
1165
|
+
return `${this.calcXOverflow(left, this.dimensions.content.width)}px`;
|
1166
|
+
},
|
1167
|
+
calculatedTop() {
|
1168
|
+
const {
|
1169
|
+
activator,
|
1170
|
+
content
|
1171
|
+
} = this.dimensions;
|
1172
|
+
const activatorTop = this.attach !== false ? activator.offsetTop : activator.top;
|
1173
|
+
let top = 0;
|
1174
|
+
if (this.top || this.bottom) {
|
1175
|
+
top = activatorTop + (this.bottom ? activator.height : -content.height) + (this.bottom ? 10 : -10);
|
1176
|
+
} else if (this.left || this.right) {
|
1177
|
+
top = activatorTop + activator.height / 2 - content.height / 2;
|
1178
|
+
}
|
1179
|
+
if (this.nudgeTop) top -= parseInt(this.nudgeTop);
|
1180
|
+
if (this.nudgeBottom) top += parseInt(this.nudgeBottom);
|
1181
|
+
if (this.attach === false) top += this.pageYOffset;
|
1182
|
+
return `${this.calcYOverflow(top)}px`;
|
1183
|
+
},
|
1352
1184
|
classes() {
|
1353
|
-
|
1354
|
-
|
1355
|
-
|
1356
|
-
|
1357
|
-
|
1185
|
+
return {
|
1186
|
+
'v-tooltip--top': this.top,
|
1187
|
+
'v-tooltip--right': this.right,
|
1188
|
+
'v-tooltip--bottom': this.bottom,
|
1189
|
+
'v-tooltip--left': this.left,
|
1190
|
+
'v-tooltip--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
|
1191
|
+
};
|
1358
1192
|
},
|
1359
|
-
|
1360
|
-
|
1361
|
-
return
|
1193
|
+
computedTransition() {
|
1194
|
+
if (this.transition) return this.transition;
|
1195
|
+
return this.isActive ? 'scale-transition' : 'fade-transition';
|
1362
1196
|
},
|
1363
|
-
|
1364
|
-
|
1365
|
-
return Boolean(this.isLink || this.$listeners.click || this.$listeners['!click'] || this.$attrs.tabindex);
|
1197
|
+
offsetY() {
|
1198
|
+
return this.top || this.bottom;
|
1366
1199
|
},
|
1367
|
-
|
1368
|
-
return this.
|
1200
|
+
offsetX() {
|
1201
|
+
return this.left || this.right;
|
1369
1202
|
},
|
1370
|
-
styles
|
1203
|
+
styles() {
|
1204
|
+
return {
|
1205
|
+
left: this.calculatedLeft,
|
1206
|
+
maxWidth: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__[/* convertToUnit */ "g"])(this.maxWidth),
|
1207
|
+
minWidth: Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__[/* convertToUnit */ "g"])(this.minWidth),
|
1208
|
+
top: this.calculatedTop,
|
1209
|
+
zIndex: this.zIndex || this.activeZIndex
|
1210
|
+
};
|
1211
|
+
}
|
1371
1212
|
},
|
1372
|
-
|
1373
|
-
|
1213
|
+
beforeMount() {
|
1214
|
+
this.$nextTick(() => {
|
1215
|
+
this.value && this.callActivate();
|
1216
|
+
});
|
1374
1217
|
},
|
1375
1218
|
mounted() {
|
1376
|
-
|
1219
|
+
if (Object(_util_helpers__WEBPACK_IMPORTED_MODULE_6__[/* getSlotType */ "p"])(this, 'activator', true) === 'v-slot') {
|
1220
|
+
Object(_util_console__WEBPACK_IMPORTED_MODULE_7__[/* consoleError */ "b"])(`v-tooltip's activator slot must be bound, try '<template #activator="data"><v-btn v-on="data.on>'`, this);
|
1221
|
+
}
|
1377
1222
|
},
|
1378
1223
|
methods: {
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
attrs: {
|
1384
|
-
tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined
|
1385
|
-
},
|
1386
|
-
class: this.classes,
|
1387
|
-
style: this.styles,
|
1388
|
-
props: {},
|
1389
|
-
directives: [{
|
1390
|
-
name: 'ripple',
|
1391
|
-
value: this.computedRipple
|
1392
|
-
}],
|
1393
|
-
[this.to ? 'nativeOn' : 'on']: {
|
1394
|
-
...this.$listeners,
|
1395
|
-
...('click' in this ? {
|
1396
|
-
click: this.click
|
1397
|
-
} : undefined) // #14447
|
1398
|
-
},
|
1224
|
+
activate() {
|
1225
|
+
// Update coordinates and dimensions of menu
|
1226
|
+
// and its activator
|
1227
|
+
this.updateDimensions(); // Start the transition
|
1399
1228
|
|
1400
|
-
|
1401
|
-
|
1402
|
-
|
1403
|
-
|
1229
|
+
requestAnimationFrame(this.startTransition);
|
1230
|
+
},
|
1231
|
+
deactivate() {
|
1232
|
+
this.runDelay('close');
|
1233
|
+
},
|
1234
|
+
genActivatorListeners() {
|
1235
|
+
const listeners = _mixins_activatable__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].options.methods.genActivatorListeners.call(this);
|
1236
|
+
if (this.openOnFocus) {
|
1237
|
+
listeners.focus = e => {
|
1238
|
+
this.getActivator(e);
|
1239
|
+
this.runDelay('open');
|
1240
|
+
};
|
1241
|
+
listeners.blur = e => {
|
1242
|
+
this.getActivator(e);
|
1243
|
+
this.runDelay('close');
|
1244
|
+
};
|
1404
1245
|
}
|
1405
|
-
|
1406
|
-
|
1407
|
-
|
1408
|
-
|
1409
|
-
let exactActiveClass = this.exactActiveClass || activeClass;
|
1410
|
-
if (this.proxyClass) {
|
1411
|
-
activeClass = `${activeClass} ${this.proxyClass}`.trim();
|
1412
|
-
exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim();
|
1246
|
+
listeners.keydown = e => {
|
1247
|
+
if (e.keyCode === _util_helpers__WEBPACK_IMPORTED_MODULE_6__[/* keyCodes */ "s"].esc) {
|
1248
|
+
this.getActivator(e);
|
1249
|
+
this.runDelay('close');
|
1413
1250
|
}
|
1414
|
-
|
1415
|
-
|
1416
|
-
|
1417
|
-
|
1418
|
-
exactPath: this.exactPath,
|
1419
|
-
activeClass,
|
1420
|
-
exactActiveClass,
|
1421
|
-
append: this.append,
|
1422
|
-
replace: this.replace
|
1423
|
-
});
|
1424
|
-
} else {
|
1425
|
-
tag = this.href && 'a' || this.tag || 'div';
|
1426
|
-
if (tag === 'a' && this.href) data.attrs.href = this.href;
|
1427
|
-
}
|
1428
|
-
if (this.target) data.attrs.target = this.target;
|
1251
|
+
};
|
1252
|
+
return listeners;
|
1253
|
+
},
|
1254
|
+
genActivatorAttributes() {
|
1429
1255
|
return {
|
1430
|
-
|
1431
|
-
|
1256
|
+
'aria-haspopup': true,
|
1257
|
+
'aria-expanded': String(this.isActive)
|
1432
1258
|
};
|
1433
1259
|
},
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1440
|
-
/* istanbul ignore else */
|
1441
|
-
if (!Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__[/* getObjectValueByPath */ "m"])(this.$refs.link, path) === this.isActive) {
|
1442
|
-
this.toggle();
|
1260
|
+
genTransition() {
|
1261
|
+
const content = this.genContent();
|
1262
|
+
if (!this.computedTransition) return content;
|
1263
|
+
return this.$createElement('transition', {
|
1264
|
+
props: {
|
1265
|
+
name: this.computedTransition
|
1443
1266
|
}
|
1444
|
-
});
|
1267
|
+
}, [content]);
|
1445
1268
|
},
|
1446
|
-
|
1447
|
-
this
|
1269
|
+
genContent() {
|
1270
|
+
return this.$createElement('div', this.setBackgroundColor(this.color, {
|
1271
|
+
staticClass: 'v-tooltip__content',
|
1272
|
+
class: {
|
1273
|
+
[this.contentClass]: true,
|
1274
|
+
menuable__content__active: this.isActive,
|
1275
|
+
'v-tooltip__content--fixed': this.activatorFixed
|
1276
|
+
},
|
1277
|
+
style: this.styles,
|
1278
|
+
attrs: this.getScopeIdAttrs(),
|
1279
|
+
directives: [{
|
1280
|
+
name: 'show',
|
1281
|
+
value: this.isContentActive
|
1282
|
+
}],
|
1283
|
+
ref: 'content'
|
1284
|
+
}), this.getContentSlot());
|
1448
1285
|
}
|
1286
|
+
},
|
1287
|
+
render(h) {
|
1288
|
+
return h(this.tag, {
|
1289
|
+
staticClass: 'v-tooltip',
|
1290
|
+
class: this.classes
|
1291
|
+
}, [this.showLazyContent(() => [this.genTransition()]), this.genActivator()]);
|
1449
1292
|
}
|
1450
1293
|
}));
|
1451
1294
|
|
1452
1295
|
/***/ }),
|
1453
1296
|
|
1454
|
-
/***/ "
|
1297
|
+
/***/ "9c0d":
|
1455
1298
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1456
1299
|
|
1457
1300
|
"use strict";
|
1458
1301
|
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c3d6");
|
1459
1302
|
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);
|
1460
|
-
/* harmony import */ var
|
1461
|
-
/* harmony import */ var
|
1462
|
-
/* harmony import */ var _mixins_binds_attrs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("7c5f");
|
1463
|
-
/* harmony import */ var _mixins_colorable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("de91");
|
1464
|
-
/* harmony import */ var _mixins_sizeable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("8082");
|
1465
|
-
/* harmony import */ var _mixins_themeable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("64ad");
|
1466
|
-
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("3d78");
|
1467
|
-
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("ad27");
|
1468
|
-
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("9d7d");
|
1303
|
+
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ad27");
|
1304
|
+
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("3d78");
|
1469
1305
|
|
1470
|
-
// Mixins
|
1471
1306
|
|
1472
1307
|
|
1308
|
+
/* @vue/component */
|
1309
|
+
|
1310
|
+
/* harmony default export */ __webpack_exports__["a"] = (vue__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].extend().extend({
|
1311
|
+
name: 'stackable',
|
1312
|
+
data() {
|
1313
|
+
return {
|
1314
|
+
stackElement: null,
|
1315
|
+
stackExclude: null,
|
1316
|
+
stackMinZIndex: 0,
|
1317
|
+
isActive: false
|
1318
|
+
};
|
1319
|
+
},
|
1320
|
+
computed: {
|
1321
|
+
activeZIndex() {
|
1322
|
+
if (typeof window === 'undefined') return 0;
|
1323
|
+
const content = this.stackElement || this.$refs.content; // Return current zindex if not active
|
1324
|
+
|
1325
|
+
const index = !this.isActive ? Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__[/* getZIndex */ "q"])(content) : this.getMaxZIndex(this.stackExclude || [content]) + 2;
|
1326
|
+
if (index == null) return index; // Return max current z-index (excluding self) + 2
|
1327
|
+
// (2 to leave room for an overlay below, if needed)
|
1328
|
+
|
1329
|
+
return parseInt(index);
|
1330
|
+
}
|
1331
|
+
},
|
1332
|
+
methods: {
|
1333
|
+
getMaxZIndex(exclude = []) {
|
1334
|
+
const base = this.$el; // Start with lowest allowed z-index or z-index of
|
1335
|
+
// base component's element, whichever is greater
|
1336
|
+
|
1337
|
+
const zis = [this.stackMinZIndex, Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__[/* getZIndex */ "q"])(base)]; // Convert the NodeList to an array to
|
1338
|
+
// prevent an Edge bug with Symbol.iterator
|
1339
|
+
// https://github.com/vuetifyjs/vuetify/issues/2146
|
1340
|
+
|
1341
|
+
const activeElements = [...document.getElementsByClassName('v-menu__content--active'), ...document.getElementsByClassName('v-dialog__content--active')]; // Get z-index for all active dialogs
|
1342
|
+
|
1343
|
+
for (let index = 0; index < activeElements.length; index++) {
|
1344
|
+
if (!exclude.includes(activeElements[index])) {
|
1345
|
+
zis.push(Object(_util_helpers__WEBPACK_IMPORTED_MODULE_2__[/* getZIndex */ "q"])(activeElements[index]));
|
1346
|
+
}
|
1347
|
+
}
|
1348
|
+
return Math.max(...zis);
|
1349
|
+
}
|
1350
|
+
}
|
1351
|
+
}));
|
1352
|
+
|
1353
|
+
/***/ }),
|
1354
|
+
|
1355
|
+
/***/ "9e3f":
|
1356
|
+
/***/ (function(module, exports, __webpack_require__) {
|
1357
|
+
|
1358
|
+
"use strict";
|
1359
|
+
|
1360
|
+
|
1361
|
+
const isObject = value => typeof value === 'object' && value !== null;
|
1362
|
+
const mapObjectSkip = Symbol('skip');
|
1363
|
+
|
1364
|
+
// Customized for this use-case
|
1365
|
+
const isObjectCustom = value =>
|
1366
|
+
isObject(value) &&
|
1367
|
+
!(value instanceof RegExp) &&
|
1368
|
+
!(value instanceof Error) &&
|
1369
|
+
!(value instanceof Date);
|
1370
|
+
|
1371
|
+
const mapObject = (object, mapper, options, isSeen = new WeakMap()) => {
|
1372
|
+
options = {
|
1373
|
+
deep: false,
|
1374
|
+
target: {},
|
1375
|
+
...options
|
1376
|
+
};
|
1377
|
+
|
1378
|
+
if (isSeen.has(object)) {
|
1379
|
+
return isSeen.get(object);
|
1380
|
+
}
|
1381
|
+
|
1382
|
+
isSeen.set(object, options.target);
|
1383
|
+
|
1384
|
+
const {target} = options;
|
1385
|
+
delete options.target;
|
1386
|
+
|
1387
|
+
const mapArray = array => array.map(element => isObjectCustom(element) ? mapObject(element, mapper, options, isSeen) : element);
|
1388
|
+
if (Array.isArray(object)) {
|
1389
|
+
return mapArray(object);
|
1390
|
+
}
|
1391
|
+
|
1392
|
+
for (const [key, value] of Object.entries(object)) {
|
1393
|
+
const mapResult = mapper(key, value, object);
|
1394
|
+
|
1395
|
+
if (mapResult === mapObjectSkip) {
|
1396
|
+
continue;
|
1397
|
+
}
|
1473
1398
|
|
1399
|
+
let [newKey, newValue, {shouldRecurse = true} = {}] = mapResult;
|
1400
|
+
|
1401
|
+
// Drop `__proto__` keys.
|
1402
|
+
if (newKey === '__proto__') {
|
1403
|
+
continue;
|
1404
|
+
}
|
1405
|
+
|
1406
|
+
if (options.deep && shouldRecurse && isObjectCustom(newValue)) {
|
1407
|
+
newValue = Array.isArray(newValue) ?
|
1408
|
+
mapArray(newValue) :
|
1409
|
+
mapObject(newValue, mapper, options, isSeen);
|
1410
|
+
}
|
1411
|
+
|
1412
|
+
target[newKey] = newValue;
|
1413
|
+
}
|
1414
|
+
|
1415
|
+
return target;
|
1416
|
+
};
|
1417
|
+
|
1418
|
+
module.exports = (object, mapper, options) => {
|
1419
|
+
if (!isObject(object)) {
|
1420
|
+
throw new TypeError(`Expected an object, got \`${object}\` (${typeof object})`);
|
1421
|
+
}
|
1422
|
+
|
1423
|
+
return mapObject(object, mapper, options);
|
1424
|
+
};
|
1425
|
+
|
1426
|
+
module.exports.mapObjectSkip = mapObjectSkip;
|
1427
|
+
|
1428
|
+
|
1429
|
+
/***/ }),
|
1430
|
+
|
1431
|
+
/***/ "c9b3":
|
1432
|
+
/***/ (function(module, exports, __webpack_require__) {
|
1433
|
+
|
1434
|
+
"use strict";
|
1435
|
+
|
1436
|
+
var $ = __webpack_require__("4b31");
|
1437
|
+
var uncurryThis = __webpack_require__("d244");
|
1438
|
+
var requireObjectCoercible = __webpack_require__("7768");
|
1439
|
+
var toIntegerOrInfinity = __webpack_require__("015b");
|
1440
|
+
var toString = __webpack_require__("b0b4");
|
1441
|
+
var fails = __webpack_require__("8659");
|
1442
|
+
|
1443
|
+
var charAt = uncurryThis(''.charAt);
|
1444
|
+
|
1445
|
+
var FORCED = fails(function () {
|
1446
|
+
// eslint-disable-next-line es/no-array-string-prototype-at -- safe
|
1447
|
+
return '𠮷'.at(-2) !== '\uD842';
|
1448
|
+
});
|
1449
|
+
|
1450
|
+
// `String.prototype.at` method
|
1451
|
+
// https://github.com/tc39/proposal-relative-indexing-method
|
1452
|
+
$({ target: 'String', proto: true, forced: FORCED }, {
|
1453
|
+
at: function at(index) {
|
1454
|
+
var S = toString(requireObjectCoercible(this));
|
1455
|
+
var len = S.length;
|
1456
|
+
var relativeIndex = toIntegerOrInfinity(index);
|
1457
|
+
var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
|
1458
|
+
return (k < 0 || k >= len) ? undefined : charAt(S, k);
|
1459
|
+
}
|
1460
|
+
});
|
1474
1461
|
|
1475
|
-
// Util
|
1476
1462
|
|
1463
|
+
/***/ }),
|
1464
|
+
|
1465
|
+
/***/ "cbfb":
|
1466
|
+
/***/ (function(module, exports, __webpack_require__) {
|
1467
|
+
|
1468
|
+
"use strict";
|
1469
|
+
|
1470
|
+
const mapObj = __webpack_require__("9e3f");
|
1471
|
+
const camelCase = __webpack_require__("5375");
|
1472
|
+
const QuickLru = __webpack_require__("17d8");
|
1473
|
+
|
1474
|
+
const has = (array, key) => array.some(x => {
|
1475
|
+
if (typeof x === 'string') {
|
1476
|
+
return x === key;
|
1477
|
+
}
|
1478
|
+
|
1479
|
+
x.lastIndex = 0;
|
1480
|
+
return x.test(key);
|
1481
|
+
});
|
1482
|
+
|
1483
|
+
const cache = new QuickLru({maxSize: 100000});
|
1484
|
+
|
1485
|
+
// Reproduces behavior from `map-obj`
|
1486
|
+
const isObject = value =>
|
1487
|
+
typeof value === 'object' &&
|
1488
|
+
value !== null &&
|
1489
|
+
!(value instanceof RegExp) &&
|
1490
|
+
!(value instanceof Error) &&
|
1491
|
+
!(value instanceof Date);
|
1492
|
+
|
1493
|
+
const camelCaseConvert = (input, options) => {
|
1494
|
+
if (!isObject(input)) {
|
1495
|
+
return input;
|
1496
|
+
}
|
1497
|
+
|
1498
|
+
options = {
|
1499
|
+
deep: false,
|
1500
|
+
pascalCase: false,
|
1501
|
+
...options
|
1502
|
+
};
|
1503
|
+
|
1504
|
+
const {exclude, pascalCase, stopPaths, deep} = options;
|
1505
|
+
|
1506
|
+
const stopPathsSet = new Set(stopPaths);
|
1507
|
+
|
1508
|
+
const makeMapper = parentPath => (key, value) => {
|
1509
|
+
if (deep && isObject(value)) {
|
1510
|
+
const path = parentPath === undefined ? key : `${parentPath}.${key}`;
|
1511
|
+
|
1512
|
+
if (!stopPathsSet.has(path)) {
|
1513
|
+
value = mapObj(value, makeMapper(path));
|
1514
|
+
}
|
1515
|
+
}
|
1516
|
+
|
1517
|
+
if (!(exclude && has(exclude, key))) {
|
1518
|
+
const cacheKey = pascalCase ? `${key}_` : key;
|
1519
|
+
|
1520
|
+
if (cache.has(cacheKey)) {
|
1521
|
+
key = cache.get(cacheKey);
|
1522
|
+
} else {
|
1523
|
+
const returnValue = camelCase(key, {pascalCase, locale: false});
|
1524
|
+
|
1525
|
+
if (key.length < 100) { // Prevent abuse
|
1526
|
+
cache.set(cacheKey, returnValue);
|
1527
|
+
}
|
1528
|
+
|
1529
|
+
key = returnValue;
|
1530
|
+
}
|
1531
|
+
}
|
1532
|
+
|
1533
|
+
return [key, value];
|
1534
|
+
};
|
1535
|
+
|
1536
|
+
return mapObj(input, makeMapper(undefined));
|
1537
|
+
};
|
1538
|
+
|
1539
|
+
module.exports = (input, options) => {
|
1540
|
+
if (Array.isArray(input)) {
|
1541
|
+
return Object.keys(input).map(key => camelCaseConvert(input[key], options));
|
1542
|
+
}
|
1543
|
+
|
1544
|
+
return camelCaseConvert(input, options);
|
1545
|
+
};
|
1546
|
+
|
1547
|
+
|
1548
|
+
/***/ }),
|
1549
|
+
|
1550
|
+
/***/ "ce02":
|
1551
|
+
/***/ (function(module, exports, __webpack_require__) {
|
1552
|
+
|
1553
|
+
var getBuiltIn = __webpack_require__("a542");
|
1554
|
+
|
1555
|
+
module.exports = getBuiltIn('document', 'documentElement');
|
1556
|
+
|
1557
|
+
|
1558
|
+
/***/ }),
|
1559
|
+
|
1560
|
+
/***/ "d63e":
|
1561
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1562
|
+
|
1563
|
+
"use strict";
|
1564
|
+
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6c21");
|
1565
|
+
/* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ad27");
|
1566
|
+
// Utilities
|
1477
1567
|
// Types
|
1478
1568
|
|
1479
1569
|
|
1570
|
+
/**
|
1571
|
+
* Bootable
|
1572
|
+
* @mixin
|
1573
|
+
*
|
1574
|
+
* Used to add lazy content functionality to components
|
1575
|
+
* Looks for change in "isActive" to automatically boot
|
1576
|
+
* Otherwise can be set manually
|
1577
|
+
*/
|
1480
1578
|
|
1481
|
-
|
1482
|
-
|
1483
|
-
|
1484
|
-
|
1485
|
-
SIZE_MAP["default"] = "24px";
|
1486
|
-
SIZE_MAP["medium"] = "28px";
|
1487
|
-
SIZE_MAP["large"] = "36px";
|
1488
|
-
SIZE_MAP["xLarge"] = "40px";
|
1489
|
-
})(SIZE_MAP || (SIZE_MAP = {}));
|
1490
|
-
function isFontAwesome5(iconType) {
|
1491
|
-
return ['fas', 'far', 'fal', 'fab', 'fad', 'fak'].some(val => iconType.includes(val));
|
1492
|
-
}
|
1493
|
-
function isSvgPath(icon) {
|
1494
|
-
return /^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(icon) && /[\dz]$/i.test(icon) && icon.length > 4;
|
1495
|
-
}
|
1496
|
-
const VIcon = Object(_util_mixins__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"])(_mixins_binds_attrs__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"], _mixins_colorable__WEBPACK_IMPORTED_MODULE_3__[/* default */ "a"], _mixins_sizeable__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], _mixins_themeable__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"]
|
1497
|
-
/* @vue/component */).extend({
|
1498
|
-
name: 'v-icon',
|
1579
|
+
/* @vue/component */
|
1580
|
+
|
1581
|
+
/* harmony default export */ __webpack_exports__["a"] = (vue__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].extend().extend({
|
1582
|
+
name: 'bootable',
|
1499
1583
|
props: {
|
1500
|
-
|
1501
|
-
disabled: Boolean,
|
1502
|
-
left: Boolean,
|
1503
|
-
right: Boolean,
|
1504
|
-
size: [Number, String],
|
1505
|
-
tag: {
|
1506
|
-
type: String,
|
1507
|
-
required: false,
|
1508
|
-
default: 'i'
|
1509
|
-
}
|
1584
|
+
eager: Boolean
|
1510
1585
|
},
|
1586
|
+
data: () => ({
|
1587
|
+
isBooted: false
|
1588
|
+
}),
|
1511
1589
|
computed: {
|
1512
|
-
|
1513
|
-
return
|
1514
|
-
}
|
1515
|
-
|
1516
|
-
|
1590
|
+
hasContent() {
|
1591
|
+
return this.isBooted || this.eager || this.isActive;
|
1592
|
+
}
|
1593
|
+
},
|
1594
|
+
watch: {
|
1595
|
+
isActive() {
|
1596
|
+
this.isBooted = true;
|
1597
|
+
}
|
1598
|
+
},
|
1599
|
+
created() {
|
1600
|
+
/* istanbul ignore next */
|
1601
|
+
if ('lazy' in this.$attrs) {
|
1602
|
+
Object(_util_console__WEBPACK_IMPORTED_MODULE_0__[/* removed */ "e"])('lazy', this);
|
1517
1603
|
}
|
1518
1604
|
},
|
1519
1605
|
methods: {
|
1520
|
-
|
1521
|
-
|
1522
|
-
|
1523
|
-
|
1524
|
-
|
1525
|
-
|
1526
|
-
|
1527
|
-
|
1528
|
-
|
1529
|
-
|
1530
|
-
|
1531
|
-
|
1532
|
-
|
1533
|
-
|
1534
|
-
|
1606
|
+
showLazyContent(content) {
|
1607
|
+
return this.hasContent && content ? content() : [this.$createElement()];
|
1608
|
+
}
|
1609
|
+
}
|
1610
|
+
}));
|
1611
|
+
|
1612
|
+
/***/ }),
|
1613
|
+
|
1614
|
+
/***/ "dcde":
|
1615
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1616
|
+
|
1617
|
+
"use strict";
|
1618
|
+
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c3d6");
|
1619
|
+
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);
|
1620
|
+
/* harmony import */ var _src_components_VChip_VChip_sass__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("8e6b");
|
1621
|
+
/* harmony import */ var _src_components_VChip_VChip_sass__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_src_components_VChip_VChip_sass__WEBPACK_IMPORTED_MODULE_1__);
|
1622
|
+
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("9d7d");
|
1623
|
+
/* harmony import */ var _transitions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("177c");
|
1624
|
+
/* harmony import */ var _VIcon__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("36e1");
|
1625
|
+
/* harmony import */ var _mixins_colorable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("de91");
|
1626
|
+
/* harmony import */ var _mixins_groupable__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("901a");
|
1627
|
+
/* harmony import */ var _mixins_themeable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("64ad");
|
1628
|
+
/* harmony import */ var _mixins_toggleable__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("646d");
|
1629
|
+
/* harmony import */ var _mixins_routable__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("facc");
|
1630
|
+
/* harmony import */ var _mixins_sizeable__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("8082");
|
1631
|
+
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("6c21");
|
1632
|
+
|
1633
|
+
// Styles
|
1634
|
+
|
1635
|
+
// Components
|
1636
|
+
|
1637
|
+
|
1638
|
+
// Mixins
|
1639
|
+
|
1640
|
+
|
1641
|
+
|
1642
|
+
|
1643
|
+
|
1644
|
+
|
1645
|
+
// Utilities
|
1646
|
+
|
1647
|
+
|
1648
|
+
/* @vue/component */
|
1649
|
+
|
1650
|
+
/* harmony default export */ __webpack_exports__["a"] = (Object(_util_mixins__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_mixins_colorable__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], _mixins_sizeable__WEBPACK_IMPORTED_MODULE_10__[/* default */ "a"], _mixins_routable__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"], _mixins_themeable__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], Object(_mixins_groupable__WEBPACK_IMPORTED_MODULE_6__[/* factory */ "a"])('chipGroup'), Object(_mixins_toggleable__WEBPACK_IMPORTED_MODULE_8__[/* factory */ "b"])('inputValue')).extend({
|
1651
|
+
name: 'v-chip',
|
1652
|
+
props: {
|
1653
|
+
active: {
|
1654
|
+
type: Boolean,
|
1655
|
+
default: true
|
1656
|
+
},
|
1657
|
+
activeClass: {
|
1658
|
+
type: String,
|
1659
|
+
default() {
|
1660
|
+
if (!this.chipGroup) return '';
|
1661
|
+
return this.chipGroup.activeClass;
|
1662
|
+
}
|
1535
1663
|
},
|
1536
|
-
|
1537
|
-
|
1664
|
+
close: Boolean,
|
1665
|
+
closeIcon: {
|
1666
|
+
type: String,
|
1667
|
+
default: '$delete'
|
1668
|
+
},
|
1669
|
+
closeLabel: {
|
1670
|
+
type: String,
|
1671
|
+
default: '$vuetify.close'
|
1672
|
+
},
|
1673
|
+
disabled: Boolean,
|
1674
|
+
draggable: Boolean,
|
1675
|
+
filter: Boolean,
|
1676
|
+
filterIcon: {
|
1677
|
+
type: String,
|
1678
|
+
default: '$complete'
|
1679
|
+
},
|
1680
|
+
label: Boolean,
|
1681
|
+
link: Boolean,
|
1682
|
+
outlined: Boolean,
|
1683
|
+
pill: Boolean,
|
1684
|
+
tag: {
|
1685
|
+
type: String,
|
1686
|
+
default: 'span'
|
1687
|
+
},
|
1688
|
+
textColor: String,
|
1689
|
+
value: null
|
1690
|
+
},
|
1691
|
+
data: () => ({
|
1692
|
+
proxyClass: 'v-chip--active'
|
1693
|
+
}),
|
1694
|
+
computed: {
|
1695
|
+
classes() {
|
1538
1696
|
return {
|
1539
|
-
|
1540
|
-
|
1541
|
-
|
1542
|
-
|
1543
|
-
|
1544
|
-
|
1545
|
-
|
1546
|
-
|
1547
|
-
|
1548
|
-
|
1549
|
-
|
1550
|
-
|
1551
|
-
|
1552
|
-
|
1553
|
-
on: this.listeners$
|
1697
|
+
'v-chip': true,
|
1698
|
+
..._mixins_routable__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"].options.computed.classes.call(this),
|
1699
|
+
'v-chip--clickable': this.isClickable,
|
1700
|
+
'v-chip--disabled': this.disabled,
|
1701
|
+
'v-chip--draggable': this.draggable,
|
1702
|
+
'v-chip--label': this.label,
|
1703
|
+
'v-chip--link': this.isLink,
|
1704
|
+
'v-chip--no-color': !this.color,
|
1705
|
+
'v-chip--outlined': this.outlined,
|
1706
|
+
'v-chip--pill': this.pill,
|
1707
|
+
'v-chip--removable': this.hasClose,
|
1708
|
+
...this.themeClasses,
|
1709
|
+
...this.sizeableClasses,
|
1710
|
+
...this.groupClasses
|
1554
1711
|
};
|
1555
1712
|
},
|
1556
|
-
|
1557
|
-
|
1558
|
-
const wrapperData = {
|
1559
|
-
...this.getDefaultData(),
|
1560
|
-
style: fontSize ? {
|
1561
|
-
fontSize,
|
1562
|
-
height: fontSize,
|
1563
|
-
width: fontSize
|
1564
|
-
} : undefined
|
1565
|
-
};
|
1566
|
-
this.applyColors(wrapperData);
|
1567
|
-
return wrapperData;
|
1713
|
+
hasClose() {
|
1714
|
+
return Boolean(this.close);
|
1568
1715
|
},
|
1569
|
-
|
1570
|
-
|
1571
|
-
|
1572
|
-
|
1573
|
-
|
1574
|
-
|
1575
|
-
|
1576
|
-
|
1577
|
-
|
1578
|
-
|
1579
|
-
|
1580
|
-
|
1581
|
-
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1587
|
-
|
1588
|
-
|
1589
|
-
|
1716
|
+
isClickable() {
|
1717
|
+
return Boolean(_mixins_routable__WEBPACK_IMPORTED_MODULE_9__[/* default */ "a"].options.computed.isClickable.call(this) || this.chipGroup);
|
1718
|
+
}
|
1719
|
+
},
|
1720
|
+
created() {
|
1721
|
+
const breakingProps = [['outline', 'outlined'], ['selected', 'input-value'], ['value', 'active'], ['@input', '@active.sync']];
|
1722
|
+
/* istanbul ignore next */
|
1723
|
+
|
1724
|
+
breakingProps.forEach(([original, replacement]) => {
|
1725
|
+
if (this.$attrs.hasOwnProperty(original)) Object(_util_console__WEBPACK_IMPORTED_MODULE_11__[/* breaking */ "a"])(original, replacement, this);
|
1726
|
+
});
|
1727
|
+
},
|
1728
|
+
methods: {
|
1729
|
+
click(e) {
|
1730
|
+
this.$emit('click', e);
|
1731
|
+
this.chipGroup && this.toggle();
|
1732
|
+
},
|
1733
|
+
genFilter() {
|
1734
|
+
const children = [];
|
1735
|
+
if (this.isActive) {
|
1736
|
+
children.push(this.$createElement(_VIcon__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], {
|
1737
|
+
staticClass: 'v-chip__filter',
|
1738
|
+
props: {
|
1739
|
+
left: true
|
1740
|
+
}
|
1741
|
+
}, this.filterIcon));
|
1590
1742
|
}
|
1591
|
-
|
1592
|
-
data.class[icon] = !isMaterialIcon;
|
1593
|
-
const fontSize = this.getSize();
|
1594
|
-
if (fontSize) data.style = {
|
1595
|
-
fontSize
|
1596
|
-
};
|
1597
|
-
this.applyColors(data);
|
1598
|
-
return h(this.hasClickListener ? 'button' : this.tag, data, newChildren);
|
1743
|
+
return this.$createElement(_transitions__WEBPACK_IMPORTED_MODULE_3__[/* VExpandXTransition */ "b"], children);
|
1599
1744
|
},
|
1600
|
-
|
1601
|
-
|
1602
|
-
|
1603
|
-
|
1604
|
-
|
1605
|
-
|
1606
|
-
|
1607
|
-
'aria-hidden': true
|
1608
|
-
}
|
1609
|
-
};
|
1610
|
-
const size = this.getSize();
|
1611
|
-
if (size) {
|
1612
|
-
svgData.style = {
|
1613
|
-
fontSize: size,
|
1614
|
-
height: size,
|
1615
|
-
width: size
|
1616
|
-
};
|
1617
|
-
}
|
1618
|
-
return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h('svg', svgData, [h('path', {
|
1745
|
+
genClose() {
|
1746
|
+
return this.$createElement(_VIcon__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"], {
|
1747
|
+
staticClass: 'v-chip__close',
|
1748
|
+
props: {
|
1749
|
+
right: true,
|
1750
|
+
size: 18
|
1751
|
+
},
|
1619
1752
|
attrs: {
|
1620
|
-
|
1753
|
+
'aria-label': this.$vuetify.lang.t(this.closeLabel)
|
1754
|
+
},
|
1755
|
+
on: {
|
1756
|
+
click: e => {
|
1757
|
+
e.stopPropagation();
|
1758
|
+
e.preventDefault();
|
1759
|
+
this.$emit('click:close');
|
1760
|
+
this.$emit('update:active', false);
|
1761
|
+
}
|
1621
1762
|
}
|
1622
|
-
})
|
1763
|
+
}, this.closeIcon);
|
1623
1764
|
},
|
1624
|
-
|
1625
|
-
|
1626
|
-
|
1627
|
-
|
1628
|
-
}
|
1629
|
-
};
|
1630
|
-
const size = this.getSize();
|
1631
|
-
if (size) {
|
1632
|
-
data.style = {
|
1633
|
-
fontSize: size,
|
1634
|
-
height: size,
|
1635
|
-
width: size
|
1636
|
-
};
|
1637
|
-
}
|
1638
|
-
this.applyColors(data);
|
1639
|
-
const component = icon.component;
|
1640
|
-
data.props = icon.props;
|
1641
|
-
data.nativeOn = data.on;
|
1642
|
-
return h(this.hasClickListener ? 'button' : 'span', this.getSvgWrapperData(), [h(component, data)]);
|
1765
|
+
genContent() {
|
1766
|
+
return this.$createElement('span', {
|
1767
|
+
staticClass: 'v-chip__content'
|
1768
|
+
}, [this.filter && this.genFilter(), this.$slots.default, this.hasClose && this.genClose()]);
|
1643
1769
|
}
|
1644
1770
|
},
|
1645
1771
|
render(h) {
|
1646
|
-
const
|
1647
|
-
|
1648
|
-
|
1649
|
-
|
1650
|
-
|
1651
|
-
|
1652
|
-
|
1653
|
-
|
1654
|
-
|
1655
|
-
}
|
1656
|
-
|
1657
|
-
|
1658
|
-
|
1659
|
-
|
1660
|
-
|
1661
|
-
|
1662
|
-
children
|
1663
|
-
}) {
|
1664
|
-
let iconName = ''; // Support usage of v-text and v-html
|
1665
|
-
|
1666
|
-
if (data.domProps) {
|
1667
|
-
iconName = data.domProps.textContent || data.domProps.innerHTML || iconName; // Remove nodes so it doesn't
|
1668
|
-
// overwrite our changes
|
1669
|
-
|
1670
|
-
delete data.domProps.textContent;
|
1671
|
-
delete data.domProps.innerHTML;
|
1672
|
-
}
|
1673
|
-
return h(VIcon, data, iconName ? [iconName] : children);
|
1772
|
+
const children = [this.genContent()];
|
1773
|
+
let {
|
1774
|
+
tag,
|
1775
|
+
data
|
1776
|
+
} = this.generateRouteLink();
|
1777
|
+
data.attrs = {
|
1778
|
+
...data.attrs,
|
1779
|
+
draggable: this.draggable ? 'true' : undefined,
|
1780
|
+
tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs.tabindex
|
1781
|
+
};
|
1782
|
+
data.directives.push({
|
1783
|
+
name: 'show',
|
1784
|
+
value: this.active
|
1785
|
+
});
|
1786
|
+
data = this.setBackgroundColor(this.color, data);
|
1787
|
+
const color = this.textColor || this.outlined && this.color;
|
1788
|
+
return h(tag, this.setTextColor(color, data), children);
|
1674
1789
|
}
|
1675
1790
|
}));
|
1676
1791
|
|
1677
1792
|
/***/ }),
|
1678
1793
|
|
1679
|
-
/***/ "
|
1794
|
+
/***/ "de39":
|
1680
1795
|
/***/ (function(module, exports, __webpack_require__) {
|
1681
1796
|
|
1682
|
-
|
1797
|
+
var DESCRIPTORS = __webpack_require__("1616");
|
1798
|
+
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__("7ded");
|
1799
|
+
var definePropertyModule = __webpack_require__("3ce5");
|
1800
|
+
var anObject = __webpack_require__("50b4");
|
1801
|
+
var toIndexedObject = __webpack_require__("52b6");
|
1802
|
+
var objectKeys = __webpack_require__("e23e");
|
1803
|
+
|
1804
|
+
// `Object.defineProperties` method
|
1805
|
+
// https://tc39.es/ecma262/#sec-object.defineproperties
|
1806
|
+
// eslint-disable-next-line es/no-object-defineproperties -- safe
|
1807
|
+
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
|
1808
|
+
anObject(O);
|
1809
|
+
var props = toIndexedObject(Properties);
|
1810
|
+
var keys = objectKeys(Properties);
|
1811
|
+
var length = keys.length;
|
1812
|
+
var index = 0;
|
1813
|
+
var key;
|
1814
|
+
while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
|
1815
|
+
return O;
|
1816
|
+
};
|
1817
|
+
|
1818
|
+
|
1819
|
+
/***/ }),
|
1820
|
+
|
1821
|
+
/***/ "e23e":
|
1822
|
+
/***/ (function(module, exports, __webpack_require__) {
|
1823
|
+
|
1824
|
+
var internalObjectKeys = __webpack_require__("6a9b");
|
1825
|
+
var enumBugKeys = __webpack_require__("7edb");
|
1826
|
+
|
1827
|
+
// `Object.keys` method
|
1828
|
+
// https://tc39.es/ecma262/#sec-object.keys
|
1829
|
+
// eslint-disable-next-line es/no-object-keys -- safe
|
1830
|
+
module.exports = Object.keys || function keys(O) {
|
1831
|
+
return internalObjectKeys(O, enumBugKeys);
|
1832
|
+
};
|
1833
|
+
|
1834
|
+
|
1835
|
+
/***/ }),
|
1836
|
+
|
1837
|
+
/***/ "eeb4":
|
1838
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
1839
|
+
|
1840
|
+
"use strict";
|
1841
|
+
/* harmony import */ var _bootable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d63e");
|
1842
|
+
/* harmony import */ var _util_helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("3d78");
|
1843
|
+
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("9d7d");
|
1844
|
+
/* harmony import */ var _util_console__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("6c21");
|
1845
|
+
// Mixins
|
1846
|
+
// Utilities
|
1847
|
+
|
1848
|
+
|
1849
|
+
|
1850
|
+
|
1851
|
+
function validateAttachTarget(val) {
|
1852
|
+
const type = typeof val;
|
1853
|
+
if (type === 'boolean' || type === 'string') return true;
|
1854
|
+
return val.nodeType === Node.ELEMENT_NODE;
|
1855
|
+
}
|
1856
|
+
function removeActivator(activator) {
|
1857
|
+
activator.forEach(node => {
|
1858
|
+
node.elm && node.elm.parentNode && node.elm.parentNode.removeChild(node.elm);
|
1859
|
+
});
|
1860
|
+
}
|
1861
|
+
/* @vue/component */
|
1862
|
+
|
1863
|
+
/* harmony default export */ __webpack_exports__["a"] = (Object(_util_mixins__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_bootable__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"]).extend({
|
1864
|
+
name: 'detachable',
|
1865
|
+
props: {
|
1866
|
+
attach: {
|
1867
|
+
default: false,
|
1868
|
+
validator: validateAttachTarget
|
1869
|
+
},
|
1870
|
+
contentClass: {
|
1871
|
+
type: String,
|
1872
|
+
default: ''
|
1873
|
+
}
|
1874
|
+
},
|
1875
|
+
data: () => ({
|
1876
|
+
activatorNode: null,
|
1877
|
+
hasDetached: false
|
1878
|
+
}),
|
1879
|
+
watch: {
|
1880
|
+
attach() {
|
1881
|
+
this.hasDetached = false;
|
1882
|
+
this.initDetach();
|
1883
|
+
},
|
1884
|
+
hasContent() {
|
1885
|
+
this.$nextTick(this.initDetach);
|
1886
|
+
}
|
1887
|
+
},
|
1888
|
+
beforeMount() {
|
1889
|
+
this.$nextTick(() => {
|
1890
|
+
if (this.activatorNode) {
|
1891
|
+
const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode];
|
1892
|
+
activator.forEach(node => {
|
1893
|
+
if (!node.elm) return;
|
1894
|
+
if (!this.$el.parentNode) return;
|
1895
|
+
const target = this.$el === this.$el.parentNode.firstChild ? this.$el : this.$el.nextSibling;
|
1896
|
+
this.$el.parentNode.insertBefore(node.elm, target);
|
1897
|
+
});
|
1898
|
+
}
|
1899
|
+
});
|
1900
|
+
},
|
1901
|
+
mounted() {
|
1902
|
+
this.hasContent && this.initDetach();
|
1903
|
+
},
|
1904
|
+
deactivated() {
|
1905
|
+
this.isActive = false;
|
1906
|
+
},
|
1907
|
+
beforeDestroy() {
|
1908
|
+
if (this.$refs.content && this.$refs.content.parentNode) {
|
1909
|
+
this.$refs.content.parentNode.removeChild(this.$refs.content);
|
1910
|
+
}
|
1911
|
+
},
|
1912
|
+
destroyed() {
|
1913
|
+
if (this.activatorNode) {
|
1914
|
+
const activator = Array.isArray(this.activatorNode) ? this.activatorNode : [this.activatorNode];
|
1915
|
+
if (this.$el.isConnected) {
|
1916
|
+
// Component has been destroyed but the element still exists, we must be in a transition
|
1917
|
+
// Wait for the transition to finish before cleaning up the detached activator
|
1918
|
+
const observer = new MutationObserver(list => {
|
1919
|
+
if (list.some(record => Array.from(record.removedNodes).includes(this.$el))) {
|
1920
|
+
observer.disconnect();
|
1921
|
+
removeActivator(activator);
|
1922
|
+
}
|
1923
|
+
});
|
1924
|
+
observer.observe(this.$el.parentNode, {
|
1925
|
+
subtree: false,
|
1926
|
+
childList: true
|
1927
|
+
});
|
1928
|
+
} else {
|
1929
|
+
removeActivator(activator);
|
1930
|
+
}
|
1931
|
+
}
|
1932
|
+
},
|
1933
|
+
methods: {
|
1934
|
+
getScopeIdAttrs() {
|
1935
|
+
const scopeId = Object(_util_helpers__WEBPACK_IMPORTED_MODULE_1__[/* getObjectValueByPath */ "m"])(this.$vnode, 'context.$options._scopeId');
|
1936
|
+
return scopeId && {
|
1937
|
+
[scopeId]: ''
|
1938
|
+
};
|
1939
|
+
},
|
1940
|
+
initDetach() {
|
1941
|
+
if (this._isDestroyed || !this.$refs.content || this.hasDetached ||
|
1942
|
+
// Leave menu in place if attached
|
1943
|
+
// and dev has not changed target
|
1944
|
+
this.attach === '' ||
|
1945
|
+
// If used as a boolean prop (<v-menu attach>)
|
1946
|
+
this.attach === true ||
|
1947
|
+
// If bound to a boolean (<v-menu :attach="true">)
|
1948
|
+
this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))
|
1949
|
+
) return;
|
1950
|
+
let target;
|
1951
|
+
if (this.attach === false) {
|
1952
|
+
// Default, detach to app
|
1953
|
+
target = document.querySelector('[data-app]');
|
1954
|
+
} else if (typeof this.attach === 'string') {
|
1955
|
+
// CSS selector
|
1956
|
+
target = document.querySelector(this.attach);
|
1957
|
+
} else {
|
1958
|
+
// DOM Element
|
1959
|
+
target = this.attach;
|
1960
|
+
}
|
1961
|
+
if (!target) {
|
1962
|
+
Object(_util_console__WEBPACK_IMPORTED_MODULE_3__[/* consoleWarn */ "c"])(`Unable to locate target ${this.attach || '[data-app]'}`, this);
|
1963
|
+
return;
|
1964
|
+
}
|
1965
|
+
target.appendChild(this.$refs.content);
|
1966
|
+
this.hasDetached = true;
|
1967
|
+
}
|
1968
|
+
}
|
1969
|
+
}));
|
1683
1970
|
|
1684
1971
|
/***/ })
|
1685
1972
|
|