@varlet/ui 2.4.3-alpha.1672163803050 → 2.5.0-alpha.1672507748593
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/es/index.js +5 -0
- package/es/menu/Menu.js +34 -305
- package/es/menu/usePopover.js +312 -0
- package/es/option/option.css +1 -1
- package/es/select/Select.js +15 -6
- package/es/select/select.css +1 -1
- package/es/style.css +1 -1
- package/es/style.js +1 -0
- package/es/tabs/Tabs.js +2 -2
- package/es/tooltip/Tooltip.js +111 -0
- package/es/tooltip/TooltipSfc.css +0 -0
- package/es/tooltip/index.js +8 -0
- package/es/tooltip/props.js +62 -0
- package/es/tooltip/style/index.js +3 -0
- package/es/tooltip/tooltip.css +1 -0
- package/es/umdIndex.js +5 -0
- package/es/varlet.esm.js +4637 -4409
- package/highlight/attributes.json +40 -0
- package/highlight/tags.json +14 -0
- package/highlight/web-types.json +127 -0
- package/lib/index.js +3 -0
- package/lib/menu/Menu.js +32 -309
- package/lib/menu/usePopover.js +326 -0
- package/lib/option/option.css +1 -1
- package/lib/select/Select.js +15 -6
- package/lib/select/select.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.js +1 -0
- package/lib/tabs/Tabs.js +2 -2
- package/lib/tooltip/Tooltip.js +124 -0
- package/lib/tooltip/TooltipSfc.css +0 -0
- package/lib/tooltip/index.js +17 -0
- package/lib/tooltip/props.js +68 -0
- package/lib/tooltip/style/index.js +3 -0
- package/lib/tooltip/tooltip.css +1 -0
- package/package.json +5 -5
- package/types/index.d.ts +2 -0
- package/types/loading.d.ts +1 -1
- package/types/select.d.ts +1 -0
- package/types/tooltip.d.ts +46 -0
- package/umd/varlet.js +7 -7
package/es/index.js
CHANGED
|
@@ -68,6 +68,7 @@ import Tabs, * as TabsModule from './tabs'
|
|
|
68
68
|
import TabsItems, * as TabsItemsModule from './tabs-items'
|
|
69
69
|
import Themes, * as ThemesModule from './themes'
|
|
70
70
|
import TimePicker, * as TimePickerModule from './time-picker'
|
|
71
|
+
import Tooltip, * as TooltipModule from './tooltip'
|
|
71
72
|
import Uploader, * as UploaderModule from './uploader'
|
|
72
73
|
|
|
73
74
|
export const _ActionSheetComponent = ActionSheetModule._ActionSheetComponent || {}
|
|
@@ -140,6 +141,7 @@ export const _TabsComponent = TabsModule._TabsComponent || {}
|
|
|
140
141
|
export const _TabsItemsComponent = TabsItemsModule._TabsItemsComponent || {}
|
|
141
142
|
export const _ThemesComponent = ThemesModule._ThemesComponent || {}
|
|
142
143
|
export const _TimePickerComponent = TimePickerModule._TimePickerComponent || {}
|
|
144
|
+
export const _TooltipComponent = TooltipModule._TooltipComponent || {}
|
|
143
145
|
export const _UploaderComponent = UploaderModule._UploaderComponent || {}
|
|
144
146
|
|
|
145
147
|
|
|
@@ -214,6 +216,7 @@ function install(app) {
|
|
|
214
216
|
TabsItems.install && app.use(TabsItems)
|
|
215
217
|
Themes.install && app.use(Themes)
|
|
216
218
|
TimePicker.install && app.use(TimePicker)
|
|
219
|
+
Tooltip.install && app.use(Tooltip)
|
|
217
220
|
Uploader.install && app.use(Uploader)
|
|
218
221
|
}
|
|
219
222
|
|
|
@@ -289,6 +292,7 @@ export {
|
|
|
289
292
|
TabsItems,
|
|
290
293
|
Themes,
|
|
291
294
|
TimePicker,
|
|
295
|
+
Tooltip,
|
|
292
296
|
Uploader
|
|
293
297
|
}
|
|
294
298
|
|
|
@@ -364,5 +368,6 @@ export default {
|
|
|
364
368
|
TabsItems,
|
|
365
369
|
Themes,
|
|
366
370
|
TimePicker,
|
|
371
|
+
Tooltip,
|
|
367
372
|
Uploader
|
|
368
373
|
}
|
package/es/menu/Menu.js
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
-
|
|
5
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
6
|
-
|
|
7
|
-
import flip from '@popperjs/core/lib/modifiers/flip';
|
|
8
|
-
import offset from '@popperjs/core/lib/modifiers/offset';
|
|
9
|
-
import { createPopper } from '@popperjs/core/lib/popper-lite';
|
|
10
|
-
import { call, createNamespace } from '../utils/components';
|
|
11
|
-
import { defineComponent, onMounted, onUnmounted, ref, watch } from 'vue';
|
|
1
|
+
import { createNamespace } from '../utils/components';
|
|
2
|
+
import { defineComponent } from 'vue';
|
|
12
3
|
import { props } from './props';
|
|
13
|
-
import {
|
|
14
|
-
import { useZIndex } from '../context/zIndex';
|
|
4
|
+
import { usePopover } from './usePopover';
|
|
15
5
|
var {
|
|
16
6
|
n,
|
|
17
7
|
classes
|
|
@@ -22,13 +12,13 @@ export function render(_ctx, _cache) {
|
|
|
22
12
|
ref: "host",
|
|
23
13
|
class: _normalizeClass(_ctx.n()),
|
|
24
14
|
onClick: _cache[3] || (_cache[3] = function () {
|
|
25
|
-
return _ctx.
|
|
15
|
+
return _ctx.handleHostClick && _ctx.handleHostClick(...arguments);
|
|
26
16
|
}),
|
|
27
17
|
onMouseenter: _cache[4] || (_cache[4] = function () {
|
|
28
|
-
return _ctx.
|
|
18
|
+
return _ctx.handleHostMouseenter && _ctx.handleHostMouseenter(...arguments);
|
|
29
19
|
}),
|
|
30
20
|
onMouseleave: _cache[5] || (_cache[5] = function () {
|
|
31
|
-
return _ctx.
|
|
21
|
+
return _ctx.handleHostMouseleave && _ctx.handleHostMouseleave(...arguments);
|
|
32
22
|
})
|
|
33
23
|
}, [_renderSlot(_ctx.$slots, "default"), (_openBlock(), _createBlock(_Teleport, {
|
|
34
24
|
to: _ctx.teleport
|
|
@@ -38,17 +28,17 @@ export function render(_ctx, _cache) {
|
|
|
38
28
|
onAfterLeave: _ctx.onClosed
|
|
39
29
|
}, {
|
|
40
30
|
default: _withCtx(() => [_withDirectives(_createElementVNode("div", {
|
|
41
|
-
ref: "
|
|
31
|
+
ref: "popover",
|
|
42
32
|
style: _normalizeStyle({
|
|
43
33
|
zIndex: _ctx.zIndex
|
|
44
34
|
}),
|
|
45
35
|
class: _normalizeClass(_ctx.classes(_ctx.n('menu'), [_ctx.defaultStyle, _ctx.n('--menu-background-color') + " " + _ctx.n('$-elevation--3')])),
|
|
46
36
|
onClick: _cache[0] || (_cache[0] = _withModifiers(() => {}, ["stop"])),
|
|
47
37
|
onMouseenter: _cache[1] || (_cache[1] = function () {
|
|
48
|
-
return _ctx.
|
|
38
|
+
return _ctx.handlePopoverMouseenter && _ctx.handlePopoverMouseenter(...arguments);
|
|
49
39
|
}),
|
|
50
40
|
onMouseleave: _cache[2] || (_cache[2] = function () {
|
|
51
|
-
return _ctx.
|
|
41
|
+
return _ctx.handlePopoverMouseleave && _ctx.handlePopoverMouseleave(...arguments);
|
|
52
42
|
})
|
|
53
43
|
}, [_renderSlot(_ctx.$slots, "menu")], 38
|
|
54
44
|
/* CLASS, STYLE, HYDRATE_EVENTS */
|
|
@@ -70,300 +60,39 @@ export default defineComponent({
|
|
|
70
60
|
props,
|
|
71
61
|
|
|
72
62
|
setup(props) {
|
|
73
|
-
var host = ref(null);
|
|
74
|
-
var menu = ref(null);
|
|
75
|
-
var show = ref(false);
|
|
76
63
|
var {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
height: toPxNum(height)
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
var handleMouseenter = () => {
|
|
100
|
-
if (props.trigger !== 'hover') {
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
enterHost = true;
|
|
105
|
-
open();
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
var handleMouseleave = /*#__PURE__*/function () {
|
|
109
|
-
var _ref = _asyncToGenerator(function* () {
|
|
110
|
-
if (props.trigger !== 'hover') {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
enterHost = false;
|
|
115
|
-
yield doubleRaf();
|
|
116
|
-
|
|
117
|
-
if (enterMenu) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
close();
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
return function handleMouseleave() {
|
|
125
|
-
return _ref.apply(this, arguments);
|
|
126
|
-
};
|
|
127
|
-
}();
|
|
128
|
-
|
|
129
|
-
var handleMenuMouseenter = () => {
|
|
130
|
-
if (props.trigger !== 'hover') {
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
enterMenu = true;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
var handleMenuMouseleave = /*#__PURE__*/function () {
|
|
138
|
-
var _ref2 = _asyncToGenerator(function* () {
|
|
139
|
-
if (props.trigger !== 'hover') {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
enterMenu = false;
|
|
144
|
-
yield doubleRaf();
|
|
145
|
-
|
|
146
|
-
if (enterHost) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
close();
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
return function handleMenuMouseleave() {
|
|
154
|
-
return _ref2.apply(this, arguments);
|
|
155
|
-
};
|
|
156
|
-
}();
|
|
157
|
-
|
|
158
|
-
var handleClick = () => {
|
|
159
|
-
open();
|
|
160
|
-
clickSelf = true;
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
var handleMenuClose = () => {
|
|
164
|
-
if (clickSelf) {
|
|
165
|
-
clickSelf = false;
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
show.value = false;
|
|
170
|
-
call(props['onUpdate:show'], false);
|
|
171
|
-
};
|
|
172
|
-
|
|
173
|
-
var getPosition = () => {
|
|
174
|
-
computeHostSize();
|
|
175
|
-
var offset = {
|
|
176
|
-
x: toPxNum(props.offsetX),
|
|
177
|
-
y: toPxNum(props.offsetY)
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
switch (props.placement) {
|
|
181
|
-
case 'cover-top':
|
|
182
|
-
return {
|
|
183
|
-
placement: 'bottom',
|
|
184
|
-
skidding: offset.x,
|
|
185
|
-
distance: offset.y - hostSize.height
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
case 'cover-top-start':
|
|
189
|
-
return {
|
|
190
|
-
placement: 'bottom-start',
|
|
191
|
-
skidding: offset.x,
|
|
192
|
-
distance: offset.y - hostSize.height
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
case 'cover-top-end':
|
|
196
|
-
return {
|
|
197
|
-
placement: 'bottom-end',
|
|
198
|
-
skidding: offset.x,
|
|
199
|
-
distance: offset.y - hostSize.height
|
|
200
|
-
};
|
|
201
|
-
|
|
202
|
-
case 'cover-bottom':
|
|
203
|
-
return {
|
|
204
|
-
placement: 'top',
|
|
205
|
-
skidding: offset.x,
|
|
206
|
-
distance: -offset.y - hostSize.height
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
case 'cover-bottom-start':
|
|
210
|
-
return {
|
|
211
|
-
placement: 'top-start',
|
|
212
|
-
skidding: offset.x,
|
|
213
|
-
distance: -offset.y - hostSize.height
|
|
214
|
-
};
|
|
215
|
-
|
|
216
|
-
case 'cover-bottom-end':
|
|
217
|
-
return {
|
|
218
|
-
placement: 'top-end',
|
|
219
|
-
skidding: offset.x,
|
|
220
|
-
distance: -offset.y - hostSize.height
|
|
221
|
-
};
|
|
222
|
-
|
|
223
|
-
case 'cover-left':
|
|
224
|
-
return {
|
|
225
|
-
placement: 'right',
|
|
226
|
-
skidding: offset.y,
|
|
227
|
-
distance: offset.x - hostSize.width
|
|
228
|
-
};
|
|
229
|
-
|
|
230
|
-
case 'cover-right':
|
|
231
|
-
return {
|
|
232
|
-
placement: 'left',
|
|
233
|
-
skidding: offset.y,
|
|
234
|
-
distance: -offset.x - hostSize.width
|
|
235
|
-
};
|
|
236
|
-
|
|
237
|
-
case 'left':
|
|
238
|
-
case 'left-start':
|
|
239
|
-
case 'left-end':
|
|
240
|
-
return {
|
|
241
|
-
placement: props.placement,
|
|
242
|
-
skidding: offset.y,
|
|
243
|
-
distance: -offset.x
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
case 'top':
|
|
247
|
-
case 'top-start':
|
|
248
|
-
case 'top-end':
|
|
249
|
-
return {
|
|
250
|
-
placement: props.placement,
|
|
251
|
-
skidding: offset.x,
|
|
252
|
-
distance: -offset.y
|
|
253
|
-
};
|
|
254
|
-
|
|
255
|
-
case 'bottom':
|
|
256
|
-
case 'bottom-start':
|
|
257
|
-
case 'bottom-end':
|
|
258
|
-
return {
|
|
259
|
-
placement: props.placement,
|
|
260
|
-
skidding: offset.x,
|
|
261
|
-
distance: offset.y
|
|
262
|
-
};
|
|
263
|
-
|
|
264
|
-
case 'right':
|
|
265
|
-
case 'right-start':
|
|
266
|
-
case 'right-end':
|
|
267
|
-
return {
|
|
268
|
-
placement: props.placement,
|
|
269
|
-
skidding: offset.y,
|
|
270
|
-
distance: offset.x
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
};
|
|
274
|
-
|
|
275
|
-
var getPopperOptions = () => {
|
|
276
|
-
var {
|
|
277
|
-
placement,
|
|
278
|
-
skidding,
|
|
279
|
-
distance
|
|
280
|
-
} = getPosition();
|
|
281
|
-
return {
|
|
282
|
-
placement,
|
|
283
|
-
modifiers: [_extends({}, flip, {
|
|
284
|
-
enabled: show.value
|
|
285
|
-
}), _extends({}, offset, {
|
|
286
|
-
options: {
|
|
287
|
-
offset: [skidding, distance]
|
|
288
|
-
}
|
|
289
|
-
})]
|
|
290
|
-
};
|
|
291
|
-
}; // expose
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
var resize = () => {
|
|
295
|
-
popover.setOptions(getPopperOptions());
|
|
296
|
-
}; // expose
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
var open = () => {
|
|
300
|
-
var {
|
|
301
|
-
disabled
|
|
302
|
-
} = props;
|
|
303
|
-
|
|
304
|
-
if (disabled) {
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
show.value = true;
|
|
309
|
-
call(props['onUpdate:show'], true);
|
|
310
|
-
}; // expose
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
var close = () => {
|
|
314
|
-
show.value = false;
|
|
315
|
-
call(props['onUpdate:show'], false);
|
|
316
|
-
};
|
|
317
|
-
|
|
318
|
-
watch(() => props.show, newValue => {
|
|
319
|
-
show.value = newValue != null ? newValue : false;
|
|
320
|
-
}, {
|
|
321
|
-
immediate: true
|
|
322
|
-
});
|
|
323
|
-
watch(() => props.offsetX, resize);
|
|
324
|
-
watch(() => props.offsetY, resize);
|
|
325
|
-
watch(() => props.placement, resize);
|
|
326
|
-
watch(() => show.value, newValue => {
|
|
327
|
-
if (newValue) {
|
|
328
|
-
resize();
|
|
329
|
-
call(props.onOpen);
|
|
330
|
-
} else {
|
|
331
|
-
call(props.onClose);
|
|
332
|
-
}
|
|
333
|
-
});
|
|
334
|
-
watch(() => props.trigger, newValue => {
|
|
335
|
-
if (newValue === 'click') {
|
|
336
|
-
document.addEventListener('click', handleMenuClose);
|
|
337
|
-
} else {
|
|
338
|
-
document.removeEventListener('click', handleMenuClose);
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
watch(() => props.disabled, close);
|
|
342
|
-
onMounted(() => {
|
|
343
|
-
popover = createPopper(host.value, menu.value, getPopperOptions());
|
|
344
|
-
|
|
345
|
-
if (props.trigger === 'click') {
|
|
346
|
-
document.addEventListener('click', handleMenuClose);
|
|
347
|
-
}
|
|
348
|
-
});
|
|
349
|
-
onUnmounted(() => {
|
|
350
|
-
document.removeEventListener('click', handleMenuClose);
|
|
351
|
-
popover.destroy();
|
|
352
|
-
});
|
|
64
|
+
popover,
|
|
65
|
+
host,
|
|
66
|
+
hostSize,
|
|
67
|
+
show,
|
|
68
|
+
zIndex,
|
|
69
|
+
handleHostClick,
|
|
70
|
+
handleHostMouseenter,
|
|
71
|
+
handleHostMouseleave,
|
|
72
|
+
handlePopoverMouseenter,
|
|
73
|
+
handlePopoverMouseleave,
|
|
74
|
+
handlePopoverClose,
|
|
75
|
+
// expose
|
|
76
|
+
open,
|
|
77
|
+
// expose
|
|
78
|
+
close,
|
|
79
|
+
// expose
|
|
80
|
+
resize
|
|
81
|
+
} = usePopover(props);
|
|
353
82
|
return {
|
|
354
|
-
|
|
83
|
+
popover,
|
|
355
84
|
host,
|
|
356
85
|
hostSize,
|
|
357
86
|
show,
|
|
358
87
|
zIndex,
|
|
359
88
|
n,
|
|
360
89
|
classes,
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
90
|
+
handleHostClick,
|
|
91
|
+
handleHostMouseenter,
|
|
92
|
+
handleHostMouseleave,
|
|
93
|
+
handlePopoverMouseenter,
|
|
94
|
+
handlePopoverMouseleave,
|
|
95
|
+
handlePopoverClose,
|
|
367
96
|
resize,
|
|
368
97
|
open,
|
|
369
98
|
close
|