diff --git a/packages/core/component-doc.json b/packages/core/component-doc.json index c0da93f508e..5a16acaa9ca 100644 --- a/packages/core/component-doc.json +++ b/packages/core/component-doc.json @@ -3490,20 +3490,7 @@ "styles": [], "slots": [], "parts": [], - "listeners": [ - { - "event": "click", - "target": "window", - "capture": false, - "passive": false - }, - { - "event": "keydown", - "target": "window", - "capture": false, - "passive": false - } - ] + "listeners": [] }, { "dirPath": "./src/components/dropdown-button", @@ -9055,12 +9042,6 @@ "event": "ix-select-item:labelChange", "capture": false, "passive": false - }, - { - "event": "keydown", - "target": "window", - "capture": false, - "passive": false } ] }, @@ -9384,14 +9365,7 @@ } ], "parts": [], - "listeners": [ - { - "event": "pointerup", - "target": "window", - "capture": false, - "passive": true - } - ] + "listeners": [] }, { "dirPath": "./src/components/spinner", diff --git a/packages/core/src/components/dropdown/dropdown.tsx b/packages/core/src/components/dropdown/dropdown.tsx index 0dda845de84..25450d8256f 100644 --- a/packages/core/src/components/dropdown/dropdown.tsx +++ b/packages/core/src/components/dropdown/dropdown.tsx @@ -23,11 +23,11 @@ import { EventEmitter, h, Host, - Listen, Method, Prop, Watch, } from '@stencil/core'; +import { OnListener } from '../utils/listener'; import { AlignedPlacement } from './placement'; /** @@ -285,9 +285,7 @@ export class Dropdown { } } - @Listen('click', { - target: 'window', - }) + @OnListener('click', (self) => self.show) clickOutside(event: PointerEvent) { const target = event.target as HTMLElement; @@ -327,9 +325,7 @@ export class Dropdown { } } - @Listen('keydown', { - target: 'window', - }) + @OnListener('keydown', (self) => self.show) keydown(event: KeyboardEvent) { if (this.show === true && event.code === 'Escape') { this.close(); diff --git a/packages/core/src/components/select/select.tsx b/packages/core/src/components/select/select.tsx index df352d281aa..a1b61457077 100644 --- a/packages/core/src/components/select/select.tsx +++ b/packages/core/src/components/select/select.tsx @@ -20,6 +20,7 @@ import { Watch, } from '@stencil/core'; import { IxSelectItemLabelChangeEvent } from '../select-item/events'; +import { OnListener } from '../utils/listener'; @Component({ tag: 'ix-select', @@ -310,9 +311,7 @@ export class Select { } } - @Listen('keydown', { - target: 'window', - }) + @OnListener