@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.
Files changed (67) hide show
  1. package/dist/vuetify.js +134 -132
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAppBar/VAppBar.js +7 -12
  6. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  7. package/es5/components/VAutocomplete/VAutocomplete.js +9 -6
  8. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  9. package/es5/components/VGrid/VContainer.js +3 -1
  10. package/es5/components/VGrid/VContainer.js.map +1 -1
  11. package/es5/components/VItemGroup/VItem.js +17 -18
  12. package/es5/components/VItemGroup/VItem.js.map +1 -1
  13. package/es5/components/VRadioGroup/VRadioGroup.js +3 -3
  14. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  15. package/es5/components/VTextField/VTextField.js +4 -1
  16. package/es5/components/VTextField/VTextField.js.map +1 -1
  17. package/es5/components/VToolbar/VToolbar.js +2 -3
  18. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  19. package/es5/directives/intersect/index.js +20 -7
  20. package/es5/directives/intersect/index.js.map +1 -1
  21. package/es5/directives/mutate/index.js +13 -13
  22. package/es5/directives/mutate/index.js.map +1 -1
  23. package/es5/directives/resize/index.js +8 -8
  24. package/es5/directives/resize/index.js.map +1 -1
  25. package/es5/directives/scroll/index.js +10 -9
  26. package/es5/directives/scroll/index.js.map +1 -1
  27. package/es5/directives/touch/index.js +4 -4
  28. package/es5/directives/touch/index.js.map +1 -1
  29. package/es5/framework.js +1 -1
  30. package/lib/components/VAppBar/VAppBar.js +7 -11
  31. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  32. package/lib/components/VAutocomplete/VAutocomplete.js +10 -7
  33. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  34. package/lib/components/VGrid/VContainer.js +3 -1
  35. package/lib/components/VGrid/VContainer.js.map +1 -1
  36. package/lib/components/VItemGroup/VItem.js +20 -18
  37. package/lib/components/VItemGroup/VItem.js.map +1 -1
  38. package/lib/components/VRadioGroup/VRadioGroup.js +3 -5
  39. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  40. package/lib/components/VTextField/VTextField.js +4 -1
  41. package/lib/components/VTextField/VTextField.js.map +1 -1
  42. package/lib/components/VToolbar/VToolbar.js +4 -3
  43. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  44. package/lib/directives/intersect/index.js +20 -7
  45. package/lib/directives/intersect/index.js.map +1 -1
  46. package/lib/directives/mutate/index.js +13 -13
  47. package/lib/directives/mutate/index.js.map +1 -1
  48. package/lib/directives/resize/index.js +8 -8
  49. package/lib/directives/resize/index.js.map +1 -1
  50. package/lib/directives/scroll/index.js +10 -9
  51. package/lib/directives/scroll/index.js.map +1 -1
  52. package/lib/directives/touch/index.js +4 -4
  53. package/lib/directives/touch/index.js.map +1 -1
  54. package/lib/framework.js +1 -1
  55. package/package.json +1 -1
  56. package/src/components/VAppBar/VAppBar.ts +11 -13
  57. package/src/components/VAutocomplete/VAutocomplete.ts +12 -5
  58. package/src/components/VGrid/VContainer.ts +1 -1
  59. package/src/components/VItemGroup/VItem.ts +25 -23
  60. package/src/components/VRadioGroup/VRadioGroup.ts +6 -7
  61. package/src/components/VTextField/VTextField.ts +3 -2
  62. package/src/components/VToolbar/VToolbar.ts +4 -5
  63. package/src/directives/intersect/index.ts +81 -42
  64. package/src/directives/mutate/index.ts +58 -49
  65. package/src/directives/resize/index.ts +33 -14
  66. package/src/directives/scroll/index.ts +36 -20
  67. package/src/directives/touch/index.ts +37 -27
