From 2baf4e66d0b90a0333e73dd5b3790e21e9f8c4a2 Mon Sep 17 00:00:00 2001 From: Markus Sanin Date: Sun, 16 Feb 2025 08:07:12 +0100 Subject: [PATCH] Fix no-unsafe-call & fix component typing --- ember-basic-dropdown/eslint.config.mjs | 3 --- .../src/components/basic-dropdown-content.ts | 26 ++++++++++++++----- .../src/components/basic-dropdown-wormhole.ts | 1 + .../src/components/basic-dropdown.ts | 25 +++++++++--------- .../src/modifiers/basic-dropdown-trigger.ts | 15 ++++++++--- 5 files changed, 46 insertions(+), 24 deletions(-) diff --git a/ember-basic-dropdown/eslint.config.mjs b/ember-basic-dropdown/eslint.config.mjs index 72a12f76..7966c388 100644 --- a/ember-basic-dropdown/eslint.config.mjs +++ b/ember-basic-dropdown/eslint.config.mjs @@ -85,9 +85,6 @@ export default ts.config( parserOptions: parserOptions.esm.ts, }, extends: [...ts.configs.recommendedTypeChecked, ember.configs.gts], - rules: { - '@typescript-eslint/no-unsafe-call': 'off', - }, }, { files: ['src/**/*'], diff --git a/ember-basic-dropdown/src/components/basic-dropdown-content.ts b/ember-basic-dropdown/src/components/basic-dropdown-content.ts index 352ee9c3..516391eb 100644 --- a/ember-basic-dropdown/src/components/basic-dropdown-content.ts +++ b/ember-basic-dropdown/src/components/basic-dropdown-content.ts @@ -203,10 +203,17 @@ export default class BasicDropdownContent extends Component void): void { window.requestAnimationFrame(function () { const computedStyle = window.getComputedStyle(element); if ( diff --git a/ember-basic-dropdown/src/components/basic-dropdown-wormhole.ts b/ember-basic-dropdown/src/components/basic-dropdown-wormhole.ts index 5ecb33ec..481306eb 100644 --- a/ember-basic-dropdown/src/components/basic-dropdown-wormhole.ts +++ b/ember-basic-dropdown/src/components/basic-dropdown-wormhole.ts @@ -9,6 +9,7 @@ export default class BasicDropdownWormholeComponent extends Component | undefined; - // eslint-disable-next-line @typescript-eslint/no-explicit-any - contentComponent?: string | ComponentLike | undefined; + onInit?: (dropdown: Dropdown) => void; + registerAPI?: (dropdown: Dropdown | null) => void; + onOpen?: (dropdown: Dropdown, e?: Event) => boolean | void; + onClose?: (dropdown: Dropdown, e?: Event) => boolean | void; + triggerComponent?: + | string + | ComponentLike + | undefined; + contentComponent?: + | string + | ComponentLike + | undefined; calculatePosition?: CalculatePosition; } @@ -394,6 +394,7 @@ export default class BasicDropdown extends Component { _getDestinationId(): string { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore + // eslint-disable-next-line @typescript-eslint/no-unsafe-call const config = getOwner(this).resolveRegistration('config:environment') as { environment: string; APP: { diff --git a/ember-basic-dropdown/src/modifiers/basic-dropdown-trigger.ts b/ember-basic-dropdown/src/modifiers/basic-dropdown-trigger.ts index b9ce4ecc..afe19fa2 100644 --- a/ember-basic-dropdown/src/modifiers/basic-dropdown-trigger.ts +++ b/ember-basic-dropdown/src/modifiers/basic-dropdown-trigger.ts @@ -238,9 +238,18 @@ function cleanup(instance: DropdownTriggerModifier) { } triggerElement.removeEventListener('click', instance.handleMouseEventBound); - triggerElement.removeEventListener('mousedown', instance.handleMouseEventBound); + triggerElement.removeEventListener( + 'mousedown', + instance.handleMouseEventBound, + ); triggerElement.removeEventListener('keydown', instance.handleKeyDownBound); - triggerElement.removeEventListener('touchstart', instance.handleTouchStartBound); - triggerElement.removeEventListener('touchend', instance.handleTouchEndBound); + triggerElement.removeEventListener( + 'touchstart', + instance.handleTouchStartBound, + ); + triggerElement.removeEventListener( + 'touchend', + instance.handleTouchEndBound, + ); } }