vuetify 2.5.12 → 2.5.13

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 (84) hide show
  1. package/dist/json/web-types.json +5 -5
  2. package/dist/vuetify.css +7 -1
  3. package/dist/vuetify.css.map +1 -1
  4. package/dist/vuetify.js +105 -69
  5. package/dist/vuetify.js.map +1 -1
  6. package/dist/vuetify.min.css +2 -2
  7. package/dist/vuetify.min.js +2 -2
  8. package/es5/components/VCalendar/mixins/calendar-with-events.js +4 -2
  9. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  10. package/es5/components/VOverlay/VOverlay.js +1 -0
  11. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  12. package/es5/components/VRadioGroup/VRadioGroup.js +7 -0
  13. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  14. package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
  15. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  16. package/es5/components/VTabs/VTab.js +6 -3
  17. package/es5/components/VTabs/VTab.js.map +1 -1
  18. package/es5/components/transitions/createTransition.js +0 -20
  19. package/es5/components/transitions/createTransition.js.map +1 -1
  20. package/es5/directives/click-outside/index.js +18 -9
  21. package/es5/directives/click-outside/index.js.map +1 -1
  22. package/es5/directives/intersect/index.js +12 -11
  23. package/es5/directives/intersect/index.js.map +1 -1
  24. package/es5/directives/mutate/index.js +7 -6
  25. package/es5/directives/mutate/index.js.map +1 -1
  26. package/es5/directives/resize/index.js +8 -7
  27. package/es5/directives/resize/index.js.map +1 -1
  28. package/es5/directives/scroll/index.js +13 -10
  29. package/es5/directives/scroll/index.js.map +1 -1
  30. package/es5/framework.js +1 -1
  31. package/es5/mixins/intersectable/index.js +5 -2
  32. package/es5/mixins/intersectable/index.js.map +1 -1
  33. package/es5/mixins/overlayable/index.js +21 -11
  34. package/es5/mixins/overlayable/index.js.map +1 -1
  35. package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -2
  36. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  37. package/lib/components/VOverlay/VOverlay.js +1 -0
  38. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  39. package/lib/components/VRadioGroup/VRadioGroup.js +9 -0
  40. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  41. package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
  42. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  43. package/lib/components/VTabs/VTab.js +7 -5
  44. package/lib/components/VTabs/VTab.js.map +1 -1
  45. package/lib/components/transitions/createTransition.js +0 -6
  46. package/lib/components/transitions/createTransition.js.map +1 -1
  47. package/lib/directives/click-outside/index.js +19 -9
  48. package/lib/directives/click-outside/index.js.map +1 -1
  49. package/lib/directives/intersect/index.js +12 -10
  50. package/lib/directives/intersect/index.js.map +1 -1
  51. package/lib/directives/mutate/index.js +7 -6
  52. package/lib/directives/mutate/index.js.map +1 -1
  53. package/lib/directives/resize/index.js +6 -5
  54. package/lib/directives/resize/index.js.map +1 -1
  55. package/lib/directives/scroll/index.js +9 -6
  56. package/lib/directives/scroll/index.js.map +1 -1
  57. package/lib/framework.js +1 -1
  58. package/lib/mixins/intersectable/index.js +5 -2
  59. package/lib/mixins/intersectable/index.js.map +1 -1
  60. package/lib/mixins/overlayable/index.js +21 -11
  61. package/lib/mixins/overlayable/index.js.map +1 -1
  62. package/package.json +2 -2
  63. package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  64. package/src/components/VCalendar/mixins/calendar-with-events.ts +3 -3
  65. package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
  66. package/src/components/VOverlay/VOverlay.ts +1 -0
  67. package/src/components/VRadioGroup/VRadioGroup.ts +8 -0
  68. package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
  69. package/src/components/VTabs/VTab.ts +6 -4
  70. package/src/components/transitions/createTransition.ts +0 -8
  71. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
  72. package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
  73. package/src/directives/click-outside/index.ts +18 -9
  74. package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
  75. package/src/directives/intersect/index.ts +13 -12
  76. package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
  77. package/src/directives/mutate/index.ts +8 -7
  78. package/src/directives/resize/__tests__/resize.spec.ts +4 -4
  79. package/src/directives/resize/index.ts +10 -5
  80. package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
  81. package/src/directives/scroll/index.ts +8 -7
  82. package/src/globals.d.ts +10 -12
  83. package/src/mixins/intersectable/index.ts +5 -2
  84. package/src/mixins/overlayable/index.ts +22 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,gDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,0BAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,2BAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAKA;;AACA,eAAe,MAAM,CACnB,SADmB,EAEnB,SAFmB,EAGnB,UAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,YAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,WAAW,EAAE,kBADkC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACD,KAVO;;AAWR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,+BAAuB,KAAK,QADvB;AAEL,6BAAqB,KAAK,QAFrB;AAGL,WAAG,KAAK;AAHH,OAAP;AAKD,KAjBO;;AAkBR,IAAA,eAAe,GAAA;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;;AAqBR,IAAA,MAAM,GAAA;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD;;AALM,GAtDF;;AA8DP,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,UAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,KAAK,EAAE,KAAK,OAFE;AAGd,MAAA,KAAK,EAAE,KAAK;AAHE,KAAR,EAIL,QAJK,CAAR;AAKD;;AAxEM,CAJM,CAAf","sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
