@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 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
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
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 { doubleRaf, toPxNum } from '../utils/elements';
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.handleClick && _ctx.handleClick(...arguments);
15
+ return _ctx.handleHostClick && _ctx.handleHostClick(...arguments);
26
16
  }),
27
17
  onMouseenter: _cache[4] || (_cache[4] = function () {
28
- return _ctx.handleMouseenter && _ctx.handleMouseenter(...arguments);
18
+ return _ctx.handleHostMouseenter && _ctx.handleHostMouseenter(...arguments);
29
19
  }),
30
20
  onMouseleave: _cache[5] || (_cache[5] = function () {
31
- return _ctx.handleMouseleave && _ctx.handleMouseleave(...arguments);
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: "menu",
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.handleMenuMouseenter && _ctx.handleMenuMouseenter(...arguments);
38
+ return _ctx.handlePopoverMouseenter && _ctx.handlePopoverMouseenter(...arguments);
49
39
  }),
50
40
  onMouseleave: _cache[2] || (_cache[2] = function () {
51
- return _ctx.handleMenuMouseleave && _ctx.handleMenuMouseleave(...arguments);
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
- zIndex
78
- } = useZIndex(() => show.value, 1);
79
- var popover = null;
80
- var clickSelf = false;
81
- var enterMenu = false;
82
- var enterHost = false;
83
- var hostSize = {
84
- width: 0,
85
- height: 0
86
- };
87
-
88
- var computeHostSize = () => {
89
- var {
90
- width,
91
- height
92
- } = window.getComputedStyle(host.value);
93
- hostSize = {
94
- width: toPxNum(width),
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
- menu,
83
+ popover,
355
84
  host,
356
85
  hostSize,
357
86
  show,
358
87
  zIndex,
359
88
  n,
360
89
  classes,
361
- handleClick,
362
- handleMenuClose,
363
- handleMouseenter,
364
- handleMouseleave,
365
- handleMenuMouseenter,
366
- handleMenuMouseleave,
90
+ handleHostClick,
91
+ handleHostMouseenter,
92
+ handleHostMouseleave,
93
+ handlePopoverMouseenter,
94
+ handlePopoverMouseleave,
95
+ handlePopoverClose,
367
96
  resize,
368
97
  open,
369
98
  close