@@ -1,14 +1,18 @@
1
- function inserted(el, binding, vnode) {
2
- if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return;
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) unbind(el, binding, vnode);else _observe.init = true;
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 unbind(el, binding, vnode) {
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: inserted,
47
- unmounted: unbind
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":"AAiBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAoE,KAApE,EAAgF;AAC9E,MAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,EAAE,0BAA0B,MAA5B,CAArC,EAA0E;AAE1E,QAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,QAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA;AAAX,MAAuB,OAAO,KAAP,KAAiB,QAAjB,GACzB,KADyB,GAEzB;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAFJ;AAGA,QAAM,QAAQ,GAAG,IAAI,oBAAJ,CAAyB,CACxC,OAAA,GAAuC,EADC,EAExC,QAFwC,KAGtC;;;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,KACL,CAAC,SAAS,CAAC,KAAX,IACA,QAAQ,CAAC,IAFJ,CAAP,KAIE,CAAC,SAAS,CAAC,IAAX,IACA,cADA,IAEA,QAAQ,CAAC,IANX,CADF,EASE;AACA,MAAA,OAAO,CAAC,OAAD,EAAU,QAAV,EAAoB,cAApB,CAAP;AACD;;AAED,QAAI,cAAc,IAAI,SAAS,CAAC,IAAhC,EAAsC,MAAM,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAN,CAAtC,KACK,QAAQ,CAAC,IAAT,GAAgB,IAAhB;AACN,GA1BgB,EA0Bd,OA1Bc,CAAjB;AA4BA,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,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAkE,KAAlE,EAA8E;;;AAC5E,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,GAAG;AACvB,EAAA,OAAO,EAAE,QADc;AAEvB,EAAA,SAAS,EAAE;AAFY,CAAlB;AAKP,eAAe,SAAf","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\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 ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![vnode.ctx!.uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\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 = {\n mounted: inserted,\n unmounted: unbind,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
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 inserted(el, binding, vnode) {
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 // If we have modifiers, use only those provided
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
- } // Defaults to everything on
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 && unbind(el, binding, vnode);
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.context._uid] = {
34
+ el._mutate[vnode.ctx.uid] = {
35
35
  observer
36
36
  };
37
37
  }
38
38
 
39
- function unbind(el, binding, vnode) {
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.context._uid])) return;
42
+ if (!((_a = el._mutate) === null || _a === void 0 ? void 0 : _a[vnode.ctx.uid])) return;
43
43
 
44
- el._mutate[vnode.context._uid].observer.disconnect();
44
+ el._mutate[vnode.ctx.uid].observer.disconnect();
45
45
 
46
- delete el._mutate[vnode.context._uid];
46
+ delete el._mutate[vnode.ctx.uid];
47
47
  }
48
48
 
