@dimailn/vuetify 2.7.2-alpha13 → 2.7.2-alpha15
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/vuetify.js +134 -132
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAppBar/VAppBar.js +7 -12
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +9 -6
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +3 -1
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +17 -18
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +3 -3
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +4 -1
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VToolbar/VToolbar.js +2 -3
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/directives/intersect/index.js +20 -7
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +13 -13
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +8 -8
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +10 -9
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/directives/touch/index.js +4 -4
- package/es5/directives/touch/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/lib/components/VAppBar/VAppBar.js +7 -11
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +10 -7
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +3 -1
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +20 -18
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +3 -5
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +4 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +4 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/directives/intersect/index.js +20 -7
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +13 -13
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +8 -8
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +10 -9
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/directives/touch/index.js +4 -4
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/package.json +1 -1
- package/src/components/VAppBar/VAppBar.ts +11 -13
- package/src/components/VAutocomplete/VAutocomplete.ts +12 -5
- package/src/components/VGrid/VContainer.ts +1 -1
- package/src/components/VItemGroup/VItem.ts +25 -23
- package/src/components/VRadioGroup/VRadioGroup.ts +6 -7
- package/src/components/VTextField/VTextField.ts +3 -2
- package/src/components/VToolbar/VToolbar.ts +4 -5
- package/src/directives/intersect/index.ts +81 -42
- package/src/directives/mutate/index.ts +58 -49
- package/src/directives/resize/index.ts +33 -14
- package/src/directives/scroll/index.ts +36 -20
- package/src/directives/touch/index.ts +37 -27
|
@@ -1,14 +1,18 @@
|
|
|
1
|
-
function
|
|
2
|
-
if (typeof window === 'undefined' || !('IntersectionObserver' in window))
|
|
1
|
+
function mounted(el, binding, vnode) {
|
|
2
|
+
if (typeof window === 'undefined' || !('IntersectionObserver' in window)) {
|
|
3
|
+
return;
|
|
4
|
+
}
|
|
5
|
+
|
|
3
6
|
const modifiers = binding.modifiers || {};
|
|
4
7
|
const value = binding.value;
|
|
5
8
|
const {
|
|
6
9
|
handler,
|
|
7
10
|
options
|
|
8
|
-
} = typeof value === 'object' ? value : {
|
|
11
|
+
} = typeof value === 'object' && value !== null && 'handler' in value ? value : {
|
|
9
12
|
handler: value,
|
|
10
13
|
options: {}
|
|
11
14
|
};
|
|
15
|
+
if (!handler) return;
|
|
12
16
|
const observer = new IntersectionObserver((entries = [], observer) => {
|
|
13
17
|
var _a;
|
|
14
18
|
|
|
@@ -23,7 +27,7 @@ function inserted(el, binding, vnode) {
|
|
|
23
27
|
handler(entries, observer, isIntersecting);
|
|
24
28
|
}
|
|
25
29
|
|
|
26
|
-
if (isIntersecting && modifiers.once)
|
|
30
|
+
if (isIntersecting && modifiers.once) unmounted(el, binding, vnode);else _observe.init = true;
|
|
27
31
|
}, options);
|
|
28
32
|
el._observe = Object(el._observe);
|
|
29
33
|
el._observe[vnode.ctx.uid] = {
|
|
@@ -33,7 +37,15 @@ function inserted(el, binding, vnode) {
|
|
|
33
37
|
observer.observe(el);
|
|
34
38
|
}
|
|
35
39
|
|
|
36
|
-
function
|
|
40
|
+
function updated(el, binding, vnode) {
|
|
41
|
+
// Если значение изменилось, пересоздаем observer
|
|
42
|
+
if (binding.value !== binding.oldValue) {
|
|
43
|
+
unmounted(el, binding, vnode);
|
|
44
|
+
mounted(el, binding, vnode);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function unmounted(el, binding, vnode) {
|
|
37
49
|
var _a;
|
|
38
50
|
|
|
39
51
|
const observe = (_a = el._observe) === null || _a === void 0 ? void 0 : _a[vnode.ctx.uid];
|
|
@@ -43,8 +55,9 @@ function unbind(el, binding, vnode) {
|
|
|
43
55
|
}
|
|
44
56
|
|
|
45
57
|
export const Intersect = {
|
|
46
|
-
mounted
|
|
47
|
-
|
|
58
|
+
mounted,
|
|
59
|
+
updated,
|
|
60
|
+
unmounted
|
|
48
61
|
};
|
|
49
62
|
export default Intersect;
|
|
50
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":[],"mappings":"AA6BA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,MAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,EAAE,0BAA0B,MAA5B,CAArC,EAA0E;AAAE;AAAQ;;AAEpF,QAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,QAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA;AAAX,MACJ,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,KAAK,IAAvC,IAA+C,aAAa,KAA5D,GACI,KADJ,GAEI;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAHN;AAKA,MAAI,CAAC,OAAL,EAAc;AAEd,QAAM,QAAQ,GAAG,IAAI,oBAAJ,CACf,CACE,OAAA,GAAuC,EADzC,EAEE,QAFF,KAGI;;;AACF,UAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,EAAE,CAAC,QAAH,MAAW,IAAX,IAAW,EAAA,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAW,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAA5B;;AACA,QAAI,CAAC,QAAL,EAAe,OAFb,CAEoB;;AAEtB,UAAM,cAAc,GAAG,OAAO,CAAC,IAAR,CAAa,KAAK,IAAI,KAAK,CAAC,cAA5B,CAAvB,CAJE,CAMF;AACA;;AACA,QACE,OAAO,KACN,CAAC,SAAS,CAAC,KAAX,IAAoB,QAAQ,CAAC,IADvB,CAAP,KAEC,CAAC,SAAS,CAAC,IAAX,IAAmB,cAAnB,IAAqC,QAAQ,CAAC,IAF/C,CADF,EAIE;AACA,MAAA,OAAO,CAAC,OAAD,EAAU,QAAV,EAAoB,cAApB,CAAP;AACD;;AAED,QAAI,cAAc,IAAI,SAAS,CAAC,IAAhC,EAAsC,SAAS,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAT,CAAtC,KACK,QAAQ,CAAC,IAAT,GAAgB,IAAhB;AACN,GAtBc,EAuBf,OAvBe,CAAjB;AA0BA,EAAA,EAAE,CAAC,QAAH,GAAc,MAAM,CAAC,EAAE,CAAC,QAAJ,CAApB;AACA,EAAA,EAAE,CAAC,QAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,IAA+B;AAAE,IAAA,IAAI,EAAE,KAAR;AAAe,IAAA;AAAf,GAA/B;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ;AACA,MAAI,OAAO,CAAC,KAAR,KAAkB,OAAO,CAAC,QAA9B,EAAwC;AACtC,IAAA,SAAS,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAT;AACA,IAAA,OAAO,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAP;AACD;AACF;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,QAAM,OAAO,GAAG,CAAA,EAAA,GAAA,EAAE,CAAC,QAAH,MAAW,IAAX,IAAW,EAAA,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAW,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAA3B;AACA,MAAI,CAAC,OAAL,EAAc;AAEd,EAAA,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B,EAA3B;AACA,SAAO,EAAE,CAAC,QAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAAP;AACD;;AAED,OAAO,MAAM,SAAS,GAIlB;AACF,EAAA,OADE;AAEF,EAAA,OAFE;AAGF,EAAA;AAHE,CAJG;AAUP,eAAe,SAAf","sourcesContent":["import { DirectiveBinding, ObjectDirective, VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean\n) => void;\n\ninterface ObserveDirectiveBinding\n extends Omit<DirectiveBinding, 'modifiers' | 'value'> {\n value?:\n | ObserveHandler\n | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\n// Расширяем HTMLElement для хранения данных наблюдателя\ndeclare global {\n interface HTMLElement {\n _observe?: Record<\n number,\n { init: boolean, observer: IntersectionObserver }\n >\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: ObserveDirectiveBinding,\n vnode: VNode\n) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) { return }\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } =\n typeof value === 'object' && value !== null && 'handler' in value\n ? value\n : { handler: value, options: {} }\n\n if (!handler) return\n\n const observer = new IntersectionObserver(\n (\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[vnode.ctx!.uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler &&\n (!modifiers.quiet || _observe.init) &&\n (!modifiers.once || isIntersecting || _observe.init)\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unmounted(el, binding, vnode)\n else _observe.init = true\n },\n options\n )\n\n el._observe = Object(el._observe)\n el._observe![vnode.ctx!.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction updated (\n el: HTMLElement,\n binding: ObserveDirectiveBinding,\n vnode: VNode\n) {\n // Если значение изменилось, пересоздаем observer\n if (binding.value !== binding.oldValue) {\n unmounted(el, binding, vnode)\n mounted(el, binding, vnode)\n }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: ObserveDirectiveBinding,\n vnode: VNode\n) {\n const observe = el._observe?.[vnode.ctx!.uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![vnode.ctx!.uid]\n}\n\nexport const Intersect: ObjectDirective<\n HTMLElement,\n | ObserveHandler\n | { handler: ObserveHandler, options?: IntersectionObserverInit }\n> = {\n mounted,\n updated,\n unmounted,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function
|
|
1
|
+
function mounted(el, binding, vnode) {
|
|
2
2
|
const modifiers = binding.modifiers || {};
|
|
3
3
|
const value = binding.value;
|
|
4
4
|
const callback = typeof value === 'object' ? value.handler : value;
|
|
@@ -8,14 +8,14 @@ function inserted(el, binding, vnode) {
|
|
|
8
8
|
} = modifiers;
|
|
9
9
|
const hasModifiers = Object.keys(modifierKeys).length > 0; // Options take top priority
|
|
10
10
|
|
|
11
|
-
const options = typeof value === 'object' && value.options ? value.options : hasModifiers
|
|
12
|
-
|
|
11
|
+
const options = typeof value === 'object' && value.options ? value.options : hasModifiers ? {
|
|
12
|
+
// If we have modifiers, use only those provided
|
|
13
13
|
attributes: modifierKeys.attr,
|
|
14
14
|
childList: modifierKeys.child,
|
|
15
15
|
subtree: modifierKeys.sub,
|
|
16
16
|
characterData: modifierKeys.char
|
|
17
|
-
}
|
|
18
|
-
|
|
17
|
+
} : {
|
|
18
|
+
// Defaults to everything on
|
|
19
19
|
attributes: true,
|
|
20
20
|
childList: true,
|
|
21
21
|
subtree: true,
|
|
@@ -27,28 +27,28 @@ function inserted(el, binding, vnode) {
|
|
|
27
27
|
|
|
28
28
|
callback(mutationsList, observer); // If has the once modifier, unbind
|
|
29
29
|
|
|
30
|
-
once &&
|
|
30
|
+
once && unmounted(el, binding, vnode);
|
|
31
31
|
});
|
|
32
32
|
observer.observe(el, options);
|
|
33
33
|
el._mutate = Object(el._mutate);
|
|
34
|
-
el._mutate[vnode.
|
|
34
|
+
el._mutate[vnode.ctx.uid] = {
|
|
35
35
|
observer
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
function
|
|
39
|
+
function unmounted(el, binding, vnode) {
|
|
40
40
|
var _a;
|
|
41
41
|
|
|
42
|
-
if (!((_a = el._mutate) === null || _a === void 0 ? void 0 : _a[vnode.
|
|
42
|
+
if (!((_a = el._mutate) === null || _a === void 0 ? void 0 : _a[vnode.ctx.uid])) return;
|
|
43
43
|
|
|
44
|
-
el._mutate[vnode.
|
|
44
|
+
el._mutate[vnode.ctx.uid].observer.disconnect();
|
|
45
45
|
|
|
46
|
-
delete el._mutate[vnode.
|
|
46
|
+
delete el._mutate[vnode.ctx.uid];
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
export const Mutate = {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
mounted,
|
|
51
|
+
unmounted
|
|
52
52
|
};
|
|
53
53
|
export default Mutate;
|
|
54
54
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":"AAmBA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,QAAM,SAAS,GAAI,OAAO,CAAC,SAAR,IAAyC,EAA5D;AACA,QAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,QAAM,QAAQ,GAAG,OAAO,KAAP,KAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;AACA,QAAM;AAAE,IAAA,IAAF;AAAQ,OAAG;AAAX,MAA4B,SAAlC;AACA,QAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CANY,CAQZ;;AACA,QAAM,OAAO,GACX,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,CAAC,OAAnC,GACI,KAAK,CAAC,OADV,GAEI,YAAY,GACV;AACA;AACA,IAAA,UAAU,EAAE,YAAY,CAAC,IAFzB;AAGA,IAAA,SAAS,EAAE,YAAY,CAAC,KAHxB;AAIA,IAAA,OAAO,EAAE,YAAY,CAAC,GAJtB;AAKA,IAAA,aAAa,EAAE,YAAY,CAAC;AAL5B,GADU,GAQV;AACA;AACA,IAAA,UAAU,EAAE,IAFZ;AAGA,IAAA,SAAS,EAAE,IAHX;AAIA,IAAA,OAAO,EAAE,IAJT;AAKA,IAAA,aAAa,EAAE;AALf,GAXR;AAmBA,QAAM,QAAQ,GAAG,IAAI,gBAAJ,CACf,CAAC,aAAD,EAAkC,QAAlC,KAAgE;AAC9D;AACA,QAAI,CAAC,EAAE,CAAC,OAAR,EAAiB,OAF6C,CAEtC;;AAExB,IAAA,QAAQ,CAAC,aAAD,EAAgB,QAAhB,CAAR,CAJ8D,CAM9D;;AACA,IAAA,IAAI,IAAI,SAAS,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAjB;AACD,GATc,CAAjB;AAYA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB,EAAqB,OAArB;AACA,EAAA,EAAE,CAAC,OAAH,GAAa,MAAM,CAAC,EAAE,CAAC,OAAJ,CAAnB;AACA,EAAA,EAAE,CAAC,OAAH,CAAY,KAAK,CAAC,GAAN,CAAW,GAAvB,IAA8B;AAAE,IAAA;AAAF,GAA9B;AACD;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,OAAH,MAAU,IAAV,IAAU,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAU,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAAX,CAAJ,EAAmC;;AAEnC,EAAA,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,GAAN,CAAW,GAAtB,EAA4B,QAA5B,CAAqC,UAArC;;AACA,SAAO,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,GAAN,CAAW,GAAtB,CAAP;AACD;;AAED,OAAO,MAAM,MAAM,GAAG;AACpB,EAAA,OADoB;AAEpB,EAAA;AAFoB,CAAf;AAKP,eAAe,MAAf","sourcesContent":["import { DirectiveBinding, VNode } from 'vue'\n\ntype MutateHandler = (\n mutationsList: MutationRecord[],\n observer: MutationObserver\n) => void;\n\ntype MutateValue =\n | MutateHandler\n | { handler: MutateHandler, options?: MutationObserverInit };\n\ntype MutateModifiers = {\n once?: boolean\n attr?: boolean\n child?: boolean\n sub?: boolean\n char?: boolean\n};\n\nfunction mounted (\n el: HTMLElement,\n binding: DirectiveBinding<MutateValue>,\n vnode: VNode\n) {\n const modifiers = (binding.modifiers as MutateModifiers) || {}\n const value = binding.value\n const callback = typeof value === 'object' ? value.handler : value!\n const { once, ...modifierKeys } = modifiers\n const hasModifiers = Object.keys(modifierKeys).length > 0\n\n // Options take top priority\n const options =\n typeof value === 'object' && value.options\n ? value.options\n : hasModifiers\n ? {\n // If we have modifiers, use only those provided\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n : {\n // Defaults to everything on\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver(\n (mutationsList: MutationRecord[], observer: MutationObserver) => {\n /* istanbul ignore if */\n if (!el._mutate) return // Just in case, should never fire\n\n callback(mutationsList, observer)\n\n // If has the once modifier, unbind\n once && unmounted(el, binding, vnode)\n }\n )\n\n observer.observe(el, options)\n el._mutate = Object(el._mutate)\n el._mutate![vnode.ctx!.uid] = { observer }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: DirectiveBinding<MutateValue>,\n vnode: VNode\n) {\n if (!el._mutate?.[vnode.ctx!.uid]) return\n\n el._mutate[vnode.ctx!.uid]!.observer.disconnect()\n delete el._mutate[vnode.ctx!.uid]\n}\n\nexport const Mutate = {\n mounted,\n unmounted,\n}\n\nexport default Mutate\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
function
|
|
1
|
+
function mounted(el, binding, vnode) {
|
|
2
2
|
const callback = binding.value;
|
|
3
3
|
const options = binding.options || {
|
|
4
4
|
passive: true
|
|
5
5
|
};
|
|
6
6
|
window.addEventListener('resize', callback, options);
|
|
7
7
|
el._onResize = Object(el._onResize);
|
|
8
|
-
el._onResize[vnode.
|
|
8
|
+
el._onResize[vnode.ctx.uid] = {
|
|
9
9
|
callback,
|
|
10
10
|
options
|
|
11
11
|
};
|
|
@@ -15,21 +15,21 @@ function inserted(el, binding, vnode) {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
function
|
|
18
|
+
function unmounted(el, binding, vnode) {
|
|
19
19
|
var _a;
|
|
20
20
|
|
|
21
|
-
if (!((_a = el._onResize) === null || _a === void 0 ? void 0 : _a[vnode.
|
|
21
|
+
if (!((_a = el._onResize) === null || _a === void 0 ? void 0 : _a[vnode.ctx.uid])) return;
|
|
22
22
|
const {
|
|
23
23
|
callback,
|
|
24
24
|
options
|
|
25
|
-
} = el._onResize[vnode.
|
|
25
|
+
} = el._onResize[vnode.ctx.uid];
|
|
26
26
|
window.removeEventListener('resize', callback, options);
|
|
27
|
-
delete el._onResize[vnode.
|
|
27
|
+
delete el._onResize[vnode.ctx.uid];
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
export const Resize = {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
mounted,
|
|
32
|
+
unmounted
|
|
33
33
|
};
|
|
34
34
|
export default Resize;
|
|
35
35
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":"AAmBA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,QAAM,QAAQ,GAAG,OAAO,CAAC,KAAzB;AACA,QAAM,OAAO,GAAG,OAAO,CAAC,OAAR,IAAmB;AAAE,IAAA,OAAO,EAAE;AAAX,GAAnC;AAEA,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,QAAlC,EAA4C,OAA5C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,GAAN,CAAW,GAAzB,IAAgC;AAC9B,IAAA,QAD8B;AAE9B,IAAA;AAF8B,GAAhC;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAAb,CAAJ,EAAqC;AAErC,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA;AAAZ,MAAwB,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAA9B;AAEA,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AAEA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAAP;AACD;;AAED,OAAO,MAAM,MAAM,GAAoB;AACrC,EAAA,OADqC;AAErC,EAAA;AAFqC,CAAhC;AAKP,eAAe,MAAf","sourcesContent":["import { DirectiveBinding, ObjectDirective, VNode } from 'vue'\n\ninterface ResizeDirectiveBinding extends DirectiveBinding {\n value: () => void\n options?: boolean | AddEventListenerOptions\n}\n\ndeclare global {\n interface HTMLElement {\n _onResize?: Record<\n number,\n {\n callback: () => void\n options: boolean | AddEventListenerOptions\n }\n >\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: ResizeDirectiveBinding,\n vnode: VNode\n) {\n const callback = binding.value\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.ctx!.uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: ResizeDirectiveBinding,\n vnode: VNode\n) {\n if (!el._onResize?.[vnode.ctx!.uid]) return\n\n const { callback, options } = el._onResize[vnode.ctx!.uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.ctx!.uid]\n}\n\nexport const Resize: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Resize\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function
|
|
1
|
+
function mounted(el, binding, vnode) {
|
|
2
2
|
const {
|
|
3
3
|
self = false
|
|
4
4
|
} = binding.modifiers || {};
|
|
@@ -10,8 +10,9 @@ function inserted(el, binding, vnode) {
|
|
|
10
10
|
const target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
|
|
11
11
|
if (!target) return;
|
|
12
12
|
target.addEventListener('scroll', handler, options);
|
|
13
|
-
el._onScroll = Object(el._onScroll);
|
|
14
|
-
|
|
13
|
+
el._onScroll = Object(el._onScroll); // В Vue 3 используем vnode.ctx.uid вместо vnode.context._uid
|
|
14
|
+
|
|
15
|
+
el._onScroll[vnode.ctx.uid] = {
|
|
15
16
|
handler,
|
|
16
17
|
options,
|
|
17
18
|
// Don't reference self
|
|
@@ -19,22 +20,22 @@ function inserted(el, binding, vnode) {
|
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
22
|
|
|
22
|
-
function
|
|
23
|
+
function unmounted(el, binding, vnode) {
|
|
23
24
|
var _a;
|
|
24
25
|
|
|
25
|
-
if (!((_a = el._onScroll) === null || _a === void 0 ? void 0 : _a[vnode.
|
|
26
|
+
if (!((_a = el._onScroll) === null || _a === void 0 ? void 0 : _a[vnode.ctx.uid])) return;
|
|
26
27
|
const {
|
|
27
28
|
handler,
|
|
28
29
|
options,
|
|
29
30
|
target = el
|
|
30
|
-
} = el._onScroll[vnode.
|
|
31
|
+
} = el._onScroll[vnode.ctx.uid];
|
|
31
32
|
target.removeEventListener('scroll', handler, options);
|
|
32
|
-
delete el._onScroll[vnode.
|
|
33
|
+
delete el._onScroll[vnode.ctx.uid];
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
export const Scroll = {
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
mounted,
|
|
38
|
+
unmounted
|
|
38
39
|
};
|
|
39
40
|
export default Scroll;
|
|
40
41
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":"AAeA,SAAS,OAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;AAEZ,QAAM;AAAE,IAAA,IAAI,GAAG;AAAT,MAAmB,OAAO,CAAC,SAAR,IAAqB,EAA9C;AACA,QAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,QAAM,OAAO,GAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAC9D,IAAA,OAAO,EAAE;AADqD,GAAhE;AAGA,QAAM,OAAO,GACX,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GACI,KADJ,GAEI,KAAK,CAAC,OAHZ;AAKA,QAAM,MAAM,GAAG,IAAI,GACf,EADe,GAEf,OAAO,CAAC,GAAR,GACE,QAAQ,CAAC,aAAT,CAAuB,OAAO,CAAC,GAA/B,CADF,GAEE,MAJN;AAMA,MAAI,CAAC,MAAL,EAAa;AAEb,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,OAAlC,EAA2C,OAA3C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB,CAtBY,CAuBZ;;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,GAAN,CAAW,GAAzB,IAAgC;AAC9B,IAAA,OAD8B;AAE9B,IAAA,OAF8B;AAG9B;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJG,GAAhC;AAMD;;AAED,SAAS,SAAT,CACE,EADF,EAEE,OAFF,EAGE,KAHF,EAGc;;;AAEZ,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,GAAN,CAAW,GAAd,CAAb,CAAJ,EAAqC;AAErC,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA,OAAX;AAAoB,IAAA,MAAM,GAAG;AAA7B,MAAoC,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAA1C;AAEA,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,GAAN,CAAW,GAAxB,CAAP;AACD;;AAED,OAAO,MAAM,MAAM,GAAoB;AACrC,EAAA,OADqC;AAErC,EAAA;AAFqC,CAAhC;AAKP,eAAe,MAAf","sourcesContent":["import { DirectiveBinding, VNode, ObjectDirective } from 'vue'\n\ninterface ScrollDirectiveBinding extends Omit<DirectiveBinding, 'modifiers'> {\n value:\n | EventListener\n | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n }\n | (EventListenerObject & { options?: boolean | AddEventListenerOptions })\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: ScrollDirectiveBinding,\n vnode: VNode\n) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || {\n passive: true,\n }\n const handler =\n typeof value === 'function' || 'handleEvent' in value\n ? value\n : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n // В Vue 3 используем vnode.ctx.uid вместо vnode.context._uid\n el._onScroll![vnode.ctx!.uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: ScrollDirectiveBinding,\n vnode: VNode\n) {\n if (!el._onScroll?.[vnode.ctx!.uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.ctx!.uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.ctx!.uid]\n}\n\nexport const Scroll: ObjectDirective = {\n mounted,\n unmounted,\n}\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
|
|
@@ -71,7 +71,7 @@ function createHandlers(value) {
|
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
function
|
|
74
|
+
function mounted(el, binding, vnode) {
|
|
75
75
|
const value = binding.value;
|
|
76
76
|
const target = value.parent ? el.parentElement : el;
|
|
77
77
|
const options = value.options || {
|
|
@@ -87,7 +87,7 @@ function inserted(el, binding, vnode) {
|
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
function
|
|
90
|
+
function unmounted(el, binding, vnode) {
|
|
91
91
|
const target = binding.value.parent ? el.parentElement : el;
|
|
92
92
|
if (!target || !target._touchHandlers) return;
|
|
93
93
|
const handlers = target._touchHandlers[vnode.ctx.uid];
|
|
@@ -98,8 +98,8 @@ function unbind(el, binding, vnode) {
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
export const Touch = {
|
|
101
|
-
mounted
|
|
102
|
-
unmounted
|
|
101
|
+
mounted,
|
|
102
|
+
unmounted
|
|
103
103
|
};
|
|
104
104
|
export default makeDirectiveActivatable(Touch);
|
|
105
105
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/touch/index.ts"],"names":[],"mappings":"AACA,SAAS,IAAT,QAAqB,oBAArB;AAEA,OAAO,wBAAP,MAAqC,uCAArC;;
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/touch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { DirectiveBinding, VNode, ObjectDirective } from 'vue'\nimport { keys } from '../../util/helpers'\nimport { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'\nimport makeDirectiveActivatable from '../../util/make-directive-activatable'\n\nexport interface TouchStoredHandlers {\n touchstart: (e: TouchEvent) => void\n touchend: (e: TouchEvent) => void\n touchmove: (e: TouchEvent) => void\n}\n\nconst handleGesture = (wrapper: TouchWrapper) => {\n const { touchstartX, touchendX, touchstartY, touchendY } = wrapper\n const dirRatio = 0.5\n const minDistance = 16\n wrapper.offsetX = touchendX - touchstartX\n wrapper.offsetY = touchendY - touchstartY\n\n if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {\n wrapper.left &&\n touchendX < touchstartX - minDistance &&\n wrapper.left(wrapper)\n wrapper.right &&\n touchendX > touchstartX + minDistance &&\n wrapper.right(wrapper)\n }\n\n if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {\n wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper)\n wrapper.down &&\n touchendY > touchstartY + minDistance &&\n wrapper.down(wrapper)\n }\n}\n\nfunction touchstart (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchstartX = touch.clientX\n wrapper.touchstartY = touch.clientY\n\n wrapper.start && wrapper.start(Object.assign(event, wrapper))\n}\n\nfunction touchend (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchendX = touch.clientX\n wrapper.touchendY = touch.clientY\n\n wrapper.end && wrapper.end(Object.assign(event, wrapper))\n\n handleGesture(wrapper)\n}\n\nfunction touchmove (event: TouchEvent, wrapper: TouchWrapper) {\n const touch = event.changedTouches[0]\n wrapper.touchmoveX = touch.clientX\n wrapper.touchmoveY = touch.clientY\n\n wrapper.move && wrapper.move(Object.assign(event, wrapper))\n}\n\nfunction createHandlers (value: TouchHandlers): TouchStoredHandlers {\n const wrapper = {\n touchstartX: 0,\n touchstartY: 0,\n touchendX: 0,\n touchendY: 0,\n touchmoveX: 0,\n touchmoveY: 0,\n offsetX: 0,\n offsetY: 0,\n left: value.left,\n right: value.right,\n up: value.up,\n down: value.down,\n start: value.start,\n move: value.move,\n end: value.end,\n }\n\n return {\n touchstart: (e: TouchEvent) => touchstart(e, wrapper),\n touchend: (e: TouchEvent) => touchend(e, wrapper),\n touchmove: (e: TouchEvent) => touchmove(e, wrapper),\n }\n}\n\nfunction mounted (\n el: HTMLElement,\n binding: DirectiveBinding<TouchValue>,\n vnode: VNode\n) {\n const value = binding.value\n const target = value.parent ? el.parentElement : el\n const options = value.options || { passive: true }\n\n // Needed to pass unit tests\n if (!target) return\n\n const handlers = createHandlers(binding.value)\n target._touchHandlers = Object(target._touchHandlers)\n target._touchHandlers![vnode.ctx!.uid] = handlers\n\n keys(handlers).forEach(eventName => {\n target.addEventListener(\n eventName,\n handlers[eventName] as EventListener,\n options\n )\n })\n}\n\nfunction unmounted (\n el: HTMLElement,\n binding: DirectiveBinding<TouchValue>,\n vnode: VNode\n) {\n const target = binding.value.parent ? el.parentElement : el\n if (!target || !target._touchHandlers) return\n\n const handlers = target._touchHandlers[vnode.ctx!.uid]\n keys(handlers).forEach(eventName => {\n target.removeEventListener(eventName, handlers[eventName])\n })\n delete target._touchHandlers[vnode.ctx!.uid]\n}\n\nexport const Touch: ObjectDirective<HTMLElement, TouchValue> = {\n mounted,\n unmounted,\n}\n\nexport default makeDirectiveActivatable(Touch)\n"],"sourceRoot":"","file":"index.js"}
|
package/lib/framework.js
CHANGED
package/package.json
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {h} from 'vue'
|
|
2
1
|
// Styles
|
|
3
2
|
import './VAppBar.sass'
|
|
4
3
|
|
|
@@ -16,10 +15,11 @@ import Toggleable from '../../mixins/toggleable'
|
|
|
16
15
|
|
|
17
16
|
// Utilities
|
|
18
17
|
import { convertToUnit } from '../../util/helpers'
|
|
18
|
+
import { mergeProps, withDirectives } from 'vue'
|
|
19
19
|
import mixins from '../../util/mixins'
|
|
20
20
|
|
|
21
21
|
// Types
|
|
22
|
-
import { VNode } from 'vue'
|
|
22
|
+
import type { VNode } from 'vue'
|
|
23
23
|
|
|
24
24
|
const baseMixins = mixins(
|
|
25
25
|
VToolbar,
|
|
@@ -239,8 +239,8 @@ export default baseMixins.extend({
|
|
|
239
239
|
genBackground () {
|
|
240
240
|
const render = VToolbar.methods.genBackground.call(this)
|
|
241
241
|
|
|
242
|
-
render.
|
|
243
|
-
style: { opacity: this.computedOpacity }
|
|
242
|
+
render.props = mergeProps(render.props || {}, {
|
|
243
|
+
style: { opacity: this.computedOpacity }
|
|
244
244
|
})
|
|
245
245
|
|
|
246
246
|
return render
|
|
@@ -268,19 +268,17 @@ export default baseMixins.extend({
|
|
|
268
268
|
},
|
|
269
269
|
|
|
270
270
|
render (): VNode {
|
|
271
|
-
const render = VToolbar.render.call(this
|
|
272
|
-
|
|
273
|
-
render.data = render.data || {}
|
|
271
|
+
const render = VToolbar.render.call(this)
|
|
274
272
|
|
|
275
273
|
if (this.canScroll) {
|
|
276
|
-
render.
|
|
277
|
-
render
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
value: this.onScroll,
|
|
281
|
-
})
|
|
274
|
+
render.key = 'v-app-bar-scroll'
|
|
275
|
+
return withDirectives(render, [
|
|
276
|
+
[Scroll, this.onScroll, this.scrollTarget],
|
|
277
|
+
])
|
|
282
278
|
}
|
|
283
279
|
|
|
280
|
+
render.key = 'v-app-bar-no-scroll'
|
|
281
|
+
|
|
284
282
|
return render
|
|
285
283
|
},
|
|
286
284
|
})
|
|
@@ -6,7 +6,7 @@ import VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelec
|
|
|
6
6
|
import VTextField from '../VTextField/VTextField'
|
|
7
7
|
|
|
8
8
|
// Utilities
|
|
9
|
-
import
|
|
9
|
+
import { defineComponent, mergeProps } from 'vue'
|
|
10
10
|
import {
|
|
11
11
|
getObjectValueByPath,
|
|
12
12
|
getPropertyFromItem,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
} from '../../util/helpers'
|
|
15
15
|
|
|
16
16
|
// Types
|
|
17
|
-
import { PropType, VNode
|
|
17
|
+
import { PropType, VNode } from 'vue'
|
|
18
18
|
import { PropValidator } from 'vue/types/options'
|
|
19
19
|
|
|
20
20
|
const defaultMenuProps = {
|
|
@@ -313,9 +313,16 @@ export default defineComponent({
|
|
|
313
313
|
genInput () {
|
|
314
314
|
const input = VTextField.methods.genInput.call(this)
|
|
315
315
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
316
|
+
const ariaActiveDescendant = getObjectValueByPath(this.$refs.menu, 'activeTile.id')
|
|
317
|
+
const autocomplete = getObjectValueByPath(input.props, 'autocomplete', 'off')
|
|
318
|
+
|
|
319
|
+
// в оригинале class не пробрасывался в инпут
|
|
320
|
+
input.props = mergeProps({
|
|
321
|
+
...input.props,
|
|
322
|
+
class: undefined
|
|
323
|
+
}, {
|
|
324
|
+
'aria-activedescendant': ariaActiveDescendant,
|
|
325
|
+
autocomplete,
|
|
319
326
|
value: this.internalSearch,
|
|
320
327
|
})
|
|
321
328
|
|
|
@@ -7,10 +7,9 @@ import { factory as GroupableFactory } from '../../mixins/groupable'
|
|
|
7
7
|
// Utilities
|
|
8
8
|
import mixins from '../../util/mixins'
|
|
9
9
|
import { consoleWarn } from '../../util/console'
|
|
10
|
+
import { defineComponent, mergeProps } from "vue"
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
import {defineComponent} from 'vue'
|
|
13
|
-
import { VNode, ScopedSlotChildren } from 'vue/types/vnode'
|
|
12
|
+
import type { VNode } from 'vue'
|
|
14
13
|
|
|
15
14
|
/* @vue/component */
|
|
16
15
|
export const BaseItem = defineComponent({
|
|
@@ -32,42 +31,45 @@ export const BaseItem = defineComponent({
|
|
|
32
31
|
},
|
|
33
32
|
},
|
|
34
33
|
|
|
35
|
-
render (): VNode {
|
|
34
|
+
render (): VNode | null {
|
|
36
35
|
if (!this.$slots.default) {
|
|
37
36
|
consoleWarn('v-item is missing a default scopedSlot', this)
|
|
38
|
-
|
|
39
|
-
return null as any
|
|
37
|
+
return null
|
|
40
38
|
}
|
|
41
39
|
|
|
42
|
-
|
|
40
|
+
const slotContent = this.$slots.default({
|
|
41
|
+
active: this.isActive,
|
|
42
|
+
toggle: this.toggle,
|
|
43
|
+
})
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
active: this.isActive,
|
|
48
|
-
toggle: this.toggle,
|
|
49
|
-
})
|
|
45
|
+
if (!slotContent || slotContent.length === 0) {
|
|
46
|
+
consoleWarn('v-item slot returned empty content', this)
|
|
47
|
+
return null
|
|
50
48
|
}
|
|
51
49
|
|
|
52
|
-
|
|
53
|
-
element = element[0]
|
|
54
|
-
}
|
|
50
|
+
let element = slotContent[0]
|
|
55
51
|
|
|
56
|
-
if (!element
|
|
57
|
-
consoleWarn('v-item should
|
|
52
|
+
if (!element) {
|
|
53
|
+
consoleWarn('v-item should contain at least one element', this)
|
|
54
|
+
return null
|
|
55
|
+
}
|
|
58
56
|
|
|
59
|
-
|
|
57
|
+
if (!element.type) {
|
|
58
|
+
consoleWarn('v-item should only contain valid VNode elements', this)
|
|
59
|
+
return element
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
element.
|
|
62
|
+
element.props = mergeProps(element.props || {}, {
|
|
63
63
|
class: {
|
|
64
64
|
[this.activeClass]: this.isActive,
|
|
65
|
-
|
|
66
|
-
}
|
|
65
|
+
"v-item--disabled": this.disabled
|
|
66
|
+
}
|
|
67
67
|
})
|
|
68
68
|
|
|
69
69
|
if (this.disabled) {
|
|
70
|
-
element.
|
|
70
|
+
element.props = mergeProps(element.props || {}, {
|
|
71
|
+
tabindex: -1
|
|
72
|
+
})
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
return element
|
|
@@ -6,10 +6,12 @@ import './VRadioGroup.sass'
|
|
|
6
6
|
import VInput from '../VInput'
|
|
7
7
|
import { BaseItemGroup } from '../VItemGroup/VItemGroup'
|
|
8
8
|
|
|
9
|
-
//
|
|
9
|
+
// Utilities
|
|
10
|
+
import { mergeProps, h } from 'vue'
|
|
10
11
|
import mixins from '../../util/mixins'
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
|
|
13
|
+
// Types
|
|
14
|
+
import type { PropType } from 'vue'
|
|
13
15
|
|
|
14
16
|
const baseMixins = mixins(
|
|
15
17
|
VInput,
|
|
@@ -88,10 +90,7 @@ export default baseMixins.extend({
|
|
|
88
90
|
render () {
|
|
89
91
|
const vnode = VInput.render.call(this)
|
|
90
92
|
|
|
91
|
-
vnode.props =
|
|
92
|
-
...vnode.props,
|
|
93
|
-
...this.attrs$
|
|
94
|
-
}
|
|
93
|
+
vnode.props = mergeProps(vnode.props, this.attrs$);
|
|
95
94
|
|
|
96
95
|
return vnode
|
|
97
96
|
},
|
|
@@ -355,6 +355,7 @@ export default baseMixins.extend({
|
|
|
355
355
|
if (!this.showLabel) return null
|
|
356
356
|
|
|
357
357
|
const data = {
|
|
358
|
+
ref: "label",
|
|
358
359
|
absolute: true,
|
|
359
360
|
color: this.validationState,
|
|
360
361
|
dark: this.dark,
|
|
@@ -500,8 +501,8 @@ export default baseMixins.extend({
|
|
|
500
501
|
setLabelWidth () {
|
|
501
502
|
if (!this.outlined) return
|
|
502
503
|
|
|
503
|
-
this.labelWidth = this.$refs
|
|
504
|
-
? Math.min(this.$refs
|
|
504
|
+
this.labelWidth = this.$refs?.label?.$el
|
|
505
|
+
? Math.min(this.$refs?.label?.$el.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)
|
|
505
506
|
: 0
|
|
506
507
|
},
|
|
507
508
|
setPrefixWidth () {
|