1
+ {"version":3,"sources":["../../../src/components/VOverlay/VOverlay.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,gDAAP,C,CAEA;;AACA,OAAO,SAAP,MAAsB,0BAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,2BAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAKA;;AACA,eAAe,MAAM,CACnB,SADmB,EAEnB,SAFmB,EAGnB,UAHmB,CAAN,CAIb,MAJa,CAIN;AACP,EAAA,IAAI,EAAE,WADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,OADL;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAFF;AAML,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,OADF;AAEJ,MAAA,OAAO,EAAE;AAFL,KAND;AAUL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KAVJ;AAcL,IAAA,KAAK,EAAE;AACL,MAAA,OAAO,EAAE;AADJ,KAdF;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AAjBH,GAHA;AA0BP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,YAAM,IAAI,GAAG,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAC/C,QAAA,WAAW,EAAE,kBADkC;AAE/C,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK;AADT;AAFwC,OAApC,CAAb;AAOA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,IAA3B,CAAP;AACD,KAVO;;AAWR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,+BAAuB,KAAK,QADvB;AAEL,6BAAqB,KAAK,QAFrB;AAGL,WAAG,KAAK;AAHH,OAAP;AAKD,KAjBO;;AAkBR,IAAA,eAAe,GAAA;AACb,aAAO,MAAM,CAAC,KAAK,QAAL,GAAgB,KAAK,OAArB,GAA+B,CAAhC,CAAb;AACD,KApBO;;AAqBR,IAAA,MAAM,GAAA;AACJ,aAAO;AACL,QAAA,MAAM,EAAE,KAAK;AADR,OAAP;AAGD;;AAzBO,GA1BH;AAsDP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,MAAL,CAAY,OAFR,CAAP;AAGD;;AALM,GAtDF;;AA8DP,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,UAAM,QAAQ,GAAG,CAAC,KAAK,OAAN,CAAjB;AAEA,QAAI,KAAK,QAAT,EAAmB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAEnB,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,EAAE,EAAE,KAAK,UAFK;AAGd,MAAA,KAAK,EAAE,KAAK,OAHE;AAId,MAAA,KAAK,EAAE,KAAK;AAJE,KAAR,EAKL,QALK,CAAR;AAMD;;AAzEM,CAJM,CAAf","sourcesContent":["// Styles\nimport './VOverlay.sass'\n\n// Mixins\nimport Colorable from './../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from './../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Themeable,\n Toggleable\n).extend({\n name: 'v-overlay',\n\n props: {\n absolute: Boolean,\n color: {\n type: String,\n default: '#212121',\n },\n dark: {\n type: Boolean,\n default: true,\n },\n opacity: {\n type: [Number, String],\n default: 0.46,\n },\n value: {\n default: true,\n },\n zIndex: {\n type: [Number, String],\n default: 5,\n },\n },\n\n computed: {\n __scrim (): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-overlay__scrim',\n style: {\n opacity: this.computedOpacity,\n },\n })\n\n return this.$createElement('div', data)\n },\n classes (): object {\n return {\n 'v-overlay--absolute': this.absolute,\n 'v-overlay--active': this.isActive,\n ...this.themeClasses,\n }\n },\n computedOpacity (): number {\n return Number(this.isActive ? this.opacity : 0)\n },\n styles (): object {\n return {\n zIndex: this.zIndex,\n }\n },\n },\n\n methods: {\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-overlay__content',\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n const children = [this.__scrim]\n\n if (this.isActive) children.push(this.genContent())\n\n return h('div', {\n staticClass: 'v-overlay',\n on: this.$listeners,\n class: this.classes,\n style: this.styles,\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VOverlay.js"}
@@ -75,6 +75,15 @@ export default baseMixins.extend({
75
75
  },
76
76
 
77
77
  onClick: BaseItemGroup.options.methods.onClick
78
+ },
79
+
80
+ render(h) {
81
+ const vnode = VInput.options.render.call(this, h);
82
+
83
+ this._b(vnode.data, 'div', this.attrs$);
84
+
85
+ return vnode;
78
86
  }
87
+
79
88
  });
80
89
  //# sourceMappingURL=VRadioGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,yDAAP;AACA,OAAO,sDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,WAAnB;AACA,SAAS,aAAT,QAA8B,0BAA9B,C,CAEA;;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAGA,MAAM,UAAU,GAAG,MAAM,CACvB,UADuB,EAEvB,aAFuB,EAGvB,MAHuB,CAAzB;AAMA;;AACA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,eADyB;;AAG/B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD,GAP8B;;AAS/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KALH;AASL,IAAA,IAAI,EAAE,MATD;AAUL,IAAA,GAAG,EAAE,OAVA;AAWL;AACA;AACA;AACA,IAAA,KAAK,EAAE;AAdF,GATwB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,OAAP,CAAe,QAAf,CAAwB,OAAxB,CAAgC,IAAhC,CAAqC,IAArC,CADE;AAEL,4DAAoD,IAF/C;AAGL,wCAAgC,KAAK,MAAL,IAAe,CAAC,KAAK,GAHhD;AAIL,qCAA6B,KAAK;AAJ7B,OAAP;AAMD;;AARO,GA1BqB;AAqC/B,EAAA,OAAO,EAAE;AACP,IAAA,cAAc,GAAA;AACZ,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,6BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,EAAE,EAAE,KAAK,EADJ;AAEL,UAAA,IAAI,EAAE,YAFD;AAGL,6BAAmB,KAAK;AAHnB;AAFyB,OAA3B,EAOJ,MAAM,CAAC,OAAP,CAAe,OAAf,CAAuB,cAAvB,CAAsC,IAAtC,CAA2C,IAA3C,CAPI,CAAP;AAQD,KAVM;;AAWP,IAAA,YAAY,GAAA;AACV,YAAM,MAAM,GAAG,MAAM,CAAC,OAAP,CAAe,OAAf,CAAuB,YAAvB,CAAoC,IAApC,CAAyC,IAAzC,CAAf;AAEA,aAAO,MAAM,CAAC,IAAP,CAAa,EAAb,CAAiB,KAAxB;AAEA,aAAO,MAAP;AACD,KAjBM;;AAkBP,IAAA,QAAQ,GAAA;AACN,YAAM,KAAK,GAAG,MAAM,CAAC,OAAP,CAAe,OAAf,CAAuB,QAAvB,CAAgC,IAAhC,CAAqC,IAArC,CAAd;AAEA,UAAI,CAAC,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAA,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,EAAnB,GAAwB,KAAK,UAA7B,CALM,CAMN;;AACA,aAAO,KAAK,CAAC,IAAN,CAAY,KAAZ,CAAmB,GAA1B;AACA,MAAA,KAAK,CAAC,GAAN,GAAY,QAAZ;AAEA,aAAO,KAAP;AACD,KA7BM;;AA8BP,IAAA,OAAO,EAAE,aAAa,CAAC,OAAd,CAAsB,OAAtB,CAA8B;AA9BhC;AArCsB,CAAlB,CAAf","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n\n render (h) {\n const vnode = VInput.options.render.call(this, h)\n\n this._b(vnode.data!, 'div', this.attrs$)\n\n return vnode\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
