@vueuse/components 6.3.1 → 6.4.1
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/index.cjs +37 -14
- package/index.d.ts +88 -40
- package/index.iife.js +37 -14
- package/index.iife.min.js +1 -1
- package/index.mjs +38 -16
- package/package.json +3 -3
package/index.cjs
CHANGED
|
@@ -8,6 +8,7 @@ var shared = require('@vueuse/shared');
|
|
|
8
8
|
|
|
9
9
|
const OnClickOutside = vueDemi.defineComponent({
|
|
10
10
|
name: 'OnClickOutside',
|
|
11
|
+
props: ['as'],
|
|
11
12
|
emits: ['trigger'],
|
|
12
13
|
setup(props, { slots, emit }) {
|
|
13
14
|
const target = vueDemi.ref();
|
|
@@ -16,7 +17,7 @@ const OnClickOutside = vueDemi.defineComponent({
|
|
|
16
17
|
});
|
|
17
18
|
return () => {
|
|
18
19
|
if (slots.default)
|
|
19
|
-
return vueDemi.h('div', { ref: target }, slots.default());
|
|
20
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default());
|
|
20
21
|
};
|
|
21
22
|
},
|
|
22
23
|
});
|
|
@@ -216,6 +217,7 @@ const UseDraggable = vueDemi.defineComponent({
|
|
|
216
217
|
'exact',
|
|
217
218
|
'preventDefault',
|
|
218
219
|
'pointerTypes',
|
|
220
|
+
'as',
|
|
219
221
|
],
|
|
220
222
|
setup(props, { slots }) {
|
|
221
223
|
const target = vueDemi.ref();
|
|
@@ -225,20 +227,20 @@ const UseDraggable = vueDemi.defineComponent({
|
|
|
225
227
|
const data = vueDemi.reactive(core.useDraggable(target, Object.assign(Object.assign({}, props), { initialValue })));
|
|
226
228
|
return () => {
|
|
227
229
|
if (slots.default)
|
|
228
|
-
return vueDemi.h('div', { ref: target, style: data.style }, slots.default(data));
|
|
230
|
+
return vueDemi.h(props.as || 'div', { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));
|
|
229
231
|
};
|
|
230
232
|
},
|
|
231
233
|
});
|
|
232
234
|
|
|
233
235
|
const UseElementBounding = vueDemi.defineComponent({
|
|
234
236
|
name: 'UseElementBounding',
|
|
235
|
-
props: ['box'],
|
|
237
|
+
props: ['box', 'as'],
|
|
236
238
|
setup(props, { slots }) {
|
|
237
239
|
const target = vueDemi.ref();
|
|
238
|
-
const data = vueDemi.reactive(core.useElementBounding(target, props));
|
|
240
|
+
const data = vueDemi.reactive(core.useElementBounding(target, { box: props.box, window: props.window }));
|
|
239
241
|
return () => {
|
|
240
242
|
if (slots.default)
|
|
241
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
243
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
242
244
|
};
|
|
243
245
|
},
|
|
244
246
|
});
|
|
@@ -251,13 +253,14 @@ const UseElementSize = vueDemi.defineComponent({
|
|
|
251
253
|
const data = vueDemi.reactive(core.useElementSize(target, { width: props.width, height: props.height }, { box: props.box }));
|
|
252
254
|
return () => {
|
|
253
255
|
if (slots.default)
|
|
254
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
256
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
255
257
|
};
|
|
256
258
|
},
|
|
257
259
|
});
|
|
258
260
|
|
|
259
261
|
const UseElementVisibility = vueDemi.defineComponent({
|
|
260
262
|
name: 'UseElementVisibility',
|
|
263
|
+
as: ['as'],
|
|
261
264
|
setup(props, { slots }) {
|
|
262
265
|
const target = vueDemi.ref();
|
|
263
266
|
const data = vueDemi.reactive({
|
|
@@ -265,19 +268,20 @@ const UseElementVisibility = vueDemi.defineComponent({
|
|
|
265
268
|
});
|
|
266
269
|
return () => {
|
|
267
270
|
if (slots.default)
|
|
268
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
271
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
269
272
|
};
|
|
270
273
|
},
|
|
271
274
|
});
|
|
272
275
|
|
|
273
276
|
const UseFullscreen = vueDemi.defineComponent({
|
|
274
277
|
name: 'UseFullscreen',
|
|
278
|
+
props: ['as'],
|
|
275
279
|
setup(props, { slots }) {
|
|
276
280
|
const target = vueDemi.ref();
|
|
277
281
|
const data = vueDemi.reactive(core.useFullscreen(target));
|
|
278
282
|
return () => {
|
|
279
283
|
if (slots.default)
|
|
280
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
284
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
281
285
|
};
|
|
282
286
|
},
|
|
283
287
|
});
|
|
@@ -320,26 +324,26 @@ const UseMouse = vueDemi.defineComponent({
|
|
|
320
324
|
|
|
321
325
|
const UseMouseInElement = vueDemi.defineComponent({
|
|
322
326
|
name: 'UseMouseElement',
|
|
323
|
-
props: ['handleOutside'],
|
|
327
|
+
props: ['handleOutside', 'as'],
|
|
324
328
|
setup(props, { slots }) {
|
|
325
329
|
const target = vueDemi.ref();
|
|
326
330
|
const data = vueDemi.reactive(core.useMouseInElement(target, props));
|
|
327
331
|
return () => {
|
|
328
332
|
if (slots.default)
|
|
329
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
333
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
330
334
|
};
|
|
331
335
|
},
|
|
332
336
|
});
|
|
333
337
|
|
|
334
338
|
const UseMousePressed = vueDemi.defineComponent({
|
|
335
339
|
name: 'UseMousePressed',
|
|
336
|
-
props: ['touch', 'initialValue'],
|
|
340
|
+
props: ['touch', 'initialValue', 'as'],
|
|
337
341
|
setup(props, { slots }) {
|
|
338
342
|
const target = vueDemi.ref();
|
|
339
343
|
const data = vueDemi.reactive(core.useMousePressed(Object.assign(Object.assign({}, props), { target })));
|
|
340
344
|
return () => {
|
|
341
345
|
if (slots.default)
|
|
342
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
346
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
343
347
|
};
|
|
344
348
|
},
|
|
345
349
|
});
|
|
@@ -398,12 +402,14 @@ const UsePointer = vueDemi.defineComponent({
|
|
|
398
402
|
props: [
|
|
399
403
|
'pointerTypes',
|
|
400
404
|
'initialValue',
|
|
405
|
+
'target',
|
|
401
406
|
],
|
|
402
407
|
setup(props, { slots }) {
|
|
403
|
-
const
|
|
408
|
+
const el = vueDemi.ref(null);
|
|
409
|
+
const data = vueDemi.reactive(core.usePointer(Object.assign(Object.assign({}, props), { target: props.target === 'self' ? el : defaultWindow })));
|
|
404
410
|
return () => {
|
|
405
411
|
if (slots.default)
|
|
406
|
-
return slots.default(data);
|
|
412
|
+
return slots.default(data, { ref: el });
|
|
407
413
|
};
|
|
408
414
|
},
|
|
409
415
|
});
|
|
@@ -472,6 +478,22 @@ const UseTimestamp = vueDemi.defineComponent({
|
|
|
472
478
|
},
|
|
473
479
|
});
|
|
474
480
|
|
|
481
|
+
const UseVirtualList = vueDemi.defineComponent({
|
|
482
|
+
name: 'UseVirtualList',
|
|
483
|
+
props: [
|
|
484
|
+
'list',
|
|
485
|
+
'options',
|
|
486
|
+
'height',
|
|
487
|
+
],
|
|
488
|
+
setup(props, { slots }) {
|
|
489
|
+
const { list, containerProps, wrapperProps } = core.useVirtualList(props.list, props.options);
|
|
490
|
+
containerProps.style.height = props.height || '300px';
|
|
491
|
+
return () => vueDemi.h('div', Object.assign({}, containerProps), [
|
|
492
|
+
vueDemi.h('div', Object.assign({}, wrapperProps.value), list.value.map((item) => vueDemi.h('div', { style: { overFlow: 'hidden', height: item.height } }, slots.default ? slots.default(item) : 'Please set content!'))),
|
|
493
|
+
]);
|
|
494
|
+
},
|
|
495
|
+
});
|
|
496
|
+
|
|
475
497
|
const UseWindowFocus = vueDemi.defineComponent({
|
|
476
498
|
name: 'UseWindowFocus',
|
|
477
499
|
setup(props, { slots }) {
|
|
@@ -527,6 +549,7 @@ exports.UsePreferredDark = UsePreferredDark;
|
|
|
527
549
|
exports.UsePreferredLanguages = UsePreferredLanguages;
|
|
528
550
|
exports.UseTimeAgo = UseTimeAgo;
|
|
529
551
|
exports.UseTimestamp = UseTimestamp;
|
|
552
|
+
exports.UseVirtualList = UseVirtualList;
|
|
530
553
|
exports.UseWindowFocus = UseWindowFocus;
|
|
531
554
|
exports.UseWindowSize = UseWindowSize;
|
|
532
555
|
exports.VOnClickOutside = VOnClickOutside;
|
package/index.d.ts
CHANGED
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
import * as vue_demi from 'vue-demi';
|
|
2
2
|
import { FunctionDirective } from 'vue-demi';
|
|
3
3
|
import * as _vueuse_core from '@vueuse/core';
|
|
4
|
-
import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize, GeolocationOptions, IdleOptions, MouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, UsePointerOptions, TimeAgoOptions, TimestampOptions, WindowSizeOptions } from '@vueuse/core';
|
|
4
|
+
import { UseDarkOptions, UseDevicesListOptions, UseDraggableOptions, ElementSize, GeolocationOptions, IdleOptions, MouseOptions, MouseInElementOptions, MousePressedOptions, UseNowOptions, UsePointerOptions, TimeAgoOptions, TimestampOptions, UseVirtualListOptions, WindowSizeOptions } from '@vueuse/core';
|
|
5
5
|
import { MaybeRef } from '@vueuse/shared';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
interface RenderableComponent {
|
|
8
|
+
/**
|
|
9
|
+
* The elment that the component should be rendered as
|
|
10
|
+
*
|
|
11
|
+
* @default 'div'
|
|
12
|
+
*/
|
|
13
|
+
as?: Object | string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare const OnClickOutside: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
17
|
+
as?: unknown;
|
|
18
|
+
} & {} & {
|
|
19
|
+
as?: string | Object | undefined;
|
|
20
|
+
}>, {}>;
|
|
12
21
|
|
|
13
22
|
interface ConfigurableWindow {
|
|
14
23
|
window?: Window;
|
|
15
24
|
}
|
|
16
25
|
|
|
17
|
-
interface Position {
|
|
18
|
-
x: number;
|
|
19
|
-
y: number;
|
|
20
|
-
}
|
|
21
|
-
declare type PointerType = 'mouse' | 'touch' | 'pen';
|
|
22
|
-
|
|
23
26
|
interface ResizeObserverOptions extends ConfigurableWindow {
|
|
24
27
|
/**
|
|
25
28
|
* Sets which box model the observer will observe changes to. Possible values
|
|
@@ -68,9 +71,9 @@ declare const UseDark: vue_demi.DefineComponent<UseDarkOptions, {}, {}, {}, {},
|
|
|
68
71
|
flush?: "pre" | "post" | "sync" | undefined;
|
|
69
72
|
eventFilter?: _vueuse_core.EventFilter<any[], any> | undefined;
|
|
70
73
|
deep?: boolean | undefined;
|
|
74
|
+
onError?: ((error: unknown) => void) | undefined;
|
|
71
75
|
storage?: _vueuse_core.StorageLike | undefined;
|
|
72
76
|
window?: Window | undefined;
|
|
73
|
-
onError?: ((error: unknown) => void) | undefined;
|
|
74
77
|
listenToStorageChanges?: boolean | undefined;
|
|
75
78
|
serializer?: _vueuse_core.Serializer<_vueuse_core.ColorSchemes> | undefined;
|
|
76
79
|
selector?: string | undefined;
|
|
@@ -107,7 +110,7 @@ declare const UseDocumentVisibility: vue_demi.DefineComponent<{}, () => vue_demi
|
|
|
107
110
|
[key: string]: any;
|
|
108
111
|
}>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
|
|
109
112
|
|
|
110
|
-
interface UseDraggableProps extends UseDraggableOptions {
|
|
113
|
+
interface UseDraggableProps extends UseDraggableOptions, RenderableComponent {
|
|
111
114
|
/**
|
|
112
115
|
* When provided, use `useStorage` to preserve element's position
|
|
113
116
|
*/
|
|
@@ -129,48 +132,55 @@ declare const UseDraggable: vue_demi.DefineComponent<UseDraggableProps, {}, {},
|
|
|
129
132
|
initialValue?: unknown;
|
|
130
133
|
onStart?: unknown;
|
|
131
134
|
onMove?: unknown;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
initialValue?: _vueuse_core.MaybeRef<Position> | undefined;
|
|
135
|
+
as?: unknown;
|
|
136
|
+
} & {} & {
|
|
137
|
+
initialValue?: _vueuse_core.MaybeRef<_vueuse_core.Position> | undefined;
|
|
136
138
|
storageKey?: string | undefined;
|
|
137
|
-
pointerTypes?: PointerType[] | undefined;
|
|
139
|
+
pointerTypes?: _vueuse_core.PointerType[] | undefined;
|
|
138
140
|
preventDefault?: _vueuse_core.MaybeRef<boolean> | undefined;
|
|
141
|
+
as?: string | Object | undefined;
|
|
139
142
|
storageType?: "local" | "session" | undefined;
|
|
140
143
|
exact?: _vueuse_core.MaybeRef<boolean> | undefined;
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}>;
|
|
144
|
+
draggingElement?: _vueuse_core.MaybeRef<Window | Document | HTMLElement | SVGElement | null> | undefined;
|
|
145
|
+
onStart?: ((position: _vueuse_core.Position, event: PointerEvent) => false | void) | undefined;
|
|
146
|
+
onMove?: ((position: _vueuse_core.Position, event: PointerEvent) => void) | undefined;
|
|
147
|
+
}>, {}>;
|
|
146
148
|
|
|
147
|
-
declare const UseElementBounding: vue_demi.DefineComponent<ResizeObserverOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
149
|
+
declare const UseElementBounding: vue_demi.DefineComponent<ResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
148
150
|
box?: unknown;
|
|
149
151
|
window?: unknown;
|
|
152
|
+
as?: unknown;
|
|
150
153
|
} & {} & {
|
|
151
154
|
window?: Window | undefined;
|
|
152
155
|
box?: "content-box" | "border-box" | undefined;
|
|
156
|
+
as?: string | Object | undefined;
|
|
153
157
|
}>, {}>;
|
|
154
158
|
|
|
155
|
-
declare const UseElementSize: vue_demi.DefineComponent<ElementSize & ResizeObserverOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
159
|
+
declare const UseElementSize: vue_demi.DefineComponent<ElementSize & ResizeObserverOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
156
160
|
width?: unknown;
|
|
157
161
|
height?: unknown;
|
|
158
162
|
box?: unknown;
|
|
159
163
|
window?: unknown;
|
|
164
|
+
as?: unknown;
|
|
160
165
|
} & {} & {
|
|
161
166
|
window?: Window | undefined;
|
|
162
167
|
box?: "content-box" | "border-box" | undefined;
|
|
163
168
|
width?: number | undefined;
|
|
164
169
|
height?: number | undefined;
|
|
170
|
+
as?: string | Object | undefined;
|
|
165
171
|
}>, {}>;
|
|
166
172
|
|
|
167
|
-
declare const UseElementVisibility: vue_demi.DefineComponent<{},
|
|
168
|
-
|
|
169
|
-
}
|
|
173
|
+
declare const UseElementVisibility: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
174
|
+
as?: unknown;
|
|
175
|
+
} & {} & {
|
|
176
|
+
as?: string | Object | undefined;
|
|
177
|
+
}>, {}>;
|
|
170
178
|
|
|
171
|
-
declare const UseFullscreen: vue_demi.DefineComponent<{},
|
|
172
|
-
|
|
173
|
-
}
|
|
179
|
+
declare const UseFullscreen: vue_demi.DefineComponent<RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
180
|
+
as?: unknown;
|
|
181
|
+
} & {} & {
|
|
182
|
+
as?: string | Object | undefined;
|
|
183
|
+
}>, {}>;
|
|
174
184
|
|
|
175
185
|
declare const UseGeolocation: vue_demi.DefineComponent<GeolocationOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
176
186
|
enableHighAccuracy?: unknown;
|
|
@@ -208,36 +218,40 @@ declare const UseMouse: vue_demi.DefineComponent<MouseOptions, {}, {}, {}, {}, v
|
|
|
208
218
|
initialValue?: unknown;
|
|
209
219
|
window?: unknown;
|
|
210
220
|
} & {} & {
|
|
211
|
-
initialValue?: Position | undefined;
|
|
221
|
+
initialValue?: _vueuse_core.Position | undefined;
|
|
212
222
|
window?: Window | undefined;
|
|
213
223
|
touch?: boolean | undefined;
|
|
214
224
|
resetOnTouchEnds?: boolean | undefined;
|
|
215
225
|
}>, {}>;
|
|
216
226
|
|
|
217
|
-
declare const UseMouseInElement: vue_demi.DefineComponent<MouseInElementOptions, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
227
|
+
declare const UseMouseInElement: vue_demi.DefineComponent<MouseInElementOptions & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
218
228
|
handleOutside?: unknown;
|
|
219
229
|
touch?: unknown;
|
|
220
230
|
resetOnTouchEnds?: unknown;
|
|
221
231
|
initialValue?: unknown;
|
|
222
232
|
window?: unknown;
|
|
233
|
+
as?: unknown;
|
|
223
234
|
} & {} & {
|
|
224
|
-
initialValue?: Position | undefined;
|
|
235
|
+
initialValue?: _vueuse_core.Position | undefined;
|
|
225
236
|
window?: Window | undefined;
|
|
226
237
|
touch?: boolean | undefined;
|
|
227
238
|
resetOnTouchEnds?: boolean | undefined;
|
|
228
239
|
handleOutside?: boolean | undefined;
|
|
240
|
+
as?: string | Object | undefined;
|
|
229
241
|
}>, {}>;
|
|
230
242
|
|
|
231
|
-
declare const UseMousePressed: vue_demi.DefineComponent<Omit<MousePressedOptions, "target"
|
|
243
|
+
declare const UseMousePressed: vue_demi.DefineComponent<Omit<MousePressedOptions, "target"> & RenderableComponent, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
232
244
|
initialValue?: unknown;
|
|
233
245
|
drag?: unknown;
|
|
234
246
|
window?: unknown;
|
|
235
247
|
touch?: unknown;
|
|
248
|
+
as?: unknown;
|
|
236
249
|
} & {} & {
|
|
237
250
|
initialValue?: boolean | undefined;
|
|
238
251
|
drag?: boolean | undefined;
|
|
239
252
|
window?: Window | undefined;
|
|
240
253
|
touch?: boolean | undefined;
|
|
254
|
+
as?: string | Object | undefined;
|
|
241
255
|
}>, {}>;
|
|
242
256
|
|
|
243
257
|
declare const UseNetwork: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
|
|
@@ -258,14 +272,18 @@ declare const UsePageLeave: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vu
|
|
|
258
272
|
[key: string]: any;
|
|
259
273
|
}>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
|
|
260
274
|
|
|
261
|
-
declare const UsePointer: vue_demi.DefineComponent<UsePointerOptions,
|
|
262
|
-
|
|
275
|
+
declare const UsePointer: vue_demi.DefineComponent<Omit<UsePointerOptions, "target"> & {
|
|
276
|
+
target: 'window' | 'self';
|
|
277
|
+
}, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
263
278
|
initialValue?: unknown;
|
|
264
279
|
window?: unknown;
|
|
280
|
+
pointerTypes?: unknown;
|
|
281
|
+
target?: unknown;
|
|
265
282
|
} & {} & {
|
|
283
|
+
target?: "window" | "self" | undefined;
|
|
266
284
|
initialValue?: _vueuse_core.MaybeRef<Partial<_vueuse_core.UsePointerState>> | undefined;
|
|
267
285
|
window?: Window | undefined;
|
|
268
|
-
pointerTypes?: PointerType[] | undefined;
|
|
286
|
+
pointerTypes?: _vueuse_core.PointerType[] | undefined;
|
|
269
287
|
}>, {}>;
|
|
270
288
|
|
|
271
289
|
declare const UsePreferredColorScheme: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
|
|
@@ -305,6 +323,36 @@ declare const UseTimestamp: vue_demi.DefineComponent<Omit<TimestampOptions<true>
|
|
|
305
323
|
offset?: number | undefined;
|
|
306
324
|
}>, {}>;
|
|
307
325
|
|
|
326
|
+
interface UseVirtualListProps {
|
|
327
|
+
/**
|
|
328
|
+
* data of scrollable list
|
|
329
|
+
*
|
|
330
|
+
* @default []
|
|
331
|
+
*/
|
|
332
|
+
list: Array<any>;
|
|
333
|
+
/**
|
|
334
|
+
* useVirtualList's options
|
|
335
|
+
*
|
|
336
|
+
* @default {}
|
|
337
|
+
*/
|
|
338
|
+
options: UseVirtualListOptions;
|
|
339
|
+
/**
|
|
340
|
+
* virtualList's height
|
|
341
|
+
*
|
|
342
|
+
* @default 300px
|
|
343
|
+
*/
|
|
344
|
+
height: string;
|
|
345
|
+
}
|
|
346
|
+
declare const UseVirtualList: vue_demi.DefineComponent<UseVirtualListProps, {}, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{
|
|
347
|
+
list?: unknown;
|
|
348
|
+
options?: unknown;
|
|
349
|
+
height?: unknown;
|
|
350
|
+
} & {} & {
|
|
351
|
+
options?: UseVirtualListOptions | undefined;
|
|
352
|
+
height?: string | undefined;
|
|
353
|
+
list?: any;
|
|
354
|
+
}>, {}>;
|
|
355
|
+
|
|
308
356
|
declare const UseWindowFocus: vue_demi.DefineComponent<{}, () => vue_demi.VNode<vue_demi.RendererNode, vue_demi.RendererElement, {
|
|
309
357
|
[key: string]: any;
|
|
310
358
|
}>[] | undefined, {}, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, vue_demi.EmitsOptions, string, vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, Readonly<{} & {} & {}>, {}>;
|
|
@@ -319,4 +367,4 @@ declare const UseWindowSize: vue_demi.DefineComponent<WindowSizeOptions, {}, {},
|
|
|
319
367
|
initialHeight?: number | undefined;
|
|
320
368
|
}>, {}>;
|
|
321
369
|
|
|
322
|
-
export { OnClickOutside, UseActiveElement, UseBattery, UseBrowserLocation, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseTimeAgo, UseTimestamp, UseWindowFocus, UseWindowSize, VOnClickOutside };
|
|
370
|
+
export { OnClickOutside, UseActiveElement, UseBattery, UseBrowserLocation, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseDraggableProps, UseElementBounding, UseElementSize, UseElementVisibility, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseTimeAgo, UseTimestamp, UseVirtualList, UseVirtualListProps, UseWindowFocus, UseWindowSize, VOnClickOutside };
|
package/index.iife.js
CHANGED
|
@@ -64,6 +64,7 @@
|
|
|
64
64
|
|
|
65
65
|
const OnClickOutside = vueDemi.defineComponent({
|
|
66
66
|
name: 'OnClickOutside',
|
|
67
|
+
props: ['as'],
|
|
67
68
|
emits: ['trigger'],
|
|
68
69
|
setup(props, { slots, emit }) {
|
|
69
70
|
const target = vueDemi.ref();
|
|
@@ -72,7 +73,7 @@
|
|
|
72
73
|
});
|
|
73
74
|
return () => {
|
|
74
75
|
if (slots.default)
|
|
75
|
-
return vueDemi.h('div', { ref: target }, slots.default());
|
|
76
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default());
|
|
76
77
|
};
|
|
77
78
|
},
|
|
78
79
|
});
|
|
@@ -272,6 +273,7 @@
|
|
|
272
273
|
'exact',
|
|
273
274
|
'preventDefault',
|
|
274
275
|
'pointerTypes',
|
|
276
|
+
'as',
|
|
275
277
|
],
|
|
276
278
|
setup(props, { slots }) {
|
|
277
279
|
const target = vueDemi.ref();
|
|
@@ -281,20 +283,20 @@
|
|
|
281
283
|
const data = vueDemi.reactive(core.useDraggable(target, Object.assign(Object.assign({}, props), { initialValue })));
|
|
282
284
|
return () => {
|
|
283
285
|
if (slots.default)
|
|
284
|
-
return vueDemi.h('div', { ref: target, style: data.style }, slots.default(data));
|
|
286
|
+
return vueDemi.h(props.as || 'div', { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));
|
|
285
287
|
};
|
|
286
288
|
},
|
|
287
289
|
});
|
|
288
290
|
|
|
289
291
|
const UseElementBounding = vueDemi.defineComponent({
|
|
290
292
|
name: 'UseElementBounding',
|
|
291
|
-
props: ['box'],
|
|
293
|
+
props: ['box', 'as'],
|
|
292
294
|
setup(props, { slots }) {
|
|
293
295
|
const target = vueDemi.ref();
|
|
294
|
-
const data = vueDemi.reactive(core.useElementBounding(target, props));
|
|
296
|
+
const data = vueDemi.reactive(core.useElementBounding(target, { box: props.box, window: props.window }));
|
|
295
297
|
return () => {
|
|
296
298
|
if (slots.default)
|
|
297
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
299
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
298
300
|
};
|
|
299
301
|
},
|
|
300
302
|
});
|
|
@@ -307,13 +309,14 @@
|
|
|
307
309
|
const data = vueDemi.reactive(core.useElementSize(target, { width: props.width, height: props.height }, { box: props.box }));
|
|
308
310
|
return () => {
|
|
309
311
|
if (slots.default)
|
|
310
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
312
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
311
313
|
};
|
|
312
314
|
},
|
|
313
315
|
});
|
|
314
316
|
|
|
315
317
|
const UseElementVisibility = vueDemi.defineComponent({
|
|
316
318
|
name: 'UseElementVisibility',
|
|
319
|
+
as: ['as'],
|
|
317
320
|
setup(props, { slots }) {
|
|
318
321
|
const target = vueDemi.ref();
|
|
319
322
|
const data = vueDemi.reactive({
|
|
@@ -321,19 +324,20 @@
|
|
|
321
324
|
});
|
|
322
325
|
return () => {
|
|
323
326
|
if (slots.default)
|
|
324
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
327
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
325
328
|
};
|
|
326
329
|
},
|
|
327
330
|
});
|
|
328
331
|
|
|
329
332
|
const UseFullscreen = vueDemi.defineComponent({
|
|
330
333
|
name: 'UseFullscreen',
|
|
334
|
+
props: ['as'],
|
|
331
335
|
setup(props, { slots }) {
|
|
332
336
|
const target = vueDemi.ref();
|
|
333
337
|
const data = vueDemi.reactive(core.useFullscreen(target));
|
|
334
338
|
return () => {
|
|
335
339
|
if (slots.default)
|
|
336
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
340
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
337
341
|
};
|
|
338
342
|
},
|
|
339
343
|
});
|
|
@@ -376,26 +380,26 @@
|
|
|
376
380
|
|
|
377
381
|
const UseMouseInElement = vueDemi.defineComponent({
|
|
378
382
|
name: 'UseMouseElement',
|
|
379
|
-
props: ['handleOutside'],
|
|
383
|
+
props: ['handleOutside', 'as'],
|
|
380
384
|
setup(props, { slots }) {
|
|
381
385
|
const target = vueDemi.ref();
|
|
382
386
|
const data = vueDemi.reactive(core.useMouseInElement(target, props));
|
|
383
387
|
return () => {
|
|
384
388
|
if (slots.default)
|
|
385
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
389
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
386
390
|
};
|
|
387
391
|
},
|
|
388
392
|
});
|
|
389
393
|
|
|
390
394
|
const UseMousePressed = vueDemi.defineComponent({
|
|
391
395
|
name: 'UseMousePressed',
|
|
392
|
-
props: ['touch', 'initialValue'],
|
|
396
|
+
props: ['touch', 'initialValue', 'as'],
|
|
393
397
|
setup(props, { slots }) {
|
|
394
398
|
const target = vueDemi.ref();
|
|
395
399
|
const data = vueDemi.reactive(core.useMousePressed(Object.assign(Object.assign({}, props), { target })));
|
|
396
400
|
return () => {
|
|
397
401
|
if (slots.default)
|
|
398
|
-
return vueDemi.h('div', { ref: target }, slots.default(data));
|
|
402
|
+
return vueDemi.h(props.as || 'div', { ref: target }, slots.default(data));
|
|
399
403
|
};
|
|
400
404
|
},
|
|
401
405
|
});
|
|
@@ -454,12 +458,14 @@
|
|
|
454
458
|
props: [
|
|
455
459
|
'pointerTypes',
|
|
456
460
|
'initialValue',
|
|
461
|
+
'target',
|
|
457
462
|
],
|
|
458
463
|
setup(props, { slots }) {
|
|
459
|
-
const
|
|
464
|
+
const el = vueDemi.ref(null);
|
|
465
|
+
const data = vueDemi.reactive(core.usePointer(Object.assign(Object.assign({}, props), { target: props.target === 'self' ? el : defaultWindow })));
|
|
460
466
|
return () => {
|
|
461
467
|
if (slots.default)
|
|
462
|
-
return slots.default(data);
|
|
468
|
+
return slots.default(data, { ref: el });
|
|
463
469
|
};
|
|
464
470
|
},
|
|
465
471
|
});
|
|
@@ -528,6 +534,22 @@
|
|
|
528
534
|
},
|
|
529
535
|
});
|
|
530
536
|
|
|
537
|
+
const UseVirtualList = vueDemi.defineComponent({
|
|
538
|
+
name: 'UseVirtualList',
|
|
539
|
+
props: [
|
|
540
|
+
'list',
|
|
541
|
+
'options',
|
|
542
|
+
'height',
|
|
543
|
+
],
|
|
544
|
+
setup(props, { slots }) {
|
|
545
|
+
const { list, containerProps, wrapperProps } = core.useVirtualList(props.list, props.options);
|
|
546
|
+
containerProps.style.height = props.height || '300px';
|
|
547
|
+
return () => vueDemi.h('div', Object.assign({}, containerProps), [
|
|
548
|
+
vueDemi.h('div', Object.assign({}, wrapperProps.value), list.value.map((item) => vueDemi.h('div', { style: { overFlow: 'hidden', height: item.height } }, slots.default ? slots.default(item) : 'Please set content!'))),
|
|
549
|
+
]);
|
|
550
|
+
},
|
|
551
|
+
});
|
|
552
|
+
|
|
531
553
|
const UseWindowFocus = vueDemi.defineComponent({
|
|
532
554
|
name: 'UseWindowFocus',
|
|
533
555
|
setup(props, { slots }) {
|
|
@@ -583,6 +605,7 @@
|
|
|
583
605
|
exports.UsePreferredLanguages = UsePreferredLanguages;
|
|
584
606
|
exports.UseTimeAgo = UseTimeAgo;
|
|
585
607
|
exports.UseTimestamp = UseTimestamp;
|
|
608
|
+
exports.UseVirtualList = UseVirtualList;
|
|
586
609
|
exports.UseWindowFocus = UseWindowFocus;
|
|
587
610
|
exports.UseWindowSize = UseWindowSize;
|
|
588
611
|
exports.VOnClickOutside = VOnClickOutside;
|
package/index.iife.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e){if(!e.VueDemi){var t={},
|
|
1
|
+
!function(e){if(!e.VueDemi){var t={},s=e.Vue;if(s)if("2."===s.version.slice(0,2)){var n=e.VueCompositionAPI;if(n){for(var i in n)t[i]=n[i];t.isVue2=!0,t.isVue3=!1,t.install=function(){},t.Vue=s,t.Vue2=s,t.version=s.version}else console.error("[vue-demi] no VueCompositionAPI instance found, please be sure to import `@vue/composition-api` before `vue-demi`.")}else if("3."===s.version.slice(0,2)){for(var i in s)t[i]=s[i];t.isVue2=!1,t.isVue3=!0,t.install=function(){},t.Vue=s,t.Vue2=void 0,t.version=s.version,t.set=function(e,t,s){return Array.isArray(e)?(e.length=Math.max(e.length,t),e.splice(t,1,s),s):(e[t]=s,s)},t.del=function(e,t){Array.isArray(e)?e.splice(t,1):delete e[t]}}else console.error("[vue-demi] Vue version "+s.version+" is unsupported.");else console.error("[vue-demi] no Vue instance found, please be sure to import `vue` before `vue-demi`.");e.VueDemi=t}}(window),function(e,t,s,n){"use strict";const i=t.defineComponent({name:"OnClickOutside",props:["as"],emits:["trigger"],setup(e,{slots:n,emit:i}){const r=t.ref();return s.onClickOutside(r,(e=>{i("trigger",e)})),()=>{if(n.default)return t.h(e.as||"div",{ref:r},n.default())}}});const r=n.isClient?window:void 0;function o(e,s,i={}){const{window:o=r,event:u="pointerdown"}=i;if(!o)return;return function(...e){let s,i,o,u;if(n.isString(e[0])?([i,o,u]=e,s=r):[s,i,o,u]=e,!s)return n.noop;let a=n.noop;const l=t.watch((()=>t.unref(s)),(e=>{a(),e&&(e.addEventListener(i,o,u),a=()=>{e.removeEventListener(i,o,u),a=n.noop})}),{immediate:!0,flush:"post"}),f=()=>{l(),a()};return n.tryOnScopeDispose(f),f}(o,u,(n=>{const i=function(e){var s,n;const i=t.unref(e);return null!==(n=null===(s=i)||void 0===s?void 0:s.$el)&&void 0!==n?n:i}(e);i&&(i===n.target||n.composedPath().includes(i)||s(n))}),{passive:!0})}const u=t.defineComponent({name:"UseActiveElement",setup(e,{slots:n}){const i=t.reactive({element:s.useActiveElement()});return()=>{if(n.default)return n.default(i)}}}),a=t.defineComponent({name:"UseBattery",setup(e,{slots:n}){const i=t.reactive(s.useBattery(e));return()=>{if(n.default)return n.default(i)}}}),l=t.defineComponent({name:"UseBrowserLocation",setup(e,{slots:n}){const i=t.reactive(s.useBrowserLocation());return()=>{if(n.default)return n.default(i)}}}),f=t.defineComponent({name:"UseDark",props:["selector","attribute","valueDark","valueLight","onChanged","storageKey","storage"],setup(e,{slots:i}){const r=s.useDark(e),o=t.reactive({isDark:r,toggleDark:n.useToggle(r)});return()=>{if(i.default)return i.default(o)}}}),d=t.defineComponent({name:"UseDeviceMotion",setup(e,{slots:n}){const i=t.reactive(s.useDeviceMotion());return()=>{if(n.default)return n.default(i)}}}),c=t.defineComponent({name:"UseDeviceOrientation",setup(e,{slots:n}){const i=t.reactive(s.useDeviceOrientation());return()=>{if(n.default)return n.default(i)}}}),p=t.defineComponent({name:"UseDevicePixelRatio",setup(e,{slots:n}){const i=t.reactive({pixelRatio:s.useDevicePixelRatio()});return()=>{if(n.default)return n.default(i)}}}),m=t.defineComponent({name:"UseDevicesList",props:["onUpdated","requestPermissions"],setup(e,{slots:n}){const i=t.reactive(s.useDevicesList(e));return()=>{if(n.default)return n.default(i)}}}),v=t.defineComponent({name:"UseDocumentVisibility",setup(e,{slots:n}){const i=t.reactive({visibility:s.useDocumentVisibility()});return()=>{if(n.default)return n.default(i)}}}),g=t.defineComponent({name:"UseDraggable",props:["storageKey","initialValue","exact","preventDefault","pointerTypes","as"],setup(e,{slots:n}){const i=t.ref(),r=e.storageKey?s.useStorage(e.storageKey,t.unref(e.initialValue)||{x:0,y:0},"session"===e.storageType?sessionStorage:localStorage):e.initialValue||{x:0,y:0},o=t.reactive(s.useDraggable(i,Object.assign(Object.assign({},e),{initialValue:r})));return()=>{if(n.default)return t.h(e.as||"div",{ref:i,style:`touch-action:none;${o.style}`},n.default(o))}}}),U=t.defineComponent({name:"UseElementBounding",props:["box","as"],setup(e,{slots:n}){const i=t.ref(),r=t.reactive(s.useElementBounding(i,{box:e.box,window:e.window}));return()=>{if(n.default)return t.h(e.as||"div",{ref:i},n.default(r))}}}),h=t.defineComponent({name:"UseElementSize",props:["width","height","box"],setup(e,{slots:n}){const i=t.ref(),r=t.reactive(s.useElementSize(i,{width:e.width,height:e.height},{box:e.box}));return()=>{if(n.default)return t.h(e.as||"div",{ref:i},n.default(r))}}}),C=t.defineComponent({name:"UseElementVisibility",as:["as"],setup(e,{slots:n}){const i=t.ref(),r=t.reactive({isVisible:s.useElementVisibility(i)});return()=>{if(n.default)return t.h(e.as||"div",{ref:i},n.default(r))}}}),b=t.defineComponent({name:"UseFullscreen",props:["as"],setup(e,{slots:n}){const i=t.ref(),r=t.reactive(s.useFullscreen(i));return()=>{if(n.default)return t.h(e.as||"div",{ref:i},n.default(r))}}}),V=t.defineComponent({name:"UseGeolocation",props:["enableHighAccuracy","maximumAge","timeout","navigator"],setup(e,{slots:n}){const i=t.reactive(s.useGeolocation(e));return()=>{if(n.default)return n.default(i)}}}),D=t.defineComponent({name:"UseIdle",props:["timeout","events","listenForVisibilityChange","initialState"],setup(e,{slots:n}){const i=t.reactive(s.useIdle(e.timeout,e));return()=>{if(n.default)return n.default(i)}}}),w=t.defineComponent({name:"UseMouse",props:["touch","resetOnTouchEnds","initialValue"],setup(e,{slots:n}){const i=t.reactive(s.useMouse(e));return()=>{if(n.default)return n.default(i)}}}),O=t.defineComponent({name:"UseMouseElement",props:["handleOutside","as"],setup(e,{slots:n}){const i=t.ref(),r=t.reactive(s.useMouseInElement(i,e));return()=>{if(n.default)return t.h(e.as||"div",{ref:i},n.default(r))}}}),y=t.defineComponent({name:"UseMousePressed",props:["touch","initialValue","as"],setup(e,{slots:n}){const i=t.ref(),r=t.reactive(s.useMousePressed(Object.assign(Object.assign({},e),{target:i})));return()=>{if(n.default)return t.h(e.as||"div",{ref:i},n.default(r))}}}),P=t.defineComponent({name:"UseNetwork",setup(e,{slots:n}){const i=t.reactive(s.useNetwork());return()=>{if(n.default)return n.default(i)}}}),L=t.defineComponent({name:"UseNow",props:["interval"],setup(e,{slots:n}){const i=t.reactive(s.useNow(Object.assign(Object.assign({},e),{controls:!0})));return()=>{if(n.default)return n.default(i)}}}),E=t.defineComponent({name:"UseOnline",setup(e,{slots:n}){const i=t.reactive({isOnline:s.useOnline()});return()=>{if(n.default)return n.default(i)}}}),k=t.defineComponent({name:"UsePageLeave",setup(e,{slots:n}){const i=t.reactive({isLeft:s.usePageLeave()});return()=>{if(n.default)return n.default(i)}}}),x=t.defineComponent({name:"UsePointer",props:["pointerTypes","initialValue","target"],setup(e,{slots:n}){const i=t.ref(null),o=t.reactive(s.usePointer(Object.assign(Object.assign({},e),{target:"self"===e.target?i:r})));return()=>{if(n.default)return n.default(o,{ref:i})}}}),S=t.defineComponent({name:"UsePreferredColorScheme",setup(e,{slots:n}){const i=t.reactive({colorScheme:s.usePreferredColorScheme()});return()=>{if(n.default)return n.default(i)}}}),j=t.defineComponent({name:"UsePreferredDark",setup(e,{slots:n}){const i=t.reactive({prefersDark:s.usePreferredDark()});return()=>{if(n.default)return n.default(i)}}}),A=t.defineComponent({name:"UsePreferredLanguages",setup(e,{slots:n}){const i=t.reactive({languages:s.usePreferredLanguages()});return()=>{if(n.default)return n.default(i)}}}),M=t.defineComponent({name:"UseTimeAgo",props:["time","updateInterval","max","fullDateFormatter","messages"],setup(e,{slots:n}){const{time:i}=t.toRefs(e),r=t.reactive(s.useTimeAgo(i,Object.assign(Object.assign({},e),{controls:!0})));return()=>{if(n.default)return n.default(r)}}}),T=t.defineComponent({name:"UseTimestamp",props:["interval","offset"],setup(e,{slots:n}){const i=t.reactive(s.useTimestamp(Object.assign(Object.assign({},e),{controls:!0})));return()=>{if(n.default)return n.default(i)}}}),B=t.defineComponent({name:"UseVirtualList",props:["list","options","height"],setup(e,{slots:n}){const{list:i,containerProps:r,wrapperProps:o}=s.useVirtualList(e.list,e.options);return r.style.height=e.height||"300px",()=>t.h("div",Object.assign({},r),[t.h("div",Object.assign({},o.value),i.value.map((e=>t.h("div",{style:{overFlow:"hidden",height:e.height}},n.default?n.default(e):"Please set content!"))))])}}),F=t.defineComponent({name:"UseWindowFocus",setup(e,{slots:n}){const i=t.reactive({focused:s.useWindowFocus()});return()=>{if(n.default)return n.default(i)}}}),I=t.defineComponent({name:"UseWindowSize",props:["initialWidth","initialHeight"],setup(e,{slots:n}){const i=t.reactive(s.useWindowSize(e));return()=>{if(n.default)return n.default(i)}}});e.OnClickOutside=i,e.UseActiveElement=u,e.UseBattery=a,e.UseBrowserLocation=l,e.UseDark=f,e.UseDeviceMotion=d,e.UseDeviceOrientation=c,e.UseDevicePixelRatio=p,e.UseDevicesList=m,e.UseDocumentVisibility=v,e.UseDraggable=g,e.UseElementBounding=U,e.UseElementSize=h,e.UseElementVisibility=C,e.UseFullscreen=b,e.UseGeolocation=V,e.UseIdle=D,e.UseMouse=w,e.UseMouseInElement=O,e.UseMousePressed=y,e.UseNetwork=P,e.UseNow=L,e.UseOnline=E,e.UsePageLeave=k,e.UsePointer=x,e.UsePreferredColorScheme=S,e.UsePreferredDark=j,e.UsePreferredLanguages=A,e.UseTimeAgo=M,e.UseTimestamp=T,e.UseVirtualList=B,e.UseWindowFocus=F,e.UseWindowSize=I,e.VOnClickOutside=(e,t)=>{o(e,t.value)},Object.defineProperty(e,"__esModule",{value:!0})}(this.VueUse=this.VueUse||{},VueDemi,VueUse,VueUse);
|
package/index.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { defineComponent, ref, h, unref, watch, reactive, toRefs } from 'vue-demi';
|
|
2
|
-
import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage, useDraggable, useElementBounding, useElementSize, useElementVisibility, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useOnline, usePageLeave, usePointer, usePreferredColorScheme, usePreferredDark, usePreferredLanguages, useTimeAgo, useTimestamp, useWindowFocus, useWindowSize } from '@vueuse/core';
|
|
2
|
+
import { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage, useDraggable, useElementBounding, useElementSize, useElementVisibility, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useOnline, usePageLeave, usePointer, usePreferredColorScheme, usePreferredDark, usePreferredLanguages, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';
|
|
3
3
|
import { isClient, isString, noop, tryOnScopeDispose, useToggle } from '@vueuse/shared';
|
|
4
4
|
|
|
5
5
|
const OnClickOutside = defineComponent({
|
|
6
6
|
name: 'OnClickOutside',
|
|
7
|
+
props: ['as'],
|
|
7
8
|
emits: ['trigger'],
|
|
8
9
|
setup(props, { slots, emit }) {
|
|
9
10
|
const target = ref();
|
|
@@ -12,7 +13,7 @@ const OnClickOutside = defineComponent({
|
|
|
12
13
|
});
|
|
13
14
|
return () => {
|
|
14
15
|
if (slots.default)
|
|
15
|
-
return h('div', { ref: target }, slots.default());
|
|
16
|
+
return h(props.as || 'div', { ref: target }, slots.default());
|
|
16
17
|
};
|
|
17
18
|
},
|
|
18
19
|
});
|
|
@@ -212,6 +213,7 @@ const UseDraggable = defineComponent({
|
|
|
212
213
|
'exact',
|
|
213
214
|
'preventDefault',
|
|
214
215
|
'pointerTypes',
|
|
216
|
+
'as',
|
|
215
217
|
],
|
|
216
218
|
setup(props, { slots }) {
|
|
217
219
|
const target = ref();
|
|
@@ -221,20 +223,20 @@ const UseDraggable = defineComponent({
|
|
|
221
223
|
const data = reactive(useDraggable(target, Object.assign(Object.assign({}, props), { initialValue })));
|
|
222
224
|
return () => {
|
|
223
225
|
if (slots.default)
|
|
224
|
-
return h('div', { ref: target, style: data.style }, slots.default(data));
|
|
226
|
+
return h(props.as || 'div', { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));
|
|
225
227
|
};
|
|
226
228
|
},
|
|
227
229
|
});
|
|
228
230
|
|
|
229
231
|
const UseElementBounding = defineComponent({
|
|
230
232
|
name: 'UseElementBounding',
|
|
231
|
-
props: ['box'],
|
|
233
|
+
props: ['box', 'as'],
|
|
232
234
|
setup(props, { slots }) {
|
|
233
235
|
const target = ref();
|
|
234
|
-
const data = reactive(useElementBounding(target, props));
|
|
236
|
+
const data = reactive(useElementBounding(target, { box: props.box, window: props.window }));
|
|
235
237
|
return () => {
|
|
236
238
|
if (slots.default)
|
|
237
|
-
return h('div', { ref: target }, slots.default(data));
|
|
239
|
+
return h(props.as || 'div', { ref: target }, slots.default(data));
|
|
238
240
|
};
|
|
239
241
|
},
|
|
240
242
|
});
|
|
@@ -247,13 +249,14 @@ const UseElementSize = defineComponent({
|
|
|
247
249
|
const data = reactive(useElementSize(target, { width: props.width, height: props.height }, { box: props.box }));
|
|
248
250
|
return () => {
|
|
249
251
|
if (slots.default)
|
|
250
|
-
return h('div', { ref: target }, slots.default(data));
|
|
252
|
+
return h(props.as || 'div', { ref: target }, slots.default(data));
|
|
251
253
|
};
|
|
252
254
|
},
|
|
253
255
|
});
|
|
254
256
|
|
|
255
257
|
const UseElementVisibility = defineComponent({
|
|
256
258
|
name: 'UseElementVisibility',
|
|
259
|
+
as: ['as'],
|
|
257
260
|
setup(props, { slots }) {
|
|
258
261
|
const target = ref();
|
|
259
262
|
const data = reactive({
|
|
@@ -261,19 +264,20 @@ const UseElementVisibility = defineComponent({
|
|
|
261
264
|
});
|
|
262
265
|
return () => {
|
|
263
266
|
if (slots.default)
|
|
264
|
-
return h('div', { ref: target }, slots.default(data));
|
|
267
|
+
return h(props.as || 'div', { ref: target }, slots.default(data));
|
|
265
268
|
};
|
|
266
269
|
},
|
|
267
270
|
});
|
|
268
271
|
|
|
269
272
|
const UseFullscreen = defineComponent({
|
|
270
273
|
name: 'UseFullscreen',
|
|
274
|
+
props: ['as'],
|
|
271
275
|
setup(props, { slots }) {
|
|
272
276
|
const target = ref();
|
|
273
277
|
const data = reactive(useFullscreen(target));
|
|
274
278
|
return () => {
|
|
275
279
|
if (slots.default)
|
|
276
|
-
return h('div', { ref: target }, slots.default(data));
|
|
280
|
+
return h(props.as || 'div', { ref: target }, slots.default(data));
|
|
277
281
|
};
|
|
278
282
|
},
|
|
279
283
|
});
|
|
@@ -316,26 +320,26 @@ const UseMouse = defineComponent({
|
|
|
316
320
|
|
|
317
321
|
const UseMouseInElement = defineComponent({
|
|
318
322
|
name: 'UseMouseElement',
|
|
319
|
-
props: ['handleOutside'],
|
|
323
|
+
props: ['handleOutside', 'as'],
|
|
320
324
|
setup(props, { slots }) {
|
|
321
325
|
const target = ref();
|
|
322
326
|
const data = reactive(useMouseInElement(target, props));
|
|
323
327
|
return () => {
|
|
324
328
|
if (slots.default)
|
|
325
|
-
return h('div', { ref: target }, slots.default(data));
|
|
329
|
+
return h(props.as || 'div', { ref: target }, slots.default(data));
|
|
326
330
|
};
|
|
327
331
|
},
|
|
328
332
|
});
|
|
329
333
|
|
|
330
334
|
const UseMousePressed = defineComponent({
|
|
331
335
|
name: 'UseMousePressed',
|
|
332
|
-
props: ['touch', 'initialValue'],
|
|
336
|
+
props: ['touch', 'initialValue', 'as'],
|
|
333
337
|
setup(props, { slots }) {
|
|
334
338
|
const target = ref();
|
|
335
339
|
const data = reactive(useMousePressed(Object.assign(Object.assign({}, props), { target })));
|
|
336
340
|
return () => {
|
|
337
341
|
if (slots.default)
|
|
338
|
-
return h('div', { ref: target }, slots.default(data));
|
|
342
|
+
return h(props.as || 'div', { ref: target }, slots.default(data));
|
|
339
343
|
};
|
|
340
344
|
},
|
|
341
345
|
});
|
|
@@ -394,12 +398,14 @@ const UsePointer = defineComponent({
|
|
|
394
398
|
props: [
|
|
395
399
|
'pointerTypes',
|
|
396
400
|
'initialValue',
|
|
401
|
+
'target',
|
|
397
402
|
],
|
|
398
403
|
setup(props, { slots }) {
|
|
399
|
-
const
|
|
404
|
+
const el = ref(null);
|
|
405
|
+
const data = reactive(usePointer(Object.assign(Object.assign({}, props), { target: props.target === 'self' ? el : defaultWindow })));
|
|
400
406
|
return () => {
|
|
401
407
|
if (slots.default)
|
|
402
|
-
return slots.default(data);
|
|
408
|
+
return slots.default(data, { ref: el });
|
|
403
409
|
};
|
|
404
410
|
},
|
|
405
411
|
});
|
|
@@ -468,6 +474,22 @@ const UseTimestamp = defineComponent({
|
|
|
468
474
|
},
|
|
469
475
|
});
|
|
470
476
|
|
|
477
|
+
const UseVirtualList = defineComponent({
|
|
478
|
+
name: 'UseVirtualList',
|
|
479
|
+
props: [
|
|
480
|
+
'list',
|
|
481
|
+
'options',
|
|
482
|
+
'height',
|
|
483
|
+
],
|
|
484
|
+
setup(props, { slots }) {
|
|
485
|
+
const { list, containerProps, wrapperProps } = useVirtualList(props.list, props.options);
|
|
486
|
+
containerProps.style.height = props.height || '300px';
|
|
487
|
+
return () => h('div', Object.assign({}, containerProps), [
|
|
488
|
+
h('div', Object.assign({}, wrapperProps.value), list.value.map((item) => h('div', { style: { overFlow: 'hidden', height: item.height } }, slots.default ? slots.default(item) : 'Please set content!'))),
|
|
489
|
+
]);
|
|
490
|
+
},
|
|
491
|
+
});
|
|
492
|
+
|
|
471
493
|
const UseWindowFocus = defineComponent({
|
|
472
494
|
name: 'UseWindowFocus',
|
|
473
495
|
setup(props, { slots }) {
|
|
@@ -493,4 +515,4 @@ const UseWindowSize = defineComponent({
|
|
|
493
515
|
},
|
|
494
516
|
});
|
|
495
517
|
|
|
496
|
-
export { OnClickOutside, UseActiveElement, UseBattery, UseBrowserLocation, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseTimeAgo, UseTimestamp, UseWindowFocus, UseWindowSize, VOnClickOutside };
|
|
518
|
+
export { OnClickOutside, UseActiveElement, UseBattery, UseBrowserLocation, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseFullscreen, UseGeolocation, UseIdle, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseOnline, UsePageLeave, UsePointer, UsePreferredColorScheme, UsePreferredDark, UsePreferredLanguages, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, VOnClickOutside };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vueuse/components",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.1",
|
|
4
4
|
"description": "Renderless components for VueUse",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
},
|
|
32
32
|
"homepage": "https://github.com/vueuse/vueuse/tree/main/packages/components#readme",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@vueuse/core": "6.
|
|
35
|
-
"@vueuse/shared": "6.
|
|
34
|
+
"@vueuse/core": "6.4.1",
|
|
35
|
+
"@vueuse/shared": "6.4.1",
|
|
36
36
|
"vue-demi": "*"
|
|
37
37
|
}
|
|
38
38
|
}
|