@glint/environment-ember-loose
Version:
A Glint environment to support loose-mode Ember.js projects
22 lines (18 loc) • 528 B
TypeScript
import { ModifierLike } from '@glint/template';
export interface OnModifierArgs {
capture?: boolean;
once?: boolean;
passive?: boolean;
}
export type EventForName<Name extends string> = Name extends keyof HTMLElementEventMap
? HTMLElementEventMap[Name]
: Event;
export type OnModifier = abstract new <Name extends string>() => InstanceType<
ModifierLike<{
Element: Element;
Args: {
Named: OnModifierArgs;
Positional: [name: Name, callback: (event: EventForName<Name>) => void];
};
}>
>;