@@ -203,7 +203,10 @@ export default VSlider.extend({
203
203
  this.thumbPressed = true;
204
204
  }
205
205
 
206
- this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value);
206
+ if (this.activeThumb === null) {
207
+ this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value);
208
+ }
209
+
207
210
  this.setInternalValue(value);
208
211
  },
209
212
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
1
+ {"version":3,"sources":["../../../src/components/VRangeSlider/VRangeSlider.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRangeSlider.sass'\n\n// Components\nimport VSlider from '../VSlider'\n\n// Helpers\nimport {\n addOnceEventListener,\n createRange,\n deepEqual,\n passiveSupported,\n} from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VSlider.extend({\n name: 'v-range-slider',\n\n props: {\n value: {\n type: Array,\n default: () => ([0, 0]),\n } as unknown as PropValidator<[number, number]>,\n },\n\n data () {\n return {\n activeThumb: null as null | number,\n lazyValue: this.value,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSlider.options.computed.classes.call(this),\n 'v-input--range-slider': true,\n }\n },\n internalValue: {\n get (): number[] {\n return this.lazyValue\n },\n set (val: number[]) {\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n let value = val.map((v = 0) => this.roundValue(Math.min(Math.max(v, this.minValue), this.maxValue)))\n\n // Switch values if range and wrong order\n if (value[0] > value[1] || value[1] < value[0]) {\n if (this.activeThumb !== null) {\n const toFocus = this.activeThumb === 1 ? 0 : 1\n const el = this.$refs[`thumb_${toFocus}`] as HTMLElement\n el.focus()\n }\n value = [value[1], value[0]]\n }\n\n this.lazyValue = value\n if (!deepEqual(value, this.value)) this.$emit('input', value)\n\n this.validate()\n },\n },\n inputWidth (): number[] {\n return this.internalValue.map((v: number) => (\n this.roundValue(v) - this.minValue) / (this.maxValue - this.minValue) * 100\n )\n },\n },\n\n methods: {\n getTrackStyle (startLength: number, endLength: number, startPadding = 0, endPadding = 0) {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'top' : 'bottom' : this.$vuetify.rtl ? 'right' : 'left'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = `calc(${startLength}% + ${startPadding}px)`\n const end = `calc(${endLength}% + ${endPadding}px)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n getIndexOfClosestValue (arr: number[], v: number) {\n if (Math.abs(arr[0] - v) < Math.abs(arr[1] - v)) return 0\n else return 1\n },\n genInput () {\n return createRange(2).map(i => {\n const input = VSlider.options.methods.genInput.call(this)\n\n input.data = input.data || {}\n input.data.attrs = input.data.attrs || {}\n input.data.attrs.value = this.internalValue[i]\n input.data.attrs.id = `input-${i ? 'max' : 'min'}-${this._uid}`\n\n return input\n })\n },\n genTrackContainer () {\n const children = []\n\n const padding = this.isDisabled ? 10 : 0\n const sections: { class: string, color: string | undefined, styles: [number, number, number, number] }[] = [\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [0, this.inputWidth[0], 0, -padding],\n },\n {\n class: this.isDisabled ? 'v-slider__track-background' : 'v-slider__track-fill',\n color: this.isDisabled ? this.computedTrackColor : this.computedTrackFillColor,\n styles: [this.inputWidth[0], Math.abs(this.inputWidth[1] - this.inputWidth[0]), padding, padding * -2],\n },\n {\n class: 'v-slider__track-background',\n color: this.computedTrackColor,\n styles: [this.inputWidth[1], Math.abs(100 - this.inputWidth[1]), padding, -padding],\n },\n ]\n\n if (this.$vuetify.rtl) sections.reverse()\n\n children.push(...sections.map(section => this.$createElement('div', this.setBackgroundColor(section.color, {\n staticClass: section.class,\n style: this.getTrackStyle(...section.styles),\n }))))\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genChildren () {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n createRange(2).map(index => {\n const value = this.internalValue[index]\n const onFocus = (e: Event) => {\n this.isFocused = true\n this.activeThumb = index\n\n this.$emit('focus', e)\n }\n\n const onBlur = (e: Event) => {\n this.isFocused = false\n this.activeThumb = null\n\n this.$emit('blur', e)\n }\n\n const valueWidth = this.inputWidth[index]\n const isActive = this.isActive && this.activeThumb === index\n const isFocused = this.isFocused && this.activeThumb === index\n\n return this.genThumbContainer(value, valueWidth, isActive, isFocused, onFocus, onBlur, `thumb_${index}`)\n }),\n ]\n },\n reevaluateSelected (value: number) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n const refName = `thumb_${this.activeThumb}`\n const thumbRef = this.$refs[refName] as HTMLElement\n thumbRef.focus()\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderClick (e: MouseEvent) {\n if (!this.isActive) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n\n const value = this.parseMouseMove(e)\n\n this.reevaluateSelected(value)\n\n this.setInternalValue(value)\n\n this.$emit('change', this.internalValue)\n }\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n const value = this.parseMouseMove(e)\n\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n\n if (this.activeThumb === null) {\n this.activeThumb = this.getIndexOfClosestValue(this.internalValue, value)\n }\n\n this.setInternalValue(value)\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.activeThumb === null) return\n\n const value = this.parseKeyDown(e, this.internalValue[this.activeThumb])\n\n if (value == null) return\n\n this.setInternalValue(value)\n this.$emit('change', this.internalValue)\n },\n setInternalValue (value: number) {\n this.internalValue = this.internalValue.map((v: number, i: number) => {\n if (i === this.activeThumb) return value\n else return Number(v)\n })\n },\n },\n})\n"],"sourceRoot":"","file":"VRangeSlider.js"}
@@ -41,11 +41,6 @@ export default baseMixins.extend().extend().extend({
41
41
  }
42
42
 
43
43
  },
