@vuetify/nightly 2.6.7 → 2.6.8-master-20220706.0

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 (171) hide show
  1. package/CHANGELOG.md +2 -15
  2. package/dist/json/web-types.json +5 -5
  3. package/dist/vuetify.js +292 -221
  4. package/dist/vuetify.js.map +1 -1
  5. package/dist/vuetify.min.css +1 -1
  6. package/dist/vuetify.min.js +2 -2
  7. package/es5/components/VAutocomplete/VAutocomplete.js +3 -3
  8. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  9. package/es5/components/VBtn/VBtn.js +2 -2
  10. package/es5/components/VBtn/VBtn.js.map +1 -1
  11. package/es5/components/VCalendar/mixins/calendar-with-events.js +6 -5
  12. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  13. package/es5/components/VCalendar/mixins/mouse.js +4 -4
  14. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  15. package/es5/components/VCombobox/VCombobox.js +2 -2
  16. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  17. package/es5/components/VDataIterator/VDataFooter.js +5 -2
  18. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  19. package/es5/components/VDataTable/Row.js +2 -2
  20. package/es5/components/VDataTable/Row.js.map +1 -1
  21. package/es5/components/VDataTable/VDataTable.js +4 -4
  22. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  23. package/es5/components/VDataTable/mixins/header.js +4 -3
  24. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  25. package/es5/components/VDatePicker/VDatePicker.js +2 -1
  26. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  27. package/es5/components/VDialog/VDialog.js +13 -15
  28. package/es5/components/VDialog/VDialog.js.map +1 -1
  29. package/es5/components/VMenu/VMenu.js +2 -2
  30. package/es5/components/VMenu/VMenu.js.map +1 -1
  31. package/es5/components/VOtpInput/VOtpInput.js +8 -7
  32. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  33. package/es5/components/VRadioGroup/VRadio.js +2 -1
  34. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  35. package/es5/components/VRangeSlider/VRangeSlider.js +4 -3
  36. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  37. package/es5/components/VSelect/VSelect.js +8 -8
  38. package/es5/components/VSelect/VSelect.js.map +1 -1
  39. package/es5/components/VSelect/VSelectList.js +2 -1
  40. package/es5/components/VSelect/VSelectList.js.map +1 -1
  41. package/es5/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
  42. package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  43. package/es5/components/VSlideGroup/VSlideGroup.js +4 -4
  44. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  45. package/es5/components/VSlider/VSlider.js +8 -11
  46. package/es5/components/VSlider/VSlider.js.map +1 -1
  47. package/es5/components/VSparkline/VSparkline.js +2 -1
  48. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  49. package/es5/components/VTextField/VTextField.js +5 -5
  50. package/es5/components/VTextField/VTextField.js.map +1 -1
  51. package/es5/components/VTextarea/VTextarea.js +2 -2
  52. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  53. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  54. package/es5/components/VTreeview/VTreeview.js +5 -4
  55. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  56. package/es5/components/VTreeview/VTreeviewNode.js +2 -1
  57. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  58. package/es5/components/VWindow/VWindow.js +5 -6
  59. package/es5/components/VWindow/VWindow.js.map +1 -1
  60. package/es5/directives/click-outside/index.js +2 -2
  61. package/es5/directives/click-outside/index.js.map +1 -1
  62. package/es5/directives/intersect/index.js +5 -5
  63. package/es5/directives/intersect/index.js.map +1 -1
  64. package/es5/directives/mutate/index.js +2 -2
  65. package/es5/directives/mutate/index.js.map +1 -1
  66. package/es5/directives/resize/index.js +2 -2
  67. package/es5/directives/resize/index.js.map +1 -1
  68. package/es5/directives/scroll/index.js +2 -2
  69. package/es5/directives/scroll/index.js.map +1 -1
  70. package/es5/framework.js +1 -1
  71. package/es5/mixins/activatable/index.js +1 -3
  72. package/es5/mixins/activatable/index.js.map +1 -1
  73. package/es5/mixins/binds-attrs/index.js.map +1 -1
  74. package/es5/mixins/overlayable/index.js +1 -1
  75. package/es5/mixins/overlayable/index.js.map +1 -1
  76. package/es5/mixins/routable/index.js +2 -2
  77. package/es5/mixins/routable/index.js.map +1 -1
  78. package/es5/util/helpers.js +1 -1
  79. package/es5/util/helpers.js.map +1 -1
  80. package/lib/components/VAutocomplete/VAutocomplete.js +3 -3
  81. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  82. package/lib/components/VBtn/VBtn.js +2 -2
  83. package/lib/components/VBtn/VBtn.js.map +1 -1
  84. package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -4
  85. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  86. package/lib/components/VCalendar/mixins/mouse.js +4 -4
  87. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  88. package/lib/components/VCombobox/VCombobox.js +2 -2
  89. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  90. package/lib/components/VDataIterator/VDataFooter.js +5 -2
  91. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  92. package/lib/components/VDataTable/Row.js +2 -2
  93. package/lib/components/VDataTable/Row.js.map +1 -1
  94. package/lib/components/VDataTable/VDataTable.js +4 -4
  95. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  96. package/lib/components/VDataTable/mixins/header.js +2 -2
  97. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  98. package/lib/components/VDatePicker/VDatePicker.js +2 -1
  99. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  100. package/lib/components/VDialog/VDialog.js +11 -13
  101. package/lib/components/VDialog/VDialog.js.map +1 -1
  102. package/lib/components/VMenu/VMenu.js +2 -2
  103. package/lib/components/VMenu/VMenu.js.map +1 -1
  104. package/lib/components/VOtpInput/VOtpInput.js +8 -7
  105. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  106. package/lib/components/VRadioGroup/VRadio.js +2 -1
  107. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  108. package/lib/components/VRangeSlider/VRangeSlider.js +2 -2
  109. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  110. package/lib/components/VSelect/VSelect.js +8 -8
  111. package/lib/components/VSelect/VSelect.js.map +1 -1
  112. package/lib/components/VSelect/VSelectList.js +2 -1
  113. package/lib/components/VSelect/VSelectList.js.map +1 -1
  114. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
  115. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  116. package/lib/components/VSlideGroup/VSlideGroup.js +4 -4
  117. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  118. package/lib/components/VSlider/VSlider.js +6 -11
  119. package/lib/components/VSlider/VSlider.js.map +1 -1
  120. package/lib/components/VSparkline/VSparkline.js +2 -1
  121. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  122. package/lib/components/VTextField/VTextField.js +5 -5
  123. package/lib/components/VTextField/VTextField.js.map +1 -1
  124. package/lib/components/VTextarea/VTextarea.js +2 -2
  125. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  126. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  127. package/lib/components/VTreeview/VTreeview.js +5 -4
  128. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  129. package/lib/components/VTreeview/VTreeviewNode.js +2 -1
  130. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  131. package/lib/components/VWindow/VWindow.js +3 -3
  132. package/lib/components/VWindow/VWindow.js.map +1 -1
  133. package/lib/directives/click-outside/index.js +2 -2
  134. package/lib/directives/click-outside/index.js.map +1 -1
  135. package/lib/directives/intersect/index.js +4 -4
  136. package/lib/directives/intersect/index.js.map +1 -1
  137. package/lib/directives/mutate/index.js +2 -2
  138. package/lib/directives/mutate/index.js.map +1 -1
  139. package/lib/directives/resize/index.js +2 -2
  140. package/lib/directives/resize/index.js.map +1 -1
  141. package/lib/directives/scroll/index.js +2 -2
  142. package/lib/directives/scroll/index.js.map +1 -1
  143. package/lib/framework.js +1 -1
  144. package/lib/mixins/activatable/index.js +1 -3
  145. package/lib/mixins/activatable/index.js.map +1 -1
  146. package/lib/mixins/binds-attrs/index.js.map +1 -1
  147. package/lib/mixins/overlayable/index.js +1 -1
  148. package/lib/mixins/overlayable/index.js.map +1 -1
  149. package/lib/mixins/routable/index.js +4 -3
  150. package/lib/mixins/routable/index.js.map +1 -1
  151. package/lib/util/helpers.js +1 -1
  152. package/lib/util/helpers.js.map +1 -1
  153. package/package.json +1 -1
  154. package/src/components/VDatePicker/VDatePicker.ts +1 -1
  155. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +14 -10
  156. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +2 -2
  157. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +2 -2
  158. package/src/components/VSlideGroup/VSlideGroup.ts +1 -1
  159. package/src/components/VSlider/VSlider.ts +1 -7
  160. package/src/components/VSlider/__tests__/VSlider.spec.ts +3 -2
  161. package/src/components/VTimePicker/VTimePicker.ts +1 -1
  162. package/src/globals.d.ts +6 -6
  163. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +1 -1
  164. package/src/mixins/binds-attrs/index.ts +2 -2
  165. package/src/mixins/overlayable/index.ts +7 -7
  166. package/src/util/helpers.ts +2 -2
  167. package/es5/util/component.js +0 -11
  168. package/es5/util/component.js.map +0 -1
  169. package/lib/util/component.js +0 -4
  170. package/lib/util/component.js.map +0 -1
  171. package/src/util/component.ts +0 -21
