@dimailn/vuetify 2.7.2-alpha14 → 2.7.2-alpha15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vuetify.js +116 -116
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAppBar/VAppBar.js +7 -12
- package/es5/components/VAppBar/VAppBar.js.map +1 -1
- package/es5/components/VGrid/VContainer.js +3 -1
- package/es5/components/VGrid/VContainer.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +17 -18
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +4 -1
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VToolbar/VToolbar.js +2 -3
- package/es5/components/VToolbar/VToolbar.js.map +1 -1
- package/es5/directives/intersect/index.js +20 -7
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +13 -13
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +8 -8
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +10 -9
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/directives/touch/index.js +4 -4
- package/es5/directives/touch/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/lib/components/VAppBar/VAppBar.js +7 -11
- package/lib/components/VAppBar/VAppBar.js.map +1 -1
- package/lib/components/VGrid/VContainer.js +3 -1
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +20 -18
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +4 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VToolbar/VToolbar.js +4 -3
- package/lib/components/VToolbar/VToolbar.js.map +1 -1
- package/lib/directives/intersect/index.js +20 -7
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +13 -13
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +8 -8
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +10 -9
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/directives/touch/index.js +4 -4
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/package.json +1 -1
- package/src/components/VAppBar/VAppBar.ts +11 -13
- package/src/components/VGrid/VContainer.ts +1 -1
- package/src/components/VItemGroup/VItem.ts +25 -23
- package/src/components/VTextField/VTextField.ts +3 -2
- package/src/components/VToolbar/VToolbar.ts +4 -5
- package/src/directives/intersect/index.ts +81 -42
- package/src/directives/mutate/index.ts +58 -49
- package/src/directives/resize/index.ts +33 -14
- package/src/directives/scroll/index.ts +36 -20
- package/src/directives/touch/index.ts +37 -27
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DirectiveBinding, VNode, ObjectDirective } from 'vue'
|
|
2
2
|
import { keys } from '../../util/helpers'
|
|
3
3
|
import { TouchHandlers, TouchValue, TouchWrapper } from 'vuetify/types'
|
|
4
4
|
import makeDirectiveActivatable from '../../util/make-directive-activatable'
|
|
@@ -9,10 +9,6 @@ export interface TouchStoredHandlers {
|
|
|
9
9
|
touchmove: (e: TouchEvent) => void
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
interface TouchVNodeDirective extends VNodeDirective {
|
|
13
|
-
value?: TouchValue
|
|
14
|
-
}
|
|
15
|
-
|
|
16
12
|
const handleGesture = (wrapper: TouchWrapper) => {
|
|
17
13
|
const { touchstartX, touchendX, touchstartY, touchendY } = wrapper
|
|
18
14
|
const dirRatio = 0.5
|
|
@@ -21,13 +17,19 @@ const handleGesture = (wrapper: TouchWrapper) => {
|
|
|
21
17
|
wrapper.offsetY = touchendY - touchstartY
|
|
22
18
|
|
|
23
19
|
if (Math.abs(wrapper.offsetY) < dirRatio * Math.abs(wrapper.offsetX)) {
|
|
24
|
-
wrapper.left &&
|
|
25
|
-
|
|
20
|
+
wrapper.left &&
|
|
21
|
+
touchendX < touchstartX - minDistance &&
|
|
22
|
+
wrapper.left(wrapper)
|
|
23
|
+
wrapper.right &&
|
|
24
|
+
touchendX > touchstartX + minDistance &&
|
|
25
|
+
wrapper.right(wrapper)
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
if (Math.abs(wrapper.offsetX) < dirRatio * Math.abs(wrapper.offsetY)) {
|
|
29
|
-
wrapper.up &&
|
|
30
|
-
wrapper.down &&
|
|
29
|
+
wrapper.up && touchendY < touchstartY - minDistance && wrapper.up(wrapper)
|
|
30
|
+
wrapper.down &&
|
|
31
|
+
touchendY > touchstartY + minDistance &&
|
|
32
|
+
wrapper.down(wrapper)
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
|
|
@@ -36,8 +38,7 @@ function touchstart (event: TouchEvent, wrapper: TouchWrapper) {
|
|
|
36
38
|
wrapper.touchstartX = touch.clientX
|
|
37
39
|
wrapper.touchstartY = touch.clientY
|
|
38
40
|
|
|
39
|
-
wrapper.start &&
|
|
40
|
-
wrapper.start(Object.assign(event, wrapper))
|
|
41
|
+
wrapper.start && wrapper.start(Object.assign(event, wrapper))
|
|
41
42
|
}
|
|
42
43
|
|
|
43
44
|
function touchend (event: TouchEvent, wrapper: TouchWrapper) {
|
|
@@ -45,8 +46,7 @@ function touchend (event: TouchEvent, wrapper: TouchWrapper) {
|
|
|
45
46
|
wrapper.touchendX = touch.clientX
|
|
46
47
|
wrapper.touchendY = touch.clientY
|
|
47
48
|
|
|
48
|
-
wrapper.end &&
|
|
49
|
-
wrapper.end(Object.assign(event, wrapper))
|
|
49
|
+
wrapper.end && wrapper.end(Object.assign(event, wrapper))
|
|
50
50
|
|
|
51
51
|
handleGesture(wrapper)
|
|
52
52
|
}
|
|
@@ -85,39 +85,49 @@ function createHandlers (value: TouchHandlers): TouchStoredHandlers {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
function
|
|
89
|
-
|
|
88
|
+
function mounted (
|
|
89
|
+
el: HTMLElement,
|
|
90
|
+
binding: DirectiveBinding<TouchValue>,
|
|
91
|
+
vnode: VNode
|
|
92
|
+
) {
|
|
93
|
+
const value = binding.value
|
|
90
94
|
const target = value.parent ? el.parentElement : el
|
|
91
95
|
const options = value.options || { passive: true }
|
|
92
96
|
|
|
93
97
|
// Needed to pass unit tests
|
|
94
98
|
if (!target) return
|
|
95
99
|
|
|
96
|
-
const handlers = createHandlers(binding.value
|
|
100
|
+
const handlers = createHandlers(binding.value)
|
|
97
101
|
target._touchHandlers = Object(target._touchHandlers)
|
|
98
|
-
target._touchHandlers![vnode.ctx
|
|
102
|
+
target._touchHandlers![vnode.ctx!.uid] = handlers
|
|
99
103
|
|
|
100
104
|
keys(handlers).forEach(eventName => {
|
|
101
|
-
target.addEventListener(
|
|
105
|
+
target.addEventListener(
|
|
106
|
+
eventName,
|
|
107
|
+
handlers[eventName] as EventListener,
|
|
108
|
+
options
|
|
109
|
+
)
|
|
102
110
|
})
|
|
103
111
|
}
|
|
104
112
|
|
|
105
|
-
function
|
|
106
|
-
|
|
113
|
+
function unmounted (
|
|
114
|
+
el: HTMLElement,
|
|
115
|
+
binding: DirectiveBinding<TouchValue>,
|
|
116
|
+
vnode: VNode
|
|
117
|
+
) {
|
|
118
|
+
const target = binding.value.parent ? el.parentElement : el
|
|
107
119
|
if (!target || !target._touchHandlers) return
|
|
108
120
|
|
|
109
|
-
const handlers = target._touchHandlers[vnode.ctx
|
|
121
|
+
const handlers = target._touchHandlers[vnode.ctx!.uid]
|
|
110
122
|
keys(handlers).forEach(eventName => {
|
|
111
123
|
target.removeEventListener(eventName, handlers[eventName])
|
|
112
124
|
})
|
|
113
|
-
delete target._touchHandlers[vnode.ctx
|
|
125
|
+
delete target._touchHandlers[vnode.ctx!.uid]
|
|
114
126
|
}
|
|
115
127
|
|
|
116
|
-
export const Touch = {
|
|
117
|
-
mounted
|
|
118
|
-
unmounted
|
|
128
|
+
export const Touch: ObjectDirective<HTMLElement, TouchValue> = {
|
|
129
|
+
mounted,
|
|
130
|
+
unmounted,
|
|
119
131
|
}
|
|
120
132
|
|
|
121
|
-
|
|
122
|
-
|
|
123
133
|
export default makeDirectiveActivatable(Touch)
|