44
-
45
- mounted() {
46
- this.onRouteChange();
47
- },
48
-
49
44
  methods: {
50
45
  click(e) {
51
46
  // Prevent keyboard actions
@@ -63,6 +58,13 @@ export default baseMixins.extend().extend().extend({
63
58
  if (e.detail) this.$el.blur();
64
59
  this.$emit('click', e);
65
60
  this.to || this.toggle();
61
+ },
62
+
63
+ toggle() {
64
+ // VItemGroup treats a change event as a click
65
+ if (!this.isActive) {
66
+ this.$emit('change');
67
+ }
66
68
  }
67
69
 
68
70
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n toggle () {\n // VItemGroup treats a change event as a click\n if (!this.isActive) {\n this.$emit('change')\n }\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
@@ -90,14 +90,8 @@ export function createSimpleTransition(name, origin = 'top center 0', mode) {
90
90
 
91
91
  if (context.props.hideOnLeave) {
92
92
  data.on.leave = mergeTransitions(data.on.leave, el => {
93
- el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')];
94
93
  el.style.setProperty('display', 'none', 'important');
95
94
  });
96
- data.on.afterLeave = mergeTransitions(data.on.afterLeave, el => {
97
- if (el) {
98
- el._initialDisplay ? el.style.setProperty('display', ...el._initialDisplay) : el.style.removeProperty('display');
99
- }
100
- });
101
95
  }
102
96
 
103
97
  return h(tag, mergeData(context.data, data), context.children);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":"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","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')]\n el.style.setProperty('display', 'none', 'important')\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el) {\n el._initialDisplay\n ? el.style.setProperty('display', ...el._initialDisplay)\n : el.style.removeProperty('display')\n }\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n"],"sourceRoot":"","file":"createTransition.js"}
1
+ {"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":"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","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n"],"sourceRoot":"","file":"createTransition.js"}
@@ -34,7 +34,7 @@ function checkIsActive(e, binding) {
34
34
  return isActive(e);
35
35
  }
36
36
 
37
- function directive(e, el, binding) {
37
+ function directive(e, el, binding, vnode) {
38
38
  const handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;
39
39
  el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {
40
40
  checkIsActive(e, binding) && handler && handler(e);
@@ -56,8 +56,8 @@ export const ClickOutside = {
56
56
  // sure that the root element is
57
57
  // available, iOS does not support
58
58
  // clicks on body
59
- inserted(el, binding) {
60
- const onClick = e => directive(e, el, binding);
59
+ inserted(el, binding, vnode) {
60
+ const onClick = e => directive(e, el, binding, vnode);
61
61
 
62
62
  const onMousedown = e => {
63
63
  el._clickOutside.lastMousedownWasOutside = checkEvent(e, el, binding);
@@ -67,21 +67,31 @@ export const ClickOutside = {
67
67
  app.addEventListener('click', onClick, true);
68
68
  app.addEventListener('mousedown', onMousedown, true);
69
69
  });
70
- el._clickOutside = {
71
- lastMousedownWasOutside: true,
70
+
71
+ if (!el._clickOutside) {
72
+ el._clickOutside = {
73
+ lastMousedownWasOutside: true
74
+ };
75
+ }
76
+
77
+ el._clickOutside[vnode.context._uid] = {
72
78
  onClick,
73
79
  onMousedown
74
80
  };
75
81
  },
76
82
 
77
- unbind(el) {
83
+ unbind(el, binding, vnode) {
78
84
  if (!el._clickOutside) return;
79
85
  handleShadow(el, app => {
80
86
  if (!app || !el._clickOutside) return;
81
- app.removeEventListener('click', el._clickOutside.onClick, true);
82
- app.removeEventListener('mousedown', el._clickOutside.onMousedown, true);
87
+ const {
88
+ onClick,
89
+ onMousedown
90
+ } = el._clickOutside[vnode.context._uid];
91
+ app.removeEventListener('click', onClick, true);
92
+ app.removeEventListener('mousedown', onMousedown, true);
83
93
  });
84
- delete el._clickOutside;
94
+ delete el._clickOutside[vnode.context._uid];
85
95
  }
86
96
 
87
97
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,QAA6B,gBAA7B;;AAaA,SAAS,kBAAT,GAA2B;AACzB,SAAO,IAAP;AACD;;AAED,SAAS,UAAT,CAAqB,CAArB,EAAsC,EAAtC,EAAuD,OAAvD,EAAqF;AACnF;AACA;AACA;AACA;AACA,MAAI,CAAC,CAAD,IAAM,aAAa,CAAC,CAAD,EAAI,OAAJ,CAAb,KAA8B,KAAxC,EAA+C,OAAO,KAAP,CALoC,CAOnF;AACA;AACA;;AACA,QAAM,IAAI,GAAG,YAAY,CAAC,EAAD,CAAzB;AACA,MACE,OAAO,UAAP,KAAsB,WAAtB,IACA,IAAI,YAAY,UADhB,IAEA,IAAI,CAAC,IAAL,KAAc,CAAC,CAAC,MAHlB,EAIE,OAAO,KAAP,CAfiF,CAiBnF;AACA;;AACA,QAAM,QAAQ,GAAG,CAAE,OAAO,OAAO,CAAC,KAAf,KAAyB,QAAzB,IAAqC,OAAO,CAAC,KAAR,CAAc,OAApD,KAAiE,MAAM,EAAvE,CAAD,GAAjB,CAnBmF,CAoBnF;;;AACA,EAAA,QAAQ,CAAC,IAAT,CAAc,EAAd,EArBmF,CAuBnF;AACA;AACA;AACA;AACA;;AACA,SAAO,CAAC,QAAQ,CAAC,IAAT,CAAc,EAAE,IAAI,EAAE,CAAC,QAAH,CAAY,CAAC,CAAC,MAAd,CAApB,CAAR;AACD;;AAED,SAAS,aAAT,CAAwB,CAAxB,EAAyC,OAAzC,EAAuE;AACrE,QAAM,QAAQ,GAAI,OAAO,OAAO,CAAC,KAAf,KAAyB,QAAzB,IAAqC,OAAO,CAAC,KAAR,CAAc,gBAApD,IAAyE,kBAA1F;AAEA,SAAO,QAAQ,CAAC,CAAD,CAAf;AACD;;AAED,SAAS,SAAT,CAAoB,CAApB,EAAqC,EAArC,EAAsD,OAAtD,EAAoF;AAClF,QAAM,OAAO,GAAG,OAAO,OAAO,CAAC,KAAf,KAAyB,UAAzB,GAAsC,OAAO,CAAC,KAA9C,GAAsD,OAAO,CAAC,KAAR,CAAe,OAArF;AAEA,EAAA,EAAE,CAAC,aAAH,CAAkB,uBAAlB,IAA6C,UAAU,CAAC,CAAD,EAAI,EAAJ,EAAQ,OAAR,CAAvD,IAA2E,UAAU,CAAC,MAAK;AACzF,IAAA,aAAa,CAAC,CAAD,EAAI,OAAJ,CAAb,IAA6B,OAA7B,IAAwC,OAAO,CAAC,CAAD,CAA/C;AACD,GAFoF,EAElF,CAFkF,CAArF;AAGD;;AAED,SAAS,YAAT,CAAuB,EAAvB,EAAwC,QAAxC,EAA0D;AACxD,QAAM,IAAI,GAAG,YAAY,CAAC,EAAD,CAAzB;AAEA,EAAA,QAAQ,CAAC,QAAD,CAAR;;AAEA,MAAI,OAAO,UAAP,KAAsB,WAAtB,IAAqC,IAAI,YAAY,UAAzD,EAAqE;AACnE,IAAA,QAAQ,CAAC,IAAD,CAAR;AACD;AACF;;AAED,OAAO,MAAM,YAAY,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,EAAA,QAAQ,CAAE,EAAF,EAAmB,OAAnB,EAAiD;AACvD,UAAM,OAAO,GAAI,CAAD,IAAc,SAAS,CAAC,CAAD,EAAoB,EAApB,EAAwB,OAAxB,CAAvC;;AACA,UAAM,WAAW,GAAI,CAAD,IAAa;AAC/B,MAAA,EAAE,CAAC,aAAH,CAAkB,uBAAlB,GAA4C,UAAU,CAAC,CAAD,EAAoB,EAApB,EAAwB,OAAxB,CAAtD;AACD,KAFD;;AAIA,IAAA,YAAY,CAAC,EAAD,EAAM,GAAD,IAAqB;AACpC,MAAA,GAAG,CAAC,gBAAJ,CAAqB,OAArB,EAA8B,OAA9B,EAAuC,IAAvC;AACA,MAAA,GAAG,CAAC,gBAAJ,CAAqB,WAArB,EAAkC,WAAlC,EAA+C,IAA/C;AACD,KAHW,CAAZ;AAKA,IAAA,EAAE,CAAC,aAAH,GAAmB;AACjB,MAAA,uBAAuB,EAAE,IADR;AAEjB,MAAA,OAFiB;AAGjB,MAAA;AAHiB,KAAnB;AAKD,GAtByB;;AAwB1B,EAAA,MAAM,CAAE,EAAF,EAAiB;AACrB,QAAI,CAAC,EAAE,CAAC,aAAR,EAAuB;AAEvB,IAAA,YAAY,CAAC,EAAD,EAAM,GAAD,IAAqB;AACpC,UAAI,CAAC,GAAD,IAAQ,CAAC,EAAE,CAAC,aAAhB,EAA+B;AAC/B,MAAA,GAAG,CAAC,mBAAJ,CAAwB,OAAxB,EAAiC,EAAE,CAAC,aAAH,CAAiB,OAAlD,EAA2D,IAA3D;AACA,MAAA,GAAG,CAAC,mBAAJ,CAAwB,WAAxB,EAAqC,EAAE,CAAC,aAAH,CAAiB,WAAtD,EAAmE,IAAnE;AACD,KAJW,CAAZ;AAMA,WAAO,EAAE,CAAC,aAAV;AACD;;AAlCyB,CAArB;AAqCP,eAAe,YAAf","sourcesContent":["import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n el._clickOutside = {\n lastMousedownWasOutside: true,\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside) return\n app.removeEventListener('click', el._clickOutside.onClick, true)\n app.removeEventListener('mousedown', el._clickOutside.onMousedown, true)\n })\n\n delete el._clickOutside\n },\n}\n\nexport default ClickOutside\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"AAAA,SAAS,YAAT,QAA6B,gBAA7B;;AAcA,SAAS,kBAAT,GAA2B;AACzB,SAAO,IAAP;AACD;;AAED,SAAS,UAAT,CAAqB,CAArB,EAAsC,EAAtC,EAAuD,OAAvD,EAAqF;AACnF;AACA;AACA;AACA;AACA,MAAI,CAAC,CAAD,IAAM,aAAa,CAAC,CAAD,EAAI,OAAJ,CAAb,KAA8B,KAAxC,EAA+C,OAAO,KAAP,CALoC,CAOnF;AACA;AACA;;AACA,QAAM,IAAI,GAAG,YAAY,CAAC,EAAD,CAAzB;AACA,MACE,OAAO,UAAP,KAAsB,WAAtB,IACA,IAAI,YAAY,UADhB,IAEA,IAAI,CAAC,IAAL,KAAc,CAAC,CAAC,MAHlB,EAIE,OAAO,KAAP,CAfiF,CAiBnF;AACA;;AACA,QAAM,QAAQ,GAAG,CAAE,OAAO,OAAO,CAAC,KAAf,KAAyB,QAAzB,IAAqC,OAAO,CAAC,KAAR,CAAc,OAApD,KAAiE,MAAM,EAAvE,CAAD,GAAjB,CAnBmF,CAoBnF;;;AACA,EAAA,QAAQ,CAAC,IAAT,CAAc,EAAd,EArBmF,CAuBnF;AACA;AACA;AACA;AACA;;AACA,SAAO,CAAC,QAAQ,CAAC,IAAT,CAAc,EAAE,IAAI,EAAE,CAAC,QAAH,CAAY,CAAC,CAAC,MAAd,CAApB,CAAR;AACD;;AAED,SAAS,aAAT,CAAwB,CAAxB,EAAyC,OAAzC,EAAuE;AACrE,QAAM,QAAQ,GAAI,OAAO,OAAO,CAAC,KAAf,KAAyB,QAAzB,IAAqC,OAAO,CAAC,KAAR,CAAc,gBAApD,IAAyE,kBAA1F;AAEA,SAAO,QAAQ,CAAC,CAAD,CAAf;AACD;;AAED,SAAS,SAAT,CAAoB,CAApB,EAAqC,EAArC,EAAsD,OAAtD,EAAsF,KAAtF,EAAkG;AAChG,QAAM,OAAO,GAAG,OAAO,OAAO,CAAC,KAAf,KAAyB,UAAzB,GAAsC,OAAO,CAAC,KAA9C,GAAsD,OAAO,CAAC,KAAR,CAAe,OAArF;AAEA,EAAA,EAAE,CAAC,aAAH,CAAkB,uBAAlB,IAA6C,UAAU,CAAC,CAAD,EAAI,EAAJ,EAAQ,OAAR,CAAvD,IAA2E,UAAU,CAAC,MAAK;AACzF,IAAA,aAAa,CAAC,CAAD,EAAI,OAAJ,CAAb,IAA6B,OAA7B,IAAwC,OAAO,CAAC,CAAD,CAA/C;AACD,GAFoF,EAElF,CAFkF,CAArF;AAGD;;AAED,SAAS,YAAT,CAAuB,EAAvB,EAAwC,QAAxC,EAA0D;AACxD,QAAM,IAAI,GAAG,YAAY,CAAC,EAAD,CAAzB;AAEA,EAAA,QAAQ,CAAC,QAAD,CAAR;;AAEA,MAAI,OAAO,UAAP,KAAsB,WAAtB,IAAqC,IAAI,YAAY,UAAzD,EAAqE;AACnE,IAAA,QAAQ,CAAC,IAAD,CAAR;AACD;AACF;;AAED,OAAO,MAAM,YAAY,GAAG;AAC1B;AACA;AACA;AACA;AACA;AACA,EAAA,QAAQ,CAAE,EAAF,EAAmB,OAAnB,EAAmD,KAAnD,EAA+D;AACrE,UAAM,OAAO,GAAI,CAAD,IAAc,SAAS,CAAC,CAAD,EAAoB,EAApB,EAAwB,OAAxB,EAAiC,KAAjC,CAAvC;;AACA,UAAM,WAAW,GAAI,CAAD,IAAa;AAC/B,MAAA,EAAE,CAAC,aAAH,CAAkB,uBAAlB,GAA4C,UAAU,CAAC,CAAD,EAAoB,EAApB,EAAwB,OAAxB,CAAtD;AACD,KAFD;;AAIA,IAAA,YAAY,CAAC,EAAD,EAAM,GAAD,IAAqB;AACpC,MAAA,GAAG,CAAC,gBAAJ,CAAqB,OAArB,EAA8B,OAA9B,EAAuC,IAAvC;AACA,MAAA,GAAG,CAAC,gBAAJ,CAAqB,WAArB,EAAkC,WAAlC,EAA+C,IAA/C;AACD,KAHW,CAAZ;;AAKA,QAAI,CAAC,EAAE,CAAC,aAAR,EAAuB;AACrB,MAAA,EAAE,CAAC,aAAH,GAAmB;AACjB,QAAA,uBAAuB,EAAE;AADR,OAAnB;AAGD;;AAED,IAAA,EAAE,CAAC,aAAH,CAAiB,KAAK,CAAC,OAAN,CAAe,IAAhC,IAAwC;AACtC,MAAA,OADsC;AAEtC,MAAA;AAFsC,KAAxC;AAID,GA3ByB;;AA6B1B,EAAA,MAAM,CAAE,EAAF,EAAmB,OAAnB,EAAmD,KAAnD,EAA+D;AACnE,QAAI,CAAC,EAAE,CAAC,aAAR,EAAuB;AAEvB,IAAA,YAAY,CAAC,EAAD,EAAM,GAAD,IAAqB;AACpC,UAAI,CAAC,GAAD,IAAQ,CAAC,EAAE,CAAC,aAAhB,EAA+B;AAE/B,YAAM;AAAE,QAAA,OAAF;AAAW,QAAA;AAAX,UAA2B,EAAE,CAAC,aAAH,CAAiB,KAAK,CAAC,OAAN,CAAe,IAAhC,CAAjC;AAEA,MAAA,GAAG,CAAC,mBAAJ,CAAwB,OAAxB,EAAiC,OAAjC,EAA0C,IAA1C;AACA,MAAA,GAAG,CAAC,mBAAJ,CAAwB,WAAxB,EAAqC,WAArC,EAAkD,IAAlD;AACD,KAPW,CAAZ;AASA,WAAO,EAAE,CAAC,aAAH,CAAiB,KAAK,CAAC,OAAN,CAAe,IAAhC,CAAP;AACD;;AA1CyB,CAArB;AA6CP,eAAe,YAAf","sourcesContent":["import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding, vnode)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n"],"sourceRoot":"","file":"index.js"}
@@ -1,4 +1,4 @@
1
- function inserted(el, binding) {
1
+ function inserted(el, binding, vnode) {
2
2
  if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return;
3
3
  const modifiers = binding.modifiers || {};
4
4
  const value = binding.value;
@@ -10,32 +10,34 @@ function inserted(el, binding) {
10
10
  options: {}
11
11
  };
12
12
  const observer = new IntersectionObserver((entries = [], observer) => {
13
- /* istanbul ignore if */
14
- if (!el._observe) return; // Just in case, should never fire
13
+ var _el$_observe;
15
14
 
15
+ if (!((_el$_observe = el._observe) != null && _el$_observe[vnode.context._uid])) return; // Just in case, should never fire
16
+
17
+ const _observe = el._observe[vnode.context._uid];
16
18
  const isIntersecting = entries.some(entry => entry.isIntersecting); // If is not quiet or has already been
17
19
  // initted, invoke the user callback
18
20
 
19
- if (handler && (!modifiers.quiet || el._observe.init) && (!modifiers.once || isIntersecting || !el._observe.init)) {
21
+ if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) {
20
22
  handler(entries, observer, isIntersecting);
21
23
  }
22
24
 
23
- if (isIntersecting && modifiers.once) unbind(el);else el._observe.init = true;
25
+ if (isIntersecting && modifiers.once) unbind(el, binding, vnode);else _observe.init = true;
24
26
  }, options);
25
- el._observe = {
27
+ el._observe = Object(el._observe);
28
+ el._observe[vnode.context._uid] = {
26
29
  init: false,
27
30
  observer
28
31
  };
29
32
  observer.observe(el);
30
33
  }
31
34
 
32
- function unbind(el) {
33
- /* istanbul ignore if */
35
+ function unbind(el, binding, vnode) {
34
36
  if (!el._observe) return;
35
37
 
36
- el._observe.observer.unobserve(el);
38
+ el._observe[vnode.context._uid].observer.unobserve(el);
37
39
 
38
- delete el._observe;
40
+ delete el._observe[vnode.context._uid];
39
41
  }
40
42
 
41
43
  export const Intersect = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":[],"mappings":"AAgBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAkE;AAChE,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;AACA,QAAI,CAAC,EAAE,CAAC,QAAR,EAAkB,OAFhB,CAEuB;;AAEzB,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,EAAE,CAAC,QAAH,CAAY,IAFP,CAAP,KAIE,CAAC,SAAS,CAAC,IAAX,IACA,cADA,IAEA,CAAC,EAAE,CAAC,QAAH,CAAY,IANf,CADF,EASE;AACA,MAAA,OAAO,CAAC,OAAD,EAAU,QAAV,EAAoB,cAApB,CAAP;AACD;;AAED,QAAI,cAAc,IAAI,SAAS,CAAC,IAAhC,EAAsC,MAAM,CAAC,EAAD,CAAN,CAAtC,KACK,EAAE,CAAC,QAAH,CAAY,IAAZ,GAAmB,IAAnB;AACN,GA1BgB,EA0Bd,OA1Bc,CAAjB;AA4BA,EAAA,EAAE,CAAC,QAAH,GAAc;AAAE,IAAA,IAAI,EAAE,KAAR;AAAe,IAAA;AAAf,GAAd;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B;AACA,MAAI,CAAC,EAAE,CAAC,QAAR,EAAkB;;AAElB,EAAA,EAAE,CAAC,QAAH,CAAY,QAAZ,CAAqB,SAArB,CAA+B,EAA/B;;AACA,SAAO,EAAE,CAAC,QAAV;AACD;;AAED,OAAO,MAAM,SAAS,GAAG;AACvB,EAAA,QADuB;AAEvB,EAAA;AAFuB,CAAlB;AAKP,eAAe,SAAf","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\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) {\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 /* istanbul ignore if */\n if (!el._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 el._observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n !el._observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el)\n else el._observe.init = true\n }, options)\n\n el._observe = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._observe) return\n\n el._observe.observer.unobserve(el)\n delete el._observe\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
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;AAAA;;AACF,QAAI,kBAAC,EAAE,CAAC,QAAJ,aAAC,aAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,CAAD,CAAJ,EAAyC,OADvC,CAC8C;;AAEhD,UAAM,QAAQ,GAAG,EAAE,CAAC,QAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,CAAjB;AACA,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,OAAN,CAAe,IAA5B,IAAoC;AAAE,IAAA,IAAI,EAAE,KAAR;AAAe,IAAA;AAAf,GAApC;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAkE,KAAlE,EAA8E;AAC5E,MAAI,CAAC,EAAE,CAAC,QAAR,EAAkB;;AAElB,EAAA,EAAE,CAAC,QAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,EAAiC,QAAjC,CAA0C,SAA1C,CAAoD,EAApD;;AACA,SAAO,EAAE,CAAC,QAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,CAAP;AACD;;AAED,OAAO,MAAM,SAAS,GAAG;AACvB,EAAA,QADuB;AAEvB,EAAA;AAFuB,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 if (!el._observe?.[vnode.context!._uid]) return // Just in case, should never fire\n\n const _observe = el._observe[vnode.context!._uid]\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.context!._uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (!el._observe) return\n\n el._observe[vnode.context!._uid].observer.unobserve(el)\n delete el._observe[vnode.context!._uid]\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
@@ -1,4 +1,4 @@
1
- function inserted(el, binding) {
1
+ function inserted(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;
@@ -27,21 +27,22 @@ function inserted(el, binding) {
27
27
 
28
28
  callback(mutationsList, observer); // If has the once modifier, unbind
29
29
 
30
- once && unbind(el);
30
+ once && unbind(el, binding, vnode);
31
31
  });
32
32
  observer.observe(el, options);
33
- el._mutate = {
33
+ el._mutate = Object(el._mutate);
34
+ el._mutate[vnode.context._uid] = {
34
35
  observer
35
36
  };
36
37
  }
37
38
 
38
- function unbind(el) {
39
+ function unbind(el, binding, vnode) {
39
40
  /* istanbul ignore if */
40
41
  if (!el._mutate) return;
41
42
 
42
- el._mutate.observer.disconnect();
43
+ el._mutate[vnode.context._uid].observer.disconnect();
43
44
 
44
- delete el._mutate;
45
+ delete el._mutate[vnode.context._uid];
45
46
  }
46
47
 
47
48
  export const Mutate = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":"AAkBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAC/D,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,CAL+D,CAO/D;;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,CAAd;AACD,GAXgB,CAAjB;AAaA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB,EAAqB,OAArB;AACA,EAAA,EAAE,CAAC,OAAH,GAAa;AAAE,IAAA;AAAF,GAAb;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B;AACA,MAAI,CAAC,EAAE,CAAC,OAAR,EAAiB;;AAEjB,EAAA,EAAE,CAAC,OAAH,CAAW,QAAX,CAAoB,UAApB;;AACA,SAAO,EAAE,CAAC,OAAV;AACD;;AAED,OAAO,MAAM,MAAM,GAAG;AACpB,EAAA,QADoB;AAEpB,EAAA;AAFoB,CAAf;AAKP,eAAe,MAAf","sourcesContent":["import { 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) {\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)\n })\n\n observer.observe(el, options)\n el._mutate = { observer }\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._mutate) return\n\n el._mutate.observer.disconnect()\n delete el._mutate\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":"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;AACA,MAAI,CAAC,EAAE,CAAC,OAAR,EAAiB;;AAEjB,EAAA,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,EAAgC,QAAhC,CAAyC,UAAzC;;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 /* istanbul ignore if */\n if (!el._mutate) 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,10 +1,11 @@
1
- function inserted(el, binding) {
1
+ function inserted(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
- el._onResize = {
7
+ el._onResize = Object(el._onResize);
8
+ el._onResize[vnode.context._uid] = {
8
9
  callback,
9
10
  options
10
11
  };
@@ -14,14 +15,14 @@ function inserted(el, binding) {
14
15
  }
15
16
  }
16
17
 
17
- function unbind(el) {
18
+ function unbind(el, binding, vnode) {
18
19
  if (!el._onResize) return;
19
20
  const {
20
21
  callback,
21
22
  options
22
- } = el._onResize;
23
+ } = el._onResize[vnode.context._uid];
23
24
  window.removeEventListener('resize', callback, options);
24
- delete el._onResize;
25
+ delete el._onResize[vnode.context._uid];
25
26
  }
26
27
 
27
28
  export const Resize = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":"AAOA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAC/D,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;AACA,EAAA,EAAE,CAAC,SAAH,GAAe;AACb,IAAA,QADa;AAEb,IAAA;AAFa,GAAf;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B,MAAI,CAAC,EAAE,CAAC,SAAR,EAAmB;AAEnB,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA;AAAZ,MAAwB,EAAE,CAAC,SAAjC;AACA,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AACA,SAAO,EAAE,CAAC,SAAV;AACD;;AAED,OAAO,MAAM,MAAM,GAAG;AACpB,EAAA,QADoB;AAEpB,EAAA;AAFoB,CAAf;AAKP,eAAe,MAAf","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n el._onResize = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onResize) return\n\n const { callback, options } = el._onResize\n window.removeEventListener('resize', callback, options)\n delete el._onResize\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":"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,CAAC,EAAE,CAAC,SAAR,EAAmB;AAEnB,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) 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,4 +1,4 @@
1
- function inserted(el, binding) {
1
+ function inserted(el, binding, vnode) {
2
2
  const {
3
3
  self = false
4
4
  } = binding.modifiers || {};
@@ -10,7 +10,8 @@ function inserted(el, binding) {
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 = {
13
+ el._onScroll = Object(el._onScroll);
14
+ el._onScroll[vnode.context._uid] = {
14
15
  handler,
15
16
  options,
16
17
  // Don't reference self
@@ -18,15 +19,17 @@ function inserted(el, binding) {
18
19
  };
19
20
  }
20
21
 
21
- function unbind(el) {
22
- if (!el._onScroll) return;
22
+ function unbind(el, binding, vnode) {
23
+ var _el$_onScroll;
24
+
25
+ if (!((_el$_onScroll = el._onScroll) != null && _el$_onScroll[vnode.context._uid])) return;
23
26
  const {
24
27
  handler,
25
28
  options,
26
29
  target = el
27
- } = el._onScroll;
30
+ } = el._onScroll[vnode.context._uid];
28
31
  target.removeEventListener('scroll', handler, options);
29
- delete el._onScroll;
32
+ delete el._onScroll[vnode.context._uid];
30
33
  }
31
34
 
32
35
  export const Scroll = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":"AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAC/D,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;AACb,IAAA,OADa;AAEb,IAAA,OAFa;AAGb;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJd,GAAf;AAMD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B,MAAI,CAAC,EAAE,CAAC,SAAR,EAAmB;AAEnB,QAAM;AAAE,IAAA,OAAF;AAAW,IAAA,OAAX;AAAoB,IAAA,MAAM,GAAG;AAA7B,MAAoC,EAAE,CAAC,SAA7C;AAEA,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAV;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 } 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) {\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 = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\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":"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;AAAA;;AAC3E,MAAI,mBAAC,EAAE,CAAC,SAAJ,aAAC,cAAe,KAAK,CAAC,OAAN,CAAe,IAA9B,CAAD,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"}
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.5.12";
49
+ Vuetify.version = "2.5.13";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -12,11 +12,14 @@ export default function intersectable(options) {
12
12
  Intersect.inserted(this.$el, {
13
13
  name: 'intersect',
14
14
  value: this.onObserve
15
- });
15
+ }, this.$vnode);
16
16
  },
17
17
 
18
18
  destroyed() {
19
- Intersect.unbind(this.$el);
19
+ Intersect.unbind(this.$el, {
20
+ name: 'intersect',
21
+ value: this.onObserve
22
+ }, this.$vnode);
20
23
  },
21
24
 
22
25
  methods: {