@@ -144,10 +144,9 @@ var _default = _VItemGroup.BaseItemGroup.extend({
144
144
  }, children);
145
145
  },
146
146
  genIcon: function genIcon(direction, icon, _click) {
147
- var _this3 = this,
148
- _this$$scopedSlots$di,
149
- _this$$scopedSlots$di2,
150
- _this$$scopedSlots;
147
+ var _this3 = this;
148
+
149
+ var _a, _b, _c;
151
150
 
152
151
  var on = {
153
152
  click: function click(e) {
@@ -160,10 +159,10 @@ var _default = _VItemGroup.BaseItemGroup.extend({
160
159
  var attrs = {
161
160
  'aria-label': this.$vuetify.lang.t("$vuetify.carousel.".concat(direction))
162
161
  };
163
- var children = (_this$$scopedSlots$di = (_this$$scopedSlots$di2 = (_this$$scopedSlots = this.$scopedSlots)[direction]) == null ? void 0 : _this$$scopedSlots$di2.call(_this$$scopedSlots, {
162
+ var children = (_c = (_b = (_a = this.$scopedSlots)[direction]) === null || _b === void 0 ? void 0 : _b.call(_a, {
164
163
  on: on,
165
164
  attrs: attrs
166
- })) != null ? _this$$scopedSlots$di : [this.$createElement(_VBtn.default, {
165
+ })) !== null && _c !== void 0 ? _c : [this.$createElement(_VBtn.default, {
167
166
  props: {
168
167
  icon: true
169
168
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
1
+ {"version":3,"sources":["../../../src/components/VWindow/VWindow.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VWindow.sass'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue/types/vnode'\nimport { PropType } from 'vue'\nimport { TouchHandlers } from 'vuetify/types'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-window',\n\n directives: { Touch },\n\n provide (): object {\n return {\n windowGroup: this,\n }\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-window-item--active',\n },\n continuous: Boolean,\n mandatory: {\n type: Boolean,\n default: true,\n },\n nextIcon: {\n type: [Boolean, String],\n default: '$next',\n },\n prevIcon: {\n type: [Boolean, String],\n default: '$prev',\n },\n reverse: Boolean,\n showArrows: Boolean,\n showArrowsOnHover: Boolean,\n touch: Object as PropType<TouchHandlers>,\n touchless: Boolean,\n value: {\n required: false,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n changedByDelimiters: false,\n internalHeight: undefined as undefined | string, // This can be fixed by child class.\n transitionHeight: undefined as undefined | string, // Intermediate height during transition.\n transitionCount: 0, // Number of windows in transition state.\n isBooted: false,\n isReverse: false,\n }\n },\n\n computed: {\n isActive (): boolean {\n return this.transitionCount > 0\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-window--show-arrows-on-hover': this.showArrowsOnHover,\n }\n },\n computedTransition (): string {\n if (!this.isBooted) return ''\n\n const axis = this.vertical ? 'y' : 'x'\n const reverse = this.internalReverse ? !this.isReverse : this.isReverse\n const direction = reverse ? '-reverse' : ''\n\n return `v-window-${axis}${direction}-transition`\n },\n hasActiveItems (): boolean {\n return Boolean(\n this.items.find(item => !item.disabled)\n )\n },\n hasNext (): boolean {\n return this.continuous || this.internalIndex < this.items.length - 1\n },\n hasPrev (): boolean {\n return this.continuous || this.internalIndex > 0\n },\n internalIndex (): number {\n return this.items.findIndex((item, i) => {\n return this.internalValue === this.getValue(item, i)\n })\n },\n internalReverse (): boolean {\n return this.$vuetify.rtl ? !this.reverse : this.reverse\n },\n },\n\n watch: {\n internalIndex (val, oldVal) {\n this.isReverse = this.updateReverse(val, oldVal)\n },\n },\n\n mounted () {\n window.requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n genDefaultSlot () {\n return this.$slots.default\n },\n genContainer (): VNode {\n const children = [this.genDefaultSlot()]\n\n if (this.showArrows) {\n children.push(this.genControlIcons())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-window__container',\n class: {\n 'v-window__container--is-active': this.isActive,\n },\n style: {\n height: this.internalHeight || this.transitionHeight,\n },\n }, children)\n },\n genIcon (\n direction: 'prev' | 'next',\n icon: string,\n click: () => void\n ) {\n const on = {\n click: (e: Event) => {\n e.stopPropagation()\n this.changedByDelimiters = true\n click()\n },\n }\n const attrs = {\n 'aria-label': this.$vuetify.lang.t(`$vuetify.carousel.${direction}`),\n }\n const children = this.$scopedSlots[direction]?.({\n on,\n attrs,\n }) ?? [this.$createElement(VBtn, {\n props: { icon: true },\n attrs,\n on,\n }, [\n this.$createElement(VIcon, {\n props: { large: true },\n }, icon),\n ])]\n\n return this.$createElement('div', {\n staticClass: `v-window__${direction}`,\n }, children)\n },\n genControlIcons () {\n const icons = []\n\n const prevIcon = this.$vuetify.rtl\n ? this.nextIcon\n : this.prevIcon\n\n /* istanbul ignore else */\n if (\n this.hasPrev &&\n prevIcon &&\n typeof prevIcon === 'string'\n ) {\n const icon = this.genIcon('prev', prevIcon, this.prev)\n icon && icons.push(icon)\n }\n\n const nextIcon = this.$vuetify.rtl\n ? this.prevIcon\n : this.nextIcon\n\n /* istanbul ignore else */\n if (\n this.hasNext &&\n nextIcon &&\n typeof nextIcon === 'string'\n ) {\n const icon = this.genIcon('next', nextIcon, this.next)\n icon && icons.push(icon)\n }\n\n return icons\n },\n getNextIndex (index: number): number {\n const nextIndex = (index + 1) % this.items.length\n const item = this.items[nextIndex]\n\n if (item.disabled) return this.getNextIndex(nextIndex)\n\n return nextIndex\n },\n getPrevIndex (index: number): number {\n const prevIndex = (index + this.items.length - 1) % this.items.length\n const item = this.items[prevIndex]\n\n if (item.disabled) return this.getPrevIndex(prevIndex)\n\n return prevIndex\n },\n next () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasNext) return\n\n const nextIndex = this.getNextIndex(this.internalIndex)\n const item = this.items[nextIndex]\n\n this.internalValue = this.getValue(item, nextIndex)\n },\n prev () {\n /* istanbul ignore if */\n if (!this.hasActiveItems || !this.hasPrev) return\n\n const lastIndex = this.getPrevIndex(this.internalIndex)\n const item = this.items[lastIndex]\n\n this.internalValue = this.getValue(item, lastIndex)\n },\n updateReverse (val: number, oldVal: number) {\n const itemsLength = this.items.length\n const lastIndex = itemsLength - 1\n\n if (itemsLength <= 2) return val < oldVal\n\n if (val === lastIndex && oldVal === 0) {\n return true\n } else if (val === 0 && oldVal === lastIndex) {\n return false\n } else {\n return val < oldVal\n }\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-window',\n class: this.classes,\n directives: [] as VNodeDirective[],\n }\n\n if (!this.touchless) {\n const value = this.touch || {\n left: () => {\n this.$vuetify.rtl ? this.prev() : this.next()\n },\n right: () => {\n this.$vuetify.rtl ? this.next() : this.prev()\n },\n end: (e: TouchEvent) => {\n e.stopPropagation()\n },\n start: (e: TouchEvent) => {\n e.stopPropagation()\n },\n }\n\n data.directives.push({\n name: 'touch',\n value,\n })\n }\n\n return h('div', data, [this.genContainer()])\n },\n})\n"],"sourceRoot":"","file":"VWindow.js"}
@@ -97,9 +97,9 @@ var ClickOutside = {
97
97
  unbind: function unbind(el, binding, vnode) {
98
98
  if (!el._clickOutside) return;
99
99
  handleShadow(el, function (app) {
100
- var _el$_clickOutside;
100
+ var _a;
101
101
 
102
- if (!app || !((_el$_clickOutside = el._clickOutside) != null && _el$_clickOutside[vnode.context._uid])) return;
102
+ if (!app || !((_a = el._clickOutside) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;
103
103
  var _el$_clickOutside$vno = el._clickOutside[vnode.context._uid],
104
104
  onClick = _el$_clickOutside$vno.onClick,
105
105
  onMousedown = _el$_clickOutside$vno.onMousedown;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"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","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?.[vnode.context!._uid]) 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
+ {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"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","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?.[vnode.context!._uid]) 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"}
@@ -20,12 +20,12 @@ function inserted(el, binding, vnode) {
20
20
  options = _ref.options;
21
21
 
22
22
  var observer = new IntersectionObserver(function () {
23
- var _el$_observe;
24
-
25
23
  var entries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
26
24
  var observer = arguments.length > 1 ? arguments[1] : undefined;
27
25
 
28
- var _observe = (_el$_observe = el._observe) == null ? void 0 : _el$_observe[vnode.context._uid];
26
+ var _a;
27
+
28
+ var _observe = (_a = el._observe) === null || _a === void 0 ? void 0 : _a[vnode.context._uid];
29
29
 
30
30
  if (!_observe) return; // Just in case, should never fire
31
31
 
@@ -49,9 +49,9 @@ function inserted(el, binding, vnode) {
49
49
  }
50
50
 
51
51
  function unbind(el, binding, vnode) {
52
- var _el$_observe2;
52
+ var _a;
53
53
 
54
- var observe = (_el$_observe2 = el._observe) == null ? void 0 : _el$_observe2[vnode.context._uid];
54
+ var observe = (_a = el._observe) === null || _a === void 0 ? void 0 : _a[vnode.context._uid];
55
55
  if (!observe) return;
56
56
  observe.observer.unobserve(el);
57
57
  delete el._observe[vnode.context._uid];
@@ -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,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;;AAJ8E,aAKjD,QAAO,KAAP,MAAiB,QAAjB,GACzB,KADyB,GAEzB;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAP0E;AAAA,MAKtE,OALsE,QAKtE,OALsE;AAAA,MAK7D,OAL6D,QAK7D,OAL6D;;AAQ9E,MAAM,QAAQ,GAAG,IAAI,oBAAJ,CAAyB,YAGtC;AAAA;;AAAA,QAFF,OAEE,uEAFqC,EAErC;AAAA,QADF,QACE;;AACF,QAAM,QAAQ,mBAAG,EAAE,CAAC,QAAN,qBAAG,aAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,CAAjB;;AACA,QAAI,CAAC,QAAL,EAAe,OAFb,CAEoB;;AAEtB,QAAM,cAAc,GAAG,OAAO,CAAC,IAAR,CAAa,UAAA,KAAK;AAAA,aAAI,KAAK,CAAC,cAAV;AAAA,KAAlB,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,QAAQ,EAAR;AAAf,GAApC;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAkE,KAAlE,EAA8E;AAAA;;AAC5E,MAAM,OAAO,oBAAG,EAAE,CAAC,QAAN,qBAAG,cAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,CAAhB;AACA,MAAI,CAAC,OAAL,EAAc;AAEd,EAAA,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B,EAA3B;AACA,SAAO,EAAE,CAAC,QAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,SAAS,GAAG;AACvB,EAAA,QAAQ,EAAR,QADuB;AAEvB,EAAA,MAAM,EAAN;AAFuB,CAAlB;;eAKQ,S","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.context!._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.context!._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.context!._uid]\n if (!observe) return\n\n observe.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
+ {"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,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;;AAJ8E,aAKjD,QAAO,KAAP,MAAiB,QAAjB,GACzB,KADyB,GAEzB;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAP0E;AAAA,MAKtE,OALsE,QAKtE,OALsE;AAAA,MAK7D,OAL6D,QAK7D,OAL6D;;AAQ9E,MAAM,QAAQ,GAAG,IAAI,oBAAJ,CAAyB,YAGtC;AAAA,QAFF,OAEE,uEAFqC,EAErC;AAAA,QADF,QACE;;;;AACF,QAAM,QAAQ,GAAG,CAAA,EAAA,GAAA,EAAE,CAAC,QAAH,MAAW,IAAX,IAAW,EAAA,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAW,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAA5B;;AACA,QAAI,CAAC,QAAL,EAAe,OAFb,CAEoB;;AAEtB,QAAM,cAAc,GAAG,OAAO,CAAC,IAAR,CAAa,UAAA,KAAK;AAAA,aAAI,KAAK,CAAC,cAAV;AAAA,KAAlB,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,QAAQ,EAAR;AAAf,GAApC;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAkE,KAAlE,EAA8E;;;AAC5E,MAAM,OAAO,GAAG,CAAA,EAAA,GAAA,EAAE,CAAC,QAAH,MAAW,IAAX,IAAW,EAAA,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAW,EAAA,CAAG,KAAK,CAAC,OAAN,CAAe,IAAlB,CAA3B;AACA,MAAI,CAAC,OAAL,EAAc;AAEd,EAAA,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B,EAA3B;AACA,SAAO,EAAE,CAAC,QAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,SAAS,GAAG;AACvB,EAAA,QAAQ,EAAR,QADuB;AAEvB,EAAA,MAAM,EAAN;AAFuB,CAAlB;;eAKQ,S","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.context!._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.context!._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.context!._uid]\n if (!observe) return\n\n observe.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"}
@@ -50,9 +50,9 @@ function inserted(el, binding, vnode) {
50
50
  }
51
51
 
52
52
  function unbind(el, binding, vnode) {
53
- var _el$_mutate;
53
+ var _a;
54
54
 
55
- if (!((_el$_mutate = el._mutate) != null && _el$_mutate[vnode.context._uid])) return;
55
+ if (!((_a = el._mutate) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;
56
56
 
57
57
  el._mutate[vnode.context._uid].observer.disconnect();
58
58
 
@@ -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,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,QAAQ,GAAG,QAAO,KAAP,MAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;;AAH6E,MAIrE,IAJqE,GAI3C,SAJ2C,CAIrE,IAJqE;AAAA,MAI5D,YAJ4D,4BAI3C,SAJ2C;;AAK7E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CAL6E,CAO7E;;AACA,MAAM,OAAO,GAAG,QAAO,KAAP,MAAiB,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,MAAM,QAAQ,GAAG,IAAI,gBAAJ,CAAqB,UACpC,aADoC,EAEpC,QAFoC,EAGlC;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,QAAQ,EAAR;AAAF,GAAnC;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;AAAA;;AAC3E,MAAI,iBAAC,EAAE,CAAC,OAAJ,aAAC,YAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAD,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;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","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":";;;;;;;;;;;;;AAkBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,QAAQ,GAAG,QAAO,KAAP,MAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;;AAH6E,MAIrE,IAJqE,GAI3C,SAJ2C,CAIrE,IAJqE;AAAA,MAI5D,YAJ4D,4BAI3C,SAJ2C;;AAK7E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CAL6E,CAO7E;;AACA,MAAM,OAAO,GAAG,QAAO,KAAP,MAAiB,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,MAAM,QAAQ,GAAG,IAAI,gBAAJ,CAAqB,UACpC,aADoC,EAEpC,QAFoC,EAGlC;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,QAAQ,EAAR;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;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","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"}
@@ -23,9 +23,9 @@ function inserted(el, binding, vnode) {
23
23
  }
24
24
 
25
25
  function unbind(el, binding, vnode) {
26
- var _el$_onResize;
26
+ var _a;
27
27
 
28
- if (!((_el$_onResize = el._onResize) != null && _el$_onResize[vnode.context._uid])) return;
28
+ if (!((_a = el._onResize) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;
29
29
  var _el$_onResize$vnode$c = el._onResize[vnode.context._uid],
30
30
  callback = _el$_onResize$vnode$c.callback,
31
31
  options = _el$_onResize$vnode$c.options;
@@ -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,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAzB;AACA,MAAM,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,QAAQ,EAAR,QADmC;AAEnC,IAAA,OAAO,EAAP;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;AAAA;;AAC3E,MAAI,mBAAC,EAAE,CAAC,SAAJ,aAAC,cAAe,KAAK,CAAC,OAAN,CAAe,IAA9B,CAAD,CAAJ,EAA0C;AADiC,8BAG7C,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAH6C;AAAA,MAGnE,QAHmE,yBAGnE,QAHmE;AAAA,MAGzD,OAHyD,yBAGzD,OAHyD;AAK3E,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;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","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":";;;;;;;AAQA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAzB;AACA,MAAM,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,QAAQ,EAAR,QADmC;AAEnC,IAAA,OAAO,EAAP;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;AADiC,8BAG7C,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAH6C;AAAA,MAGnE,QAHmE,yBAGnE,QAHmE;AAAA,MAGzD,OAHyD,yBAGzD,OAHyD;AAK3E,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;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","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"}
@@ -30,9 +30,9 @@ function inserted(el, binding, vnode) {
30
30
  }
31
31
 
32
32
  function unbind(el, binding, vnode) {
33
- var _el$_onScroll;
33
+ var _a;
34
34
 
35
- if (!((_el$_onScroll = el._onScroll) != null && _el$_onScroll[vnode.context._uid])) return;
35
+ if (!((_a = el._onScroll) === null || _a === void 0 ? void 0 : _a[vnode.context._uid])) return;
36
36
  var _el$_onScroll$vnode$c = el._onScroll[vnode.context._uid],
37
37
  handler = _el$_onScroll$vnode$c.handler,
38
38
  options = _el$_onScroll$vnode$c.options,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAAA,aACpD,OAAO,CAAC,SAAR,IAAqB,EAD+B;AAAA,uBACrE,IADqE;AAAA,MACrE,IADqE,0BAC9D,KAD8D;;AAE7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,OAAO,GAAI,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAAE,IAAA,OAAO,EAAE;AAAX,GAAhE;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GAAwD,KAAxD,GAAgE,KAAK,CAAC,OAAtF;AAEA,MAAM,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,OAAO,EAAP,OADmC;AAEnC,IAAA,OAAO,EAAP,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;AADiC,8BAGjC,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAHiC;AAAA,MAGnE,OAHmE,yBAGnE,OAHmE;AAAA,MAG1D,OAH0D,yBAG1D,OAH0D;AAAA,qDAGjD,MAHiD;AAAA,MAGjD,MAHiD,uCAGxC,EAHwC;AAK3E,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","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":";;;;;;;;;AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAAA,aACpD,OAAO,CAAC,SAAR,IAAqB,EAD+B;AAAA,uBACrE,IADqE;AAAA,MACrE,IADqE,0BAC9D,KAD8D;;AAE7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,OAAO,GAAI,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAAE,IAAA,OAAO,EAAE;AAAX,GAAhE;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GAAwD,KAAxD,GAAgE,KAAK,CAAC,OAAtF;AAEA,MAAM,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,OAAO,EAAP,OADmC;AAEnC,IAAA,OAAO,EAAP,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;AADiC,8BAGjC,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAHiC;AAAA,MAGnE,OAHmE,yBAGnE,OAHmE;AAAA,MAG1D,OAH0D,yBAG1D,OAH0D;AAAA,qDAGjD,MAHiD;AAAA,MAGjD,MAHiD,uCAGxC,EAHwC;AAK3E,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","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/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.6.7";
82
+ Vuetify.version = "2.6.8-master-20220706.0";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
@@ -132,8 +132,6 @@ var _default = baseMixins.extend({
132
132
  return listeners;
133
133
  },
134
134
  getActivator: function getActivator(e) {
135
- var _activator;
136
-
137
135
  // If we've already fetched the activator, re-use
138
136
  if (this.activatorElement) return this.activatorElement;
139
137
  var activator = null;
@@ -172,7 +170,7 @@ var _default = baseMixins.extend({
172
170
  } // The activator should only be a valid element (Ignore comments and text nodes)
173
171
 
174
172
 
175
- this.activatorElement = ((_activator = activator) == null ? void 0 : _activator.nodeType) === Node.ELEMENT_NODE ? activator : null;
173
+ this.activatorElement = (activator === null || activator === void 0 ? void 0 : activator.nodeType) === Node.ELEMENT_NODE ? activator : null;
176
174
  return this.activatorElement;
177
175
  },
178
176
  getContentSlot: function getContentSlot() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n on: this.genActivatorListeners(),\n attrs: this.genActivatorAttributes(),\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.mouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.mouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.click = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.focus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].componentInstance\n if (\n vm &&\n vm.$options.mixins && // Activatable is indirectly used via Menuable\n vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].elm as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAGA;;AACA;;AACA;;;;;;AAOA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,mBAFiB,CAAnB;AAKA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,aADyB;AAG/B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE,IADA;AAET,MAAA,SAAS,EAAE,mBAAC,GAAD,EAAyB;AAClC,eAAO,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB,SAAqC,GAArC,EAAP;AACD;AAJQ,KADN;AAOL,IAAA,QAAQ,EAAE,OAPL;AAQL,IAAA,iBAAiB,EAAE,OARd;AASL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,OADK;AAEX,MAAA,OAAO,EAAE;AAFE,KATR;AAaL,IAAA,WAAW,EAAE,OAbR;AAcL,IAAA,WAAW,EAAE;AAdR,GAHwB;AAoB/B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX;AACA,MAAA,gBAAgB,EAAE,IAFP;AAGX,MAAA,aAAa,EAAE,EAHJ;AAIX,MAAA,MAAM,EAAE,CAAC,OAAD,EAAU,YAAV,EAAwB,YAAxB,EAAsC,OAAtC,CAJG;AAKX,MAAA,SAAS,EAAE;AALA,KAAP;AAAA,GApByB;AA4B/B,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE,gBADN;AAEL,IAAA,WAAW,EAAE,gBAFR;AAGL,IAAA,WAAW,EAAE;AAHR,GA5BwB;AAkC/B,EAAA,OAlC+B,qBAkCxB;AACL,QAAM,QAAQ,GAAG,0BAAY,IAAZ,EAAkB,WAAlB,EAA+B,IAA/B,CAAjB;;AAEA,QAAI,QAAQ,IAAI,CAAC,QAAD,EAAW,QAAX,EAAqB,QAArB,CAA8B,QAA9B,CAAhB,EAAyD;AACvD,sIAA8G,IAA9G;AACD;;AAED,SAAK,kBAAL;AACD,GA1C8B;AA4C/B,EAAA,aA5C+B,2BA4ClB;AACX,SAAK,qBAAL;AACD,GA9C8B;AAgD/B,EAAA,OAAO,EAAE;AACP,IAAA,kBADO,gCACW;AAChB,UACE,CAAC,KAAK,SAAN,IACA,KAAK,QADL,IAEA,CAAC,KAAK,YAAL,EAHH,EAIE;AAEF,WAAK,SAAL,GAAiB,KAAK,qBAAL,EAAjB;AACA,UAAM,IAAI,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,SAAjB,CAAb;;AAEA,+BAAkB,IAAlB,2BAAwB;AAAnB,YAAM,GAAG,YAAT;AACH,aAAK,YAAL,GAAqB,gBAArB,CAAsC,GAAtC,EAA2C,KAAK,SAAL,CAAe,GAAf,CAA3C;AACD;AACF,KAdM;AAeP,IAAA,YAfO,0BAeK;AACV,UAAM,IAAI,GAAG,sBAAQ,IAAR,EAAc,WAAd,EAA2B,MAAM,CAAC,MAAP,CAAc,KAAK,aAAL,EAAd,EAAoC;AAC1E,QAAA,EAAE,EAAE,KAAK,qBAAL,EADsE;AAE1E,QAAA,KAAK,EAAE,KAAK,sBAAL;AAFmE,OAApC,CAA3B,KAGN,EAHP;AAKA,WAAK,aAAL,GAAqB,IAArB;AAEA,aAAO,IAAP;AACD,KAxBM;AAyBP,IAAA,sBAzBO,oCAyBe;AACpB,aAAO;AACL,QAAA,IAAI,EAAG,KAAK,WAAL,IAAoB,CAAC,KAAK,WAA3B,GAA0C,QAA1C,GAAqD,SADtD;AAEL,yBAAiB,IAFZ;AAGL,yBAAiB,MAAM,CAAC,KAAK,QAAN;AAHlB,OAAP;AAKD,KA/BM;AAgCP,IAAA,qBAhCO,mCAgCc;AAAA;;AACnB,UAAI,KAAK,QAAT,EAAmB,OAAO,EAAP;AAEnB,UAAM,SAAS,GAAc,EAA7B;;AAEA,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,SAAS,CAAC,UAAV,GAAuB,UAAC,CAAD,EAAkB;AACvC,UAAA,KAAI,CAAC,YAAL,CAAkB,CAAlB;;AACA,UAAA,KAAI,CAAC,QAAL,CAAc,MAAd;AACD,SAHD;;AAIA,QAAA,SAAS,CAAC,UAAV,GAAuB,UAAC,CAAD,EAAkB;AACvC,UAAA,KAAI,CAAC,YAAL,CAAkB,CAAlB;;AACA,UAAA,KAAI,CAAC,QAAL,CAAc,OAAd;AACD,SAHD;AAID,OATD,MASO,IAAI,KAAK,WAAT,EAAsB;AAC3B,QAAA,SAAS,CAAC,KAAV,GAAkB,UAAC,CAAD,EAAkB;AAClC,cAAM,SAAS,GAAG,KAAI,CAAC,YAAL,CAAkB,CAAlB,CAAlB;;AACA,cAAI,SAAJ,EAAe,SAAS,CAAC,KAAV;AAEf,UAAA,CAAC,CAAC,eAAF;AAEA,UAAA,KAAI,CAAC,QAAL,GAAgB,CAAC,KAAI,CAAC,QAAtB;AACD,SAPD;AAQD;;AAED,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,SAAS,CAAC,KAAV,GAAkB,UAAC,CAAD,EAAkB;AAClC,UAAA,KAAI,CAAC,YAAL,CAAkB,CAAlB;;AAEA,UAAA,CAAC,CAAC,eAAF;AAEA,UAAA,KAAI,CAAC,QAAL,GAAgB,CAAC,KAAI,CAAC,QAAtB;AACD,SAND;AAOD;;AAED,aAAO,SAAP;AACD,KApEM;AAqEP,IAAA,YArEO,wBAqEO,CArEP,EAqEgB;AACrB;AACA,UAAI,KAAK,gBAAT,EAA2B,OAAO,KAAK,gBAAZ;AAE3B,UAAI,SAAS,GAAG,IAAhB;;AAEA,UAAI,KAAK,SAAT,EAAoB;AAClB,YAAM,MAAM,GAAG,KAAK,iBAAL,GAAyB,KAAK,GAA9B,GAAoC,QAAnD;;AAEA,YAAI,OAAO,KAAK,SAAZ,KAA0B,QAA9B,EAAwC;AACtC;AACA,UAAA,SAAS,GAAG,MAAM,CAAC,aAAP,CAAqB,KAAK,SAA1B,CAAZ;AACD,SAHD,MAGO,IAAK,KAAK,SAAL,CAAuB,GAA5B,EAAiC;AACtC;AACA,UAAA,SAAS,GAAI,KAAK,SAAL,CAAuB,GAApC;AACD,SAHM,MAGA;AACL;AACA,UAAA,SAAS,GAAG,KAAK,SAAjB;AACD;AACF,OAbD,MAaO,IAAI,KAAK,aAAL,CAAmB,MAAnB,KAA8B,CAA9B,IAAoC,KAAK,aAAL,CAAmB,MAAnB,IAA6B,CAAC,CAAtE,EAA0E;AAC/E;AACA;AACA;AACA,YAAM,EAAE,GAAG,KAAK,aAAL,CAAmB,CAAnB,EAAsB,iBAAjC;;AACA,YACE,EAAE,IACF,EAAE,CAAC,QAAH,CAAY,MADZ,IACsB;AACtB,QAAA,EAAE,CAAC,QAAH,CAAY,MAAZ,CAAmB,IAAnB,CAAwB,UAAC,CAAD;AAAA,iBAAY,CAAC,CAAC,OAAF,IAAa,CAAC,aAAD,EAAgB,UAAhB,EAA4B,QAA5B,CAAqC,CAAC,CAAC,OAAF,CAAU,IAA/C,CAAzB;AAAA,SAAxB,CAHF,EAIE;AACA;AACA,UAAA,SAAS,GAAI,EAAU,CAAC,YAAX,EAAb;AACD,SAPD,MAOO;AACL,UAAA,SAAS,GAAG,KAAK,aAAL,CAAmB,CAAnB,EAAsB,GAAlC;AACD;AACF,OAfM,MAeA,IAAI,CAAJ,EAAO;AACZ;AACA,QAAA,SAAS,GAAI,CAAC,CAAC,aAAF,IAAmB,CAAC,CAAC,MAAlC;AACD,OArCoB,CAuCrB;;;AACA,WAAK,gBAAL,GAAwB,CAAA,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAA,SAAS,CAAE,QAAX,MAAwB,IAAI,CAAC,YAA7B,GAA4C,SAA5C,GAAwD,IAAhF;AAEA,aAAO,KAAK,gBAAZ;AACD,KAhHM;AAiHP,IAAA,cAjHO,4BAiHO;AACZ,aAAO,sBAAQ,IAAR,EAAc,SAAd,EAAyB,KAAK,aAAL,EAAzB,EAA+C,IAA/C,CAAP;AACD,KAnHM;AAoHP,IAAA,aApHO,2BAoHM;AACX,UAAM,IAAI,GAAG,IAAb;AACA,aAAO;AACL,YAAI,KAAJ,GAAS;AACP,iBAAO,IAAI,CAAC,QAAZ;AACD,SAHI;;AAIL,YAAI,KAAJ,CAAW,QAAX,EAA4B;AAC1B,UAAA,IAAI,CAAC,QAAL,GAAgB,QAAhB;AACD;;AANI,OAAP;AAQD,KA9HM;AA+HP,IAAA,qBA/HO,mCA+Hc;AACnB,UACE,CAAC,KAAK,SAAN,IACA,CAAC,KAAK,gBAFR,EAGE;AAEF,UAAM,IAAI,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,SAAjB,CAAb;;AAEA,iCAAkB,IAAlB,8BAAwB;AAAnB,YAAM,GAAG,cAAT;AACF,aAAK,gBAAL,CAA8B,mBAA9B,CAAkD,GAAlD,EAAuD,KAAK,SAAL,CAAe,GAAf,CAAvD;AACF;;AAED,WAAK,SAAL,GAAiB,EAAjB;AACD,KA5IM;AA6IP,IAAA,cA7IO,4BA6IO;AACZ,WAAK,qBAAL;AACA,WAAK,gBAAL,GAAwB,IAAxB;AACA,WAAK,YAAL;AACA,WAAK,kBAAL;AACD;AAlJM;AAhDsB,CAAlB,C","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n on: this.genActivatorListeners(),\n attrs: this.genActivatorAttributes(),\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.mouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.mouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.click = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.focus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].componentInstance\n if (\n vm &&\n vm.$options.mixins && // Activatable is indirectly used via Menuable\n vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].elm as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/binds-attrs/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;AAEA;;;AAGG;AAEH,SAAS,WAAT,CAAsB,QAAtB,EAAsC;AACpC,SAAO,UAAqB,GAArB,EAA0B,MAA1B,EAAgC;AACrC,SAAK,IAAM,IAAX,IAAmB,MAAnB,EAA2B;AACzB,UAAI,CAAC,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,GAArC,EAA0C,IAA1C,CAAL,EAAsD;AACpD,aAAK,OAAL,CAAa,KAAK,KAAL,CAAW,QAAX,CAAb,EAAmC,IAAnC;AACD;AACF;;AACD,SAAK,IAAM,KAAX,IAAmB,GAAnB,EAAwB;AACtB,WAAK,IAAL,CAAU,KAAK,KAAL,CAAW,QAAX,CAAV,EAAgC,KAAhC,EAAsC,GAAG,CAAC,KAAD,CAAzC;AACD;AACF,GATD;AAUD;;eAEc,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE,EADG;AAEX,MAAA,UAAU,EAAE;AAFD,KAAP;AAAA,GADkB;AAMxB,EAAA,OANwB,qBAMjB;AACL;AACA;AACA,SAAK,MAAL,CAAY,QAAZ,EAAsB,WAAW,CAAC,QAAD,CAAjC,EAA6C;AAAE,MAAA,SAAS,EAAE;AAAb,KAA7C;AACA,SAAK,MAAL,CAAY,YAAZ,EAA0B,WAAW,CAAC,YAAD,CAArC,EAAqD;AAAE,MAAA,SAAS,EAAE;AAAb,KAArD;AACD;AAXuB,CAAX,C","sourcesContent":["import Vue, { WatchHandler } from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & WatchHandler<any> {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/binds-attrs/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;AAEA;;;AAGG;AAEH,SAAS,WAAT,CAAsB,QAAtB,EAAsC;AACpC,SAAO,UAAqB,GAArB,EAA0B,MAA1B,EAAgC;AACrC,SAAK,IAAM,IAAX,IAAmB,MAAnB,EAA2B;AACzB,UAAI,CAAC,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,GAArC,EAA0C,IAA1C,CAAL,EAAsD;AACpD,aAAK,OAAL,CAAa,KAAK,KAAL,CAAW,QAAX,CAAb,EAAmC,IAAnC;AACD;AACF;;AACD,SAAK,IAAM,KAAX,IAAmB,GAAnB,EAAwB;AACtB,WAAK,IAAL,CAAU,KAAK,KAAL,CAAW,QAAX,CAAV,EAAgC,KAAhC,EAAsC,GAAG,CAAC,KAAD,CAAzC;AACD;AACF,GATD;AAUD;;eAEc,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE,EADG;AAEX,MAAA,UAAU,EAAE;AAFD,KAAP;AAAA,GADkB;AAMxB,EAAA,OANwB,qBAMjB;AACL;AACA;AACA,SAAK,MAAL,CAAY,QAAZ,EAAsB,WAAW,CAAC,QAAD,CAAjC,EAA6C;AAAE,MAAA,SAAS,EAAE;AAAb,KAA7C;AACA,SAAK,MAAL,CAAY,YAAZ,EAA0B,WAAW,CAAC,YAAD,CAArC,EAAqD;AAAE,MAAA,SAAS,EAAE;AAAb,KAArD;AACD;AAXuB,CAAX,C","sourcesContent":["import Vue from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & ((val: any, oldVal: any) => void) {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -101,7 +101,7 @@ var _default = _vue.default.extend().extend({
101
101
  showScroll && this.showScroll();
102
102
  },
103
103
  scrollListener: function scrollListener(e) {
104
- if (e.type === 'keydown') {
104
+ if ('key' in e) {
105
105
  if (['INPUT', 'TEXTAREA', 'SELECT'].includes(e.target.tagName) || // https://github.com/vuetifyjs/vuetify/issues/4715
106
106
  e.target.isContentEditable) return;
107
107
  var up = [_helpers.keyCodes.up, _helpers.keyCodes.pageup];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable & Stackable & options>().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent & KeyboardEvent) {\n if (e.type === 'keydown') {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener as EventHandlerNonNull, { passive: false })\n window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable & Stackable & options>().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -61,9 +61,9 @@ var _default = _vue.default.extend({
61
61
  return classes;
62
62
  },
63
63
  computedRipple: function computedRipple() {
64
- var _this$ripple;
64
+ var _a;
65
65
 
66
- return (_this$ripple = this.ripple) != null ? _this$ripple : !this.disabled && this.isClickable;
66
+ return (_a = this.ripple) !== null && _a !== void 0 ? _a : !this.disabled && this.isClickable;
67
67
  },
68
68
  isClickable: function isClickable() {
69
69
  if (this.disabled) return false;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -356,7 +356,7 @@ function groupItems(items, groupBy, groupDesc) {
356
356
  if (current !== val) {
357
357
  current = val;
358
358
  groups.push({
359
- name: val != null ? val : '',
359
+ name: val !== null && val !== void 0 ? val : '',
360
360
  items: []
361
361
  });
362
362
  }