@opentiny/vue-renderless 3.5.0 → 3.6.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.
- package/README.md +26 -0
- package/action-menu/index.js +5 -0
- package/action-menu/vue.js +6 -4
- package/action-sheet/index.js +54 -8
- package/action-sheet/vue.js +42 -9
- package/anchor/index.js +217 -0
- package/anchor/vue.js +52 -0
- package/carousel-item/index.js +3 -1
- package/dropdown/index.js +3 -1
- package/dropdown/vue.js +2 -1
- package/dropdown-item/vue.js +6 -1
- package/dropdown-menu/vue.js +5 -2
- package/form-item/index.js +67 -48
- package/form-item/vue.js +8 -1
- package/fullscreen/index.js +36 -29
- package/fullscreen/vue.js +2 -1
- package/index-bar/index.js +76 -0
- package/index-bar/vue.js +87 -0
- package/index-bar-anchor/vue.js +20 -0
- package/ip-address/index.js +7 -7
- package/ip-address/vue.js +7 -6
- package/multi-select/index.js +283 -0
- package/multi-select/vue.js +120 -0
- package/package.json +13 -5
- package/pull-refresh/index.js +102 -59
- package/pull-refresh/vue.js +46 -29
- package/rate/index.js +1 -1
- package/slider/index.js +1 -1
- package/split/index.js +9 -0
- package/split/vue.js +8 -3
- package/switch/index.js +6 -3
- package/switch/vue.js +1 -1
- package/tab-nav/index.js +26 -3
- package/tab-nav/vue.js +15 -4
- package/tabs/index.js +46 -26
- package/tabs/vue.js +13 -3
- package/tag/index.js +10 -5
- package/tag/vue.js +4 -1
- package/transfer/index.js +53 -47
- package/wheel/index.js +187 -0
- package/wheel/vue.js +110 -0
package/README.md
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://tinyuidesign.cloudbu.huawei.com/" target="_blank" rel="noopener noreferrer">
|
|
3
|
+
<img alt="TinyVue Logo" src="./logo.svg" height="100" style="max-width:100%;">
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
6
|
+
|
|
7
|
+
<p align="center">Tiny-Vue-Renderless 是 TinyVue 组件库的逻辑层 </p>
|
|
8
|
+
|
|
9
|
+
## 如何使用
|
|
10
|
+
|
|
11
|
+
使用组件库时,只需安装 `@opentiny/vue` , `@opentiny/vue-renderless` 会同步完成安装
|
|
12
|
+
|
|
13
|
+
## 本地开发
|
|
14
|
+
```shell
|
|
15
|
+
git clone git@github.com:opentiny/tiny-vue-renderless.git
|
|
16
|
+
cd tiny-vue-renderless
|
|
17
|
+
npm i
|
|
18
|
+
```
|
|
19
|
+
- 克隆的 tiny-vue-renderless 工程放在与 tiny-vue 工程同个目录文件夹
|
|
20
|
+
- 安装 tiny-vue-renderless 的依赖
|
|
21
|
+
- 然后启动 tiny-vue 工程
|
|
22
|
+
- 本地启动 tiny-vue 工程后,即可调试 tiny-vue-renderless 工程
|
|
23
|
+
|
|
24
|
+
## 开源协议
|
|
25
|
+
|
|
26
|
+
[MIT](LICENSE)
|
package/action-menu/index.js
CHANGED
|
@@ -7,4 +7,9 @@ export var handleItemClick = function handleItemClick(emit) {
|
|
|
7
7
|
return function (data) {
|
|
8
8
|
emit('item-click', data);
|
|
9
9
|
};
|
|
10
|
+
};
|
|
11
|
+
export var visibleChange = function visibleChange(emit) {
|
|
12
|
+
return function (status) {
|
|
13
|
+
emit('visible-change', status);
|
|
14
|
+
};
|
|
10
15
|
};
|
package/action-menu/vue.js
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { handleMoreClick, handleItemClick } from './index';
|
|
2
|
-
export var api = ['state', 'handleMoreClick', 'handleItemClick'];
|
|
1
|
+
import { handleMoreClick, handleItemClick, visibleChange } from './index';
|
|
2
|
+
export var api = ['state', 'handleMoreClick', 'handleItemClick', 'visibleChange'];
|
|
3
3
|
export var renderless = function renderless(props, _ref, _ref2) {
|
|
4
4
|
var computed = _ref.computed,
|
|
5
5
|
reactive = _ref.reactive;
|
|
6
|
-
var emit = _ref2.emit
|
|
6
|
+
var emit = _ref2.emit,
|
|
7
|
+
nextTick = _ref2.nextTick;
|
|
7
8
|
var api = {
|
|
8
9
|
handleMoreClick: handleMoreClick(emit),
|
|
9
|
-
handleItemClick: handleItemClick(emit)
|
|
10
|
+
handleItemClick: handleItemClick(emit),
|
|
11
|
+
visibleChange: visibleChange(emit)
|
|
10
12
|
};
|
|
11
13
|
var state = reactive({
|
|
12
14
|
visibleOptions: computed(function () {
|
package/action-sheet/index.js
CHANGED
|
@@ -1,13 +1,58 @@
|
|
|
1
|
-
export var
|
|
1
|
+
export var setSheetStyle = function setSheetStyle(_ref) {
|
|
2
|
+
var state = _ref.state,
|
|
3
|
+
props = _ref.props;
|
|
2
4
|
return function () {
|
|
5
|
+
if (props.contentPosition) {
|
|
6
|
+
state.sheetMaskStyle = {
|
|
7
|
+
'position': 'absolute'
|
|
8
|
+
};
|
|
9
|
+
state.sheetContentStyle = {
|
|
10
|
+
'position': 'absolute',
|
|
11
|
+
'max-height': props.height
|
|
12
|
+
};
|
|
13
|
+
} else {
|
|
14
|
+
state.sheetMaskStyle = {
|
|
15
|
+
'position': 'fixed'
|
|
16
|
+
};
|
|
17
|
+
state.sheetContentStyle = {
|
|
18
|
+
'position': 'fixed',
|
|
19
|
+
'max-height': props.height
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export var initScrollMenu = function initScrollMenu(_ref2) {
|
|
25
|
+
var state = _ref2.state,
|
|
26
|
+
nextTick = _ref2.nextTick,
|
|
27
|
+
refs = _ref2.refs,
|
|
28
|
+
BScroll = _ref2.BScroll;
|
|
29
|
+
return function () {
|
|
30
|
+
nextTick(function () {
|
|
31
|
+
var scrollMenu = refs.scrollMenu;
|
|
32
|
+
if (!state.scroll) {
|
|
33
|
+
state.scroll = new BScroll(scrollMenu, {
|
|
34
|
+
probeType: 3,
|
|
35
|
+
click: true
|
|
36
|
+
});
|
|
37
|
+
} else {
|
|
38
|
+
state.scroll.refresh();
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
export var visibleHandle = function visibleHandle(_ref3) {
|
|
44
|
+
var emit = _ref3.emit,
|
|
45
|
+
state = _ref3.state;
|
|
46
|
+
return function () {
|
|
47
|
+
state.scroll = null;
|
|
3
48
|
emit('update:visible', false);
|
|
4
49
|
emit('close', false);
|
|
5
50
|
};
|
|
6
51
|
};
|
|
7
|
-
export var watchVisible = function watchVisible(
|
|
8
|
-
var emit =
|
|
9
|
-
props =
|
|
10
|
-
state =
|
|
52
|
+
export var watchVisible = function watchVisible(_ref4) {
|
|
53
|
+
var emit = _ref4.emit,
|
|
54
|
+
props = _ref4.props,
|
|
55
|
+
state = _ref4.state;
|
|
11
56
|
return function (value) {
|
|
12
57
|
state.active = props.modelValue;
|
|
13
58
|
setTimeout(function () {
|
|
@@ -16,11 +61,12 @@ export var watchVisible = function watchVisible(_ref) {
|
|
|
16
61
|
emit('update:visible', value);
|
|
17
62
|
};
|
|
18
63
|
};
|
|
19
|
-
export var menuHandle = function menuHandle(
|
|
20
|
-
var emit =
|
|
21
|
-
state =
|
|
64
|
+
export var menuHandle = function menuHandle(_ref5) {
|
|
65
|
+
var emit = _ref5.emit,
|
|
66
|
+
state = _ref5.state;
|
|
22
67
|
return function (item) {
|
|
23
68
|
state.active = item.id;
|
|
69
|
+
state.scroll = null;
|
|
24
70
|
emit('update:visible', false);
|
|
25
71
|
emit('update:modelValue', item.id);
|
|
26
72
|
emit('click', item);
|
package/action-sheet/vue.js
CHANGED
|
@@ -1,28 +1,61 @@
|
|
|
1
|
-
import { visibleHandle, watchVisible, menuHandle } from './index';
|
|
2
|
-
export var api = ['state', 'visibleHandle', 'menuHandle'];
|
|
3
|
-
export var renderless = function renderless(props, _ref, _ref2) {
|
|
1
|
+
import { setSheetStyle, initScrollMenu, visibleHandle, watchVisible, menuHandle } from './index';
|
|
2
|
+
export var api = ['state', 'setSheetStyle', 'initScrollMenu', 'visibleHandle', 'menuHandle'];
|
|
3
|
+
export var renderless = function renderless(props, _ref, _ref2, _ref3) {
|
|
4
4
|
var reactive = _ref.reactive,
|
|
5
5
|
watch = _ref.watch;
|
|
6
|
-
var emit = _ref2.emit
|
|
6
|
+
var emit = _ref2.emit,
|
|
7
|
+
nextTick = _ref2.nextTick,
|
|
8
|
+
refs = _ref2.refs;
|
|
9
|
+
var BScroll = _ref3.BScroll;
|
|
7
10
|
var api = {};
|
|
8
11
|
var state = reactive({
|
|
9
12
|
toggle: false,
|
|
10
|
-
active: null
|
|
13
|
+
active: null,
|
|
14
|
+
sheetMaskStyle: {},
|
|
15
|
+
sheetContentStyle: {},
|
|
16
|
+
scroll: null
|
|
11
17
|
});
|
|
12
18
|
watch(function () {
|
|
13
19
|
return props.visible;
|
|
14
|
-
},
|
|
20
|
+
}, function (value) {
|
|
21
|
+
if (value) {
|
|
22
|
+
api.setSheetStyle({
|
|
23
|
+
state: state,
|
|
24
|
+
props: props
|
|
25
|
+
});
|
|
26
|
+
api.initScrollMenu({
|
|
27
|
+
state: state,
|
|
28
|
+
nextTick: nextTick,
|
|
29
|
+
refs: refs,
|
|
30
|
+
BScroll: BScroll
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
api.watchVisible(value);
|
|
34
|
+
});
|
|
15
35
|
Object.assign(api, {
|
|
16
36
|
state: state,
|
|
17
|
-
|
|
37
|
+
setSheetStyle: setSheetStyle({
|
|
18
38
|
state: state,
|
|
19
|
-
|
|
39
|
+
props: props
|
|
40
|
+
}),
|
|
41
|
+
initScrollMenu: initScrollMenu({
|
|
42
|
+
state: state,
|
|
43
|
+
nextTick: nextTick,
|
|
44
|
+
refs: refs,
|
|
45
|
+
BScroll: BScroll
|
|
46
|
+
}),
|
|
47
|
+
visibleHandle: visibleHandle({
|
|
48
|
+
emit: emit,
|
|
49
|
+
state: state
|
|
20
50
|
}),
|
|
21
|
-
visibleHandle: visibleHandle(emit),
|
|
22
51
|
watchVisible: watchVisible({
|
|
23
52
|
emit: emit,
|
|
24
53
|
props: props,
|
|
25
54
|
state: state
|
|
55
|
+
}),
|
|
56
|
+
menuHandle: menuHandle({
|
|
57
|
+
state: state,
|
|
58
|
+
emit: emit
|
|
26
59
|
})
|
|
27
60
|
});
|
|
28
61
|
return api;
|
package/anchor/index.js
ADDED
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { addClass, removeClass } from '@opentiny/vue-renderless/common/deps/dom';
|
|
2
|
+
var setFixAnchor = function setFixAnchor(_ref) {
|
|
3
|
+
var vm = _ref.vm;
|
|
4
|
+
var fixRef = vm.$refs.fixRef;
|
|
5
|
+
if (fixRef) {
|
|
6
|
+
fixRef.style.top = fixRef.offsetTop;
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
var setMarkClass = function setMarkClass(_ref2) {
|
|
10
|
+
var state = _ref2.state,
|
|
11
|
+
props = _ref2.props;
|
|
12
|
+
var scrollContainer = state.scrollContainer;
|
|
13
|
+
var markClass = props.markClass;
|
|
14
|
+
var activeContentEl = scrollContainer.querySelector("".concat(state.currentLink));
|
|
15
|
+
if (markClass) {
|
|
16
|
+
addClass(activeContentEl, markClass);
|
|
17
|
+
setTimeout(function () {
|
|
18
|
+
removeClass(activeContentEl, markClass);
|
|
19
|
+
}, 1000);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var setScrollContainer = function setScrollContainer(_ref3) {
|
|
23
|
+
var state = _ref3.state,
|
|
24
|
+
api = _ref3.api,
|
|
25
|
+
_ref3$cb = _ref3.cb,
|
|
26
|
+
cb = _ref3$cb === void 0 ? null : _ref3$cb;
|
|
27
|
+
var currentContainer = api.getContainer();
|
|
28
|
+
var scrollContainer = state.scrollContainer;
|
|
29
|
+
if (scrollContainer !== currentContainer) {
|
|
30
|
+
removeClass(scrollContainer, 'tiny-anchor-scroll-container');
|
|
31
|
+
state.scrollContainer = currentContainer;
|
|
32
|
+
addClass(currentContainer, 'tiny-anchor-scroll-container');
|
|
33
|
+
cb && cb();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var updateSkidPosition = function updateSkidPosition(_ref4) {
|
|
37
|
+
var vm = _ref4.vm,
|
|
38
|
+
state = _ref4.state,
|
|
39
|
+
emit = _ref4.emit;
|
|
40
|
+
var currentLink = state.currentLink;
|
|
41
|
+
var activeEl = vm.$refs[currentLink];
|
|
42
|
+
var _vm$$refs = vm.$refs,
|
|
43
|
+
skidRef = _vm$$refs.skidRef,
|
|
44
|
+
maskRef = _vm$$refs.maskRef,
|
|
45
|
+
anchorRef = _vm$$refs.anchorRef;
|
|
46
|
+
if (!activeEl || !anchorRef) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
emit('onChange', currentLink);
|
|
50
|
+
var offsetHeight = activeEl.offsetHeight,
|
|
51
|
+
offsetWidth = activeEl.offsetWidth;
|
|
52
|
+
var _activeEl$getBounding = activeEl.getBoundingClientRect(),
|
|
53
|
+
linkTitleClientTop = _activeEl$getBounding.top,
|
|
54
|
+
linkTitleClientLeft = _activeEl$getBounding.left;
|
|
55
|
+
var _anchorRef$getBoundin = anchorRef.getBoundingClientRect(),
|
|
56
|
+
anchorClientTop = _anchorRef$getBoundin.top,
|
|
57
|
+
anchorClientLeft = _anchorRef$getBoundin.left;
|
|
58
|
+
var offsetTop = linkTitleClientTop - anchorClientTop;
|
|
59
|
+
var offsetLeft = linkTitleClientLeft - anchorClientLeft;
|
|
60
|
+
addClass(skidRef, 'tiny-anchor-orbit-skid--active');
|
|
61
|
+
skidRef.style.top = "".concat(offsetTop, "px");
|
|
62
|
+
skidRef.style.height = "".concat(offsetHeight, "px");
|
|
63
|
+
if (maskRef) {
|
|
64
|
+
maskRef.style.top = "".concat(offsetTop, "px");
|
|
65
|
+
maskRef.style.height = "".concat(offsetHeight, "px");
|
|
66
|
+
maskRef.style.maxWidth = "".concat(offsetWidth + offsetLeft, "px");
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
var getCurrentAnchor = function getCurrentAnchor(_ref5) {
|
|
70
|
+
var vm = _ref5.vm,
|
|
71
|
+
state = _ref5.state,
|
|
72
|
+
link = _ref5.link,
|
|
73
|
+
emit = _ref5.emit;
|
|
74
|
+
if (state.currentLink === link) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
state.currentLink = link;
|
|
78
|
+
updateSkidPosition({
|
|
79
|
+
vm: vm,
|
|
80
|
+
state: state,
|
|
81
|
+
emit: emit
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
var addObserver = function addObserver(_ref6) {
|
|
85
|
+
var props = _ref6.props,
|
|
86
|
+
state = _ref6.state;
|
|
87
|
+
var links = props.links;
|
|
88
|
+
var intersectionObserver = state.intersectionObserver;
|
|
89
|
+
var observer = function observer(list) {
|
|
90
|
+
list.forEach(function (item) {
|
|
91
|
+
var link = item.link;
|
|
92
|
+
if (item.children) {
|
|
93
|
+
observer(item.children);
|
|
94
|
+
} else {
|
|
95
|
+
var linkEl = document.querySelector(link);
|
|
96
|
+
linkEl && intersectionObserver.observe(linkEl);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
observer(links);
|
|
101
|
+
};
|
|
102
|
+
var setCurrentHash = function setCurrentHash(state) {
|
|
103
|
+
if (state.currentHash !== location.hash) {
|
|
104
|
+
state.currentHash = location.hash;
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
};
|
|
109
|
+
export var getContainer = function getContainer(_ref7) {
|
|
110
|
+
var props = _ref7.props;
|
|
111
|
+
return function () {
|
|
112
|
+
return props.containerId ? document.querySelector(props.containerId) : document.body;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
export var mounted = function mounted(_ref8) {
|
|
116
|
+
var vm = _ref8.vm,
|
|
117
|
+
state = _ref8.state,
|
|
118
|
+
api = _ref8.api;
|
|
119
|
+
return function () {
|
|
120
|
+
setScrollContainer({
|
|
121
|
+
state: state,
|
|
122
|
+
api: api
|
|
123
|
+
});
|
|
124
|
+
setFixAnchor({
|
|
125
|
+
vm: vm
|
|
126
|
+
});
|
|
127
|
+
api.onItersectionObserver();
|
|
128
|
+
setCurrentHash(state);
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
export var updated = function updated(_ref9) {
|
|
132
|
+
var state = _ref9.state,
|
|
133
|
+
api = _ref9.api;
|
|
134
|
+
return function () {
|
|
135
|
+
var cb = api.onItersectionObserver;
|
|
136
|
+
setScrollContainer({
|
|
137
|
+
state: state,
|
|
138
|
+
api: api,
|
|
139
|
+
cb: cb
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
export var unmounted = function unmounted(_ref10) {
|
|
144
|
+
var state = _ref10.state;
|
|
145
|
+
return function () {
|
|
146
|
+
var intersectionObserver = state.intersectionObserver;
|
|
147
|
+
intersectionObserver.disconnect();
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
export var onItersectionObserver = function onItersectionObserver(_ref11) {
|
|
151
|
+
var vm = _ref11.vm,
|
|
152
|
+
state = _ref11.state,
|
|
153
|
+
props = _ref11.props,
|
|
154
|
+
emit = _ref11.emit;
|
|
155
|
+
return function () {
|
|
156
|
+
state.intersectionObserver = new IntersectionObserver(function (entries) {
|
|
157
|
+
entries.forEach(function (item) {
|
|
158
|
+
var key = item.target.id;
|
|
159
|
+
state.observerLinks[key] = item;
|
|
160
|
+
});
|
|
161
|
+
for (var _i = 0, _Object$values = Object.values(state.observerLinks); _i < _Object$values.length; _i++) {
|
|
162
|
+
var item = _Object$values[_i];
|
|
163
|
+
if (item.isIntersecting && item.intersectionRatio > 0) {
|
|
164
|
+
var link = "#".concat(item.target.id);
|
|
165
|
+
getCurrentAnchor({
|
|
166
|
+
vm: vm,
|
|
167
|
+
state: state,
|
|
168
|
+
link: link,
|
|
169
|
+
emit: emit
|
|
170
|
+
});
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
addObserver({
|
|
176
|
+
props: props,
|
|
177
|
+
state: state
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
export var linkClick = function linkClick(_ref12) {
|
|
182
|
+
var state = _ref12.state,
|
|
183
|
+
vm = _ref12.vm,
|
|
184
|
+
emit = _ref12.emit,
|
|
185
|
+
props = _ref12.props;
|
|
186
|
+
return function (e, item) {
|
|
187
|
+
var link = item.link,
|
|
188
|
+
title = item.title;
|
|
189
|
+
var emitLink = {
|
|
190
|
+
link: link,
|
|
191
|
+
title: title
|
|
192
|
+
};
|
|
193
|
+
emit('linkClick', e, emitLink);
|
|
194
|
+
var isChangeHash = setCurrentHash(state);
|
|
195
|
+
var scrollContainer = state.scrollContainer;
|
|
196
|
+
state.currentLink = link;
|
|
197
|
+
updateSkidPosition({
|
|
198
|
+
vm: vm,
|
|
199
|
+
state: state,
|
|
200
|
+
emit: emit
|
|
201
|
+
});
|
|
202
|
+
setMarkClass({
|
|
203
|
+
state: state,
|
|
204
|
+
props: props
|
|
205
|
+
});
|
|
206
|
+
if (scrollContainer !== document.body && !isChangeHash) {
|
|
207
|
+
var linkEl = scrollContainer.querySelector(item.link);
|
|
208
|
+
var top = linkEl.offsetTop;
|
|
209
|
+
var param = {
|
|
210
|
+
top: top,
|
|
211
|
+
left: 0,
|
|
212
|
+
behavior: 'smooth'
|
|
213
|
+
};
|
|
214
|
+
scrollContainer.scrollTo(param);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
};
|
package/anchor/vue.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { mounted, updated, unmounted, getContainer, linkClick, onItersectionObserver } from './index';
|
|
2
|
+
export var api = ['state', 'getContainer', 'linkClick', 'onItersectionObserver'];
|
|
3
|
+
export var renderless = function renderless(props, _ref, _ref2) {
|
|
4
|
+
var onMounted = _ref.onMounted,
|
|
5
|
+
onUnmounted = _ref.onUnmounted,
|
|
6
|
+
onUpdated = _ref.onUpdated,
|
|
7
|
+
reactive = _ref.reactive;
|
|
8
|
+
var vm = _ref2.vm,
|
|
9
|
+
emit = _ref2.emit;
|
|
10
|
+
var api = {};
|
|
11
|
+
var state = reactive({
|
|
12
|
+
currentLink: '',
|
|
13
|
+
observerLinks: {},
|
|
14
|
+
intersectionObserver: null,
|
|
15
|
+
scrollContainer: null,
|
|
16
|
+
currentHash: ''
|
|
17
|
+
});
|
|
18
|
+
Object.assign(api, {
|
|
19
|
+
state: state,
|
|
20
|
+
mounted: mounted({
|
|
21
|
+
vm: vm,
|
|
22
|
+
state: state,
|
|
23
|
+
api: api
|
|
24
|
+
}),
|
|
25
|
+
updated: updated({
|
|
26
|
+
state: state,
|
|
27
|
+
api: api
|
|
28
|
+
}),
|
|
29
|
+
unmounted: unmounted({
|
|
30
|
+
state: state
|
|
31
|
+
}),
|
|
32
|
+
getContainer: getContainer({
|
|
33
|
+
props: props
|
|
34
|
+
}),
|
|
35
|
+
linkClick: linkClick({
|
|
36
|
+
state: state,
|
|
37
|
+
vm: vm,
|
|
38
|
+
emit: emit,
|
|
39
|
+
props: props
|
|
40
|
+
}),
|
|
41
|
+
onItersectionObserver: onItersectionObserver({
|
|
42
|
+
vm: vm,
|
|
43
|
+
state: state,
|
|
44
|
+
props: props,
|
|
45
|
+
emit: emit
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
onMounted(api.mounted);
|
|
49
|
+
onUpdated(api.updated);
|
|
50
|
+
onUnmounted(api.unmounted);
|
|
51
|
+
return api;
|
|
52
|
+
};
|
package/carousel-item/index.js
CHANGED
|
@@ -74,7 +74,9 @@ export var handleItemClick = function handleItemClick(parent) {
|
|
|
74
74
|
return function () {
|
|
75
75
|
var vnode = parent.$parent;
|
|
76
76
|
if (vnode && vnode.type === parent.$constants.TYPE_CARD) {
|
|
77
|
-
var index = vnode.state.items.
|
|
77
|
+
var index = vnode.state.items.findIndex(function (item) {
|
|
78
|
+
return item.$el === parent.$el;
|
|
79
|
+
});
|
|
78
80
|
vnode.setActiveItem(index);
|
|
79
81
|
}
|
|
80
82
|
};
|
package/dropdown/index.js
CHANGED
|
@@ -54,11 +54,13 @@ export var hide = function hide(_ref4) {
|
|
|
54
54
|
export var handleClick = function handleClick(_ref5) {
|
|
55
55
|
var api = _ref5.api,
|
|
56
56
|
props = _ref5.props,
|
|
57
|
-
state = _ref5.state
|
|
57
|
+
state = _ref5.state,
|
|
58
|
+
emit = _ref5.emit;
|
|
58
59
|
return function () {
|
|
59
60
|
if (props.disabled) {
|
|
60
61
|
return;
|
|
61
62
|
}
|
|
63
|
+
emit('handle-click', state.visible);
|
|
62
64
|
state.visible ? api.hide() : api.show();
|
|
63
65
|
};
|
|
64
66
|
};
|
package/dropdown/vue.js
CHANGED
package/dropdown-item/vue.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
1
2
|
import { tagClick, confirm, clickOutside, getOptionStyle, reset, getTitle, bindScroll, toggle, onScroll, open, opened, close, closed, clickItem, clickWrapper, getItemStyle, handleClick } from './index';
|
|
2
3
|
export var api = ['state', 'confirm', 'clickOutside', 'getOptionStyle', 'reset', 'tagClick', 'clickItem', 'clickWrapper', 'toggle', 'open', 'opened', 'close', 'closed', 'handleClick'];
|
|
3
4
|
var initState = function initState(_ref) {
|
|
@@ -110,9 +111,13 @@ export var renderless = function renderless(props, _ref3, _ref4) {
|
|
|
110
111
|
var parent = _ref4.parent,
|
|
111
112
|
emit = _ref4.emit,
|
|
112
113
|
vm = _ref4.vm,
|
|
113
|
-
dispatch = _ref4.dispatch
|
|
114
|
+
dispatch = _ref4.dispatch,
|
|
115
|
+
mode = _ref4.mode;
|
|
114
116
|
var api = {};
|
|
115
117
|
var dropdownMenu = inject('dropdownMenu', null);
|
|
118
|
+
if (mode === 'mobile') {
|
|
119
|
+
dropdownMenu.state.children = [].concat(_toConsumableArray(dropdownMenu.state.children), [vm]);
|
|
120
|
+
}
|
|
116
121
|
parent = parent.$parent;
|
|
117
122
|
var state = initState({
|
|
118
123
|
reactive: reactive,
|
package/dropdown-menu/vue.js
CHANGED
|
@@ -2,10 +2,12 @@ import { toggleItem, updateOffset, clickOutside, getScroller, useVuePopper } fro
|
|
|
2
2
|
export var api = ['state', 'toggleItem', 'updateOffset', 'clickOutside', 'doDestroy'];
|
|
3
3
|
export var renderless = function renderless(props, hooks, instance) {
|
|
4
4
|
var api = {};
|
|
5
|
-
var reactive = hooks.reactive
|
|
5
|
+
var reactive = hooks.reactive,
|
|
6
|
+
provide = hooks.provide;
|
|
6
7
|
var refs = instance.refs,
|
|
7
8
|
nextTick = instance.nextTick,
|
|
8
|
-
mode = instance.mode
|
|
9
|
+
mode = instance.mode,
|
|
10
|
+
vm = instance.vm;
|
|
9
11
|
var state = reactive({
|
|
10
12
|
offset: 0,
|
|
11
13
|
scroller: null,
|
|
@@ -14,6 +16,7 @@ export var renderless = function renderless(props, hooks, instance) {
|
|
|
14
16
|
showPopper: false
|
|
15
17
|
});
|
|
16
18
|
if (mode === 'mobile') {
|
|
19
|
+
provide('dropdownMenu', vm);
|
|
17
20
|
nextTick(function () {
|
|
18
21
|
state.scroller = getScroller(refs.menu);
|
|
19
22
|
});
|