49
49
  export const Mutate = {
50
- inserted,
51
- unbind
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":"AAkBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,QAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;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,CAL6E,CAO7E;;AACA,QAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,QAAjB,IAA6B,KAAK,CAAC,OAAnC,GACZ,KAAK,CAAC,OADM,GAEZ,YAAY,CACZ;AADY,IAEV;AACA,IAAA,UAAU,EAAE,YAAY,CAAC,IADzB;AAEA,IAAA,SAAS,EAAE,YAAY,CAAC,KAFxB;AAGA,IAAA,OAAO,EAAE,YAAY,CAAC,GAHtB;AAIA,IAAA,aAAa,EAAE,YAAY,CAAC;AAJ5B,GAFU,CAQZ;AARY,IASV;AACA,IAAA,UAAU,EAAE,IADZ;AAEA,IAAA,SAAS,EAAE,IAFX;AAGA,IAAA,OAAO,EAAE,IAHT;AAIA,IAAA,aAAa,EAAE;AAJf,GAXN;AAkBA,QAAM,QAAQ,GAAG,IAAI,gBAAJ,CAAqB,CACpC,aADoC,EAEpC,QAFoC,KAGlC;AACF;AACA,QAAI,CAAC,EAAE,CAAC,OAAR,EAAiB,OAFf,CAEsB;;AAExB,IAAA,QAAQ,CAAC,aAAD,EAAgB,QAAhB,CAAR,CAJE,CAMF;;AACA,IAAA,IAAI,IAAI,MAAM,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAd;AACD,GAXgB,CAAjB;AAaA,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,OAAN,CAAe,IAA3B,IAAmC;AAAE,IAAA;AAAF,GAAnC;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;;;AAC3E,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,OAAH,MAAU,IAAV,IAAU,EAAA,KAAA,KAAA,CAAV,GAAU,KAAA,CAAV,GAAU,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAAX,CAAJ,EAAwC;;AAExC,EAAA,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,EAAiC,QAAjC,CAA0C,UAA1C;;AACA,SAAO,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,CAAP;AACD;;AAED,OAAO,MAAM,MAAM,GAAG;AACpB,EAAA,QADoB;AAEpB,EAAA;AAFoB,CAAf;AAKP,eAAe,MAAf","sourcesContent":["import { VNode, VNodeDirective } from 'vue'\n\ntype MutateHandler = (\n mutationsList: MutationRecord[],\n observer: MutationObserver,\n) => void\n\ninterface MutateVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: MutateHandler | { handler: MutateHandler, options?: MutationObserverInit }\n modifiers?: {\n once?: boolean\n attr?: boolean\n child?: boolean\n sub?: boolean\n char?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: MutateVNodeDirective, vnode: VNode) {\n const modifiers = binding.modifiers || {}\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 = typeof value === 'object' && value.options\n ? value.options\n : hasModifiers\n // If we have modifiers, use only those provided\n ? {\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n // Defaults to everything on\n : {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver((\n mutationsList: MutationRecord[],\n observer: MutationObserver\n ) => {\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 && unbind(el, binding, vnode)\n })\n\n observer.observe(el, options)\n el._mutate = Object(el._mutate)\n el._mutate![vnode.context!._uid] = { observer }\n}\n\nfunction unbind (el: HTMLElement, binding: MutateVNodeDirective, vnode: VNode) {\n if (!el._mutate?.[vnode.context!._uid]) return\n\n el._mutate[vnode.context!._uid]!.observer.disconnect()\n delete el._mutate[vnode.context!._uid]\n}\n\nexport const Mutate = {\n inserted,\n unbind,\n}\n\nexport default Mutate\n"],"sourceRoot":"","file":"index.js"}
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 inserted(el, binding, vnode) {
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.context._uid] = {
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 unbind(el, binding, vnode) {
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.context._uid])) return;
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.context._uid];
25
+ } = el._onResize[vnode.ctx.uid];
26
26
  window.removeEventListener('resize', callback, options);
27
- delete el._onResize[vnode.context._uid];
27
+ delete el._onResize[vnode.ctx.uid];
28
28
  }
29
29
 
30
30
  export const Resize = {
31
- inserted,
32
- unbind
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":"AAQA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,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,OAAN,CAAe,IAA7B,IAAqC;AACnC,IAAA,QADmC;AAEnC,IAAA;AAFmC,GAArC;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;;;AAC3E,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAAb,CAAJ,EAA0C;AAE1C,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA;AAAZ,MAAwB,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAA9B;AAEA,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AAEA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAED,OAAO,MAAM,MAAM,GAAG;AACpB,EAAA,QADoB;AAEpB,EAAA;AAFoB,CAAf;AAKP,eAAe,MAAf","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\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.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n"],"sourceRoot":"","file":"index.js"}
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 inserted(el, binding, vnode) {
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
- el._onScroll[vnode.context._uid] = {
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 unbind(el, binding, vnode) {
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.context._uid])) return;
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.context._uid];
31
+ } = el._onScroll[vnode.ctx.uid];
31
32
  target.removeEventListener('scroll', handler, options);
32
- delete el._onScroll[vnode.context._uid];
33
+ delete el._onScroll[vnode.ctx.uid];
33
34
  }
34
35
 
