@vueuse/components 12.4.0 → 12.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/index.d.mts CHANGED
@@ -12,7 +12,7 @@ type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>;
12
12
  type MaybeComputedElementRef<T extends MaybeElement = MaybeElement> = MaybeRefOrGetter<T>;
13
13
  type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null;
14
14
 
15
- interface OnClickOutsideOptions extends ConfigurableWindow {
15
+ interface OnClickOutsideOptions<Controls extends boolean = false> extends ConfigurableWindow {
16
16
  /**
17
17
  * List of elements that should not trigger the event.
18
18
  */
@@ -27,12 +27,19 @@ interface OnClickOutsideOptions extends ConfigurableWindow {
27
27
  * @default false
28
28
  */
29
29
  detectIframe?: boolean;
30
+ /**
31
+ * Use controls to cancel/trigger listener.
32
+ * @default false
33
+ */
34
+ controls?: Controls;
30
35
  }
31
36
  type OnClickOutsideHandler<T extends {
32
37
  detectIframe: OnClickOutsideOptions['detectIframe'];
38
+ controls: boolean;
33
39
  } = {
34
40
  detectIframe: false;
35
- }> = (evt: T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) => void;
41
+ controls: false;
42
+ }> = (event: T['controls'] extends true ? Event | (T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) : T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) => void;
36
43
 
37
44
  interface Position {
38
45
  x: number;
@@ -48,11 +55,11 @@ interface RenderableComponent {
48
55
  }
49
56
 
50
57
  interface OnClickOutsideProps extends RenderableComponent {
51
- options?: OnClickOutsideOptions;
58
+ options?: Omit<OnClickOutsideOptions, 'controls'>;
52
59
  }
53
60
  declare const OnClickOutside: vue.DefineComponent<OnClickOutsideProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<OnClickOutsideProps> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
54
61
 
55
- declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, OnClickOutsideOptions]>;
62
+ declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, Omit<OnClickOutsideOptions, 'controls'>]>;
56
63
 
57
64
  type KeyStrokeEventName = 'keydown' | 'keypress' | 'keyup';
58
65
  interface OnKeyStrokeOptions {
@@ -453,6 +460,12 @@ interface UseElementVisibilityOptions extends ConfigurableWindow, Pick<UseInters
453
460
  * The element that is used as the viewport for checking visibility of the target.
454
461
  */
455
462
  scrollTarget?: MaybeRefOrGetter<HTMLElement | undefined | null>;
463
+ /**
464
+ * Stop tracking when element visibility changes for the first time
465
+ *
466
+ * @default false
467
+ */
468
+ once?: boolean;
456
469
  }
457
470
 
458
471
  type BindingValueFunction$5 = (state: boolean) => void;
package/index.d.ts CHANGED
@@ -12,7 +12,7 @@ type MaybeElementRef<T extends MaybeElement = MaybeElement> = MaybeRef<T>;
12
12
  type MaybeComputedElementRef<T extends MaybeElement = MaybeElement> = MaybeRefOrGetter<T>;
13
13
  type MaybeElement = HTMLElement | SVGElement | VueInstance | undefined | null;
14
14
 
15
- interface OnClickOutsideOptions extends ConfigurableWindow {
15
+ interface OnClickOutsideOptions<Controls extends boolean = false> extends ConfigurableWindow {
16
16
  /**
17
17
  * List of elements that should not trigger the event.
18
18
  */
@@ -27,12 +27,19 @@ interface OnClickOutsideOptions extends ConfigurableWindow {
27
27
  * @default false
28
28
  */
29
29
  detectIframe?: boolean;
30
+ /**
31
+ * Use controls to cancel/trigger listener.
32
+ * @default false
33
+ */
34
+ controls?: Controls;
30
35
  }
31
36
  type OnClickOutsideHandler<T extends {
32
37
  detectIframe: OnClickOutsideOptions['detectIframe'];
38
+ controls: boolean;
33
39
  } = {
34
40
  detectIframe: false;
35
- }> = (evt: T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) => void;
41
+ controls: false;
42
+ }> = (event: T['controls'] extends true ? Event | (T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) : T['detectIframe'] extends true ? PointerEvent | FocusEvent : PointerEvent) => void;
36
43
 
37
44
  interface Position {
38
45
  x: number;
@@ -48,11 +55,11 @@ interface RenderableComponent {
48
55
  }
49
56
 
50
57
  interface OnClickOutsideProps extends RenderableComponent {
51
- options?: OnClickOutsideOptions;
58
+ options?: Omit<OnClickOutsideOptions, 'controls'>;
52
59
  }
53
60
  declare const OnClickOutside: vue.DefineComponent<OnClickOutsideProps, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<OnClickOutsideProps> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
54
61
 
55
- declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, OnClickOutsideOptions]>;
62
+ declare const vOnClickOutside: ObjectDirective<HTMLElement, OnClickOutsideHandler | [(evt: any) => void, Omit<OnClickOutsideOptions, 'controls'>]>;
56
63
 
57
64
  type KeyStrokeEventName = 'keydown' | 'keypress' | 'keyup';
58
65
  interface OnKeyStrokeOptions {
@@ -453,6 +460,12 @@ interface UseElementVisibilityOptions extends ConfigurableWindow, Pick<UseInters
453
460
  * The element that is used as the viewport for checking visibility of the target.
454
461
  */
455
462
  scrollTarget?: MaybeRefOrGetter<HTMLElement | undefined | null>;
463
+ /**
464
+ * Stop tracking when element visibility changes for the first time
465
+ *
466
+ * @default false
467
+ */
468
+ once?: boolean;
456
469
  }
457
470
 
458
471
  type BindingValueFunction$5 = (state: boolean) => void;