35
36
  export const Scroll = {
36
- inserted,
37
- unbind
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":"AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,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;AAAE,IAAA,OAAO,EAAE;AAAX,GAAhE;AACA,QAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GAAwD,KAAxD,GAAgE,KAAK,CAAC,OAAtF;AAEA,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;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,IAAqC;AACnC,IAAA,OADmC;AAEnC,IAAA,OAFmC;AAGnC;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJQ,GAArC;AAMD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;;;AAC3E,MAAI,EAAC,CAAA,EAAA,GAAA,EAAE,CAAC,SAAH,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAAb,CAAJ,EAA0C;AAE1C,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA,OAAX;AAAoB,IAAA,MAAM,GAAG;AAA7B,MAAoC,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAA1C;AAEA,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAED,OAAO,MAAM,MAAM,GAAG;AACpB,EAAA,QADoB;AAEpB,EAAA;AAFoB,CAAf;AAKP,eAAe,MAAf","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : 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 el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
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 inserted(el, binding, vnode) {
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 unbind(el, binding, vnode) {
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: inserted,
102
- unmounted: unbind
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":"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","sourcesContent":["import { VNodeDirective, VNode } from 'vue/types/vnode'\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\ninterface TouchVNodeDirective extends VNodeDirective {\n value?: TouchValue\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 && (touchendX < touchstartX - minDistance) && wrapper.left(wrapper)\n wrapper.right && (touchendX > touchstartX + minDistance) && 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 && (touchendY > touchstartY + minDistance) && 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 &&\n 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 &&\n 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 inserted (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\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(eventName, handlers[eventName] as EventListener, options)\n })\n}\n\nfunction unbind (el: HTMLElement, binding: TouchVNodeDirective, vnode: VNode) {\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 = {\n mounted: inserted,\n unmounted: unbind,\n}\n\n\n\nexport default makeDirectiveActivatable(Touch)\n"],"sourceRoot":"","file":"index.js"}
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
@@ -46,7 +46,7 @@ export default class Vuetify {
46
46
  }
47
47
  Vuetify.install = install;
48
48
  Vuetify.installed = false;
49
- Vuetify.version = "2.7.2-alpha13";
49
+ Vuetify.version = "2.7.2-alpha15";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dimailn/vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "2.7.2-alpha13",
4
+ "version": "2.7.2-alpha15",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -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.data = this._b(render.data || {}, render.tag!, {
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, h)
272
-
273
- render.data = render.data || {}
271
+ const render = VToolbar.render.call(this)
274
272
 
275
273
  if (this.canScroll) {
276
- render.data.directives = render.data.directives || []
277
- render.data.directives.push({
278
- arg: this.scrollTarget,
279
- name: 'scroll',
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 mergeData from '../../util/mergeData'
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, defineComponent } from 'vue'
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
- input.data = mergeData(input.props!, {
317
- 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),
318
- autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),
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
 
@@ -60,7 +60,7 @@ export default defineComponent({
60
60
  'container--fluid': this.fluid,
61
61
  }).concat(classes || []).concat('container'),
62
62
  }),
63
- this.$slots.default()
63
+ this.$slots.default?.()
64
64
  )
65
65
  },
66
66
  })
@@ -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
- // Types
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
- let element: VNode | ScopedSlotChildren
40
+ const slotContent = this.$slots.default({
41
+ active: this.isActive,
42
+ toggle: this.toggle,
43
+ })
43
44
 
44
- /* istanbul ignore else */
45
- if (this.$slots.default) {
46
- element = this.$slots.default({
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
- if (Array.isArray(element) && element.length === 1) {
53
- element = element[0]
54
- }
50
+ let element = slotContent[0]
55
51
 
56
- if (!element || Array.isArray(element) || !element.tag) {
57
- consoleWarn('v-item should only contain a single element', this)
52
+ if (!element) {
53
+ consoleWarn('v-item should contain at least one element', this)
54
+ return null
55
+ }
58
56
 
59
- return element as any
57
+ if (!element.type) {
58
+ consoleWarn('v-item should only contain valid VNode elements', this)
59
+ return element
60
60
  }
61
61
 
62
- element.data = this._b(element.data || {}, element.tag!, {
62
+ element.props = mergeProps(element.props || {}, {
63
63
  class: {
64
64
  [this.activeClass]: this.isActive,
65
- 'v-item--disabled': this.disabled,
66
- },
65
+ "v-item--disabled": this.disabled
66
+ }
67
67
  })
68
68
 
69
69
  if (this.disabled) {
70
- element.data.attrs = { ...element.data.attrs, tabindex: -1 }
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
- // Types
9
+ // Utilities
10
+ import { mergeProps, h } from 'vue'
10
11
  import mixins from '../../util/mixins'
11
- import { PropType } from 'vue'
12
- import {h} from 'vue'
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.label
504
- ? Math.min(this.$refs.label.scrollWidth * 0.75 + 6, (this.$el as HTMLElement).offsetWidth - 24)
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 () {