From af55998016a57b484f292bf6cae15bac7de0eb7a Mon Sep 17 00:00:00 2001 From: Kai Date: Fri, 14 Mar 2025 23:44:37 +0100 Subject: [PATCH] feat: allow using an array of selectors for selection functions --- src/Component.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Component.ts b/src/Component.ts index 6c4c981..5dc908c 100644 --- a/src/Component.ts +++ b/src/Component.ts @@ -60,8 +60,8 @@ export class Component extends ElementCompo * @param selectors * @typeParam T Component element type */ - public select(selectors: string): Component | null { - const element = this.node.querySelector(selectors); + public select(...selectors: string[]): Component | null { + const element = this.node.querySelector(selectors.join(",")); if (element == null) return null; return new Component(element); } @@ -73,8 +73,8 @@ export class Component extends ElementCompo * @param selectors * @typeParam T Component element type */ - public selectAll(selectors: string): Component[] { - return [...this.node.querySelectorAll(selectors)].map(e => new Component(e)); + public selectAll(...selectors: string[]): Component[] { + return [...this.node.querySelectorAll(selectors.join(","))].map(e => new Component(e)); } /** @@ -83,8 +83,8 @@ export class Component extends ElementCompo * @param selectors * @typeParam T Component element type */ - public closest(selectors: string): Component | null { - const element = this.node.closest(selectors); + public closest(...selectors: string[]): Component | null { + const element = this.node.closest(selectors.join(",")); if (element == null) return null; return new Component(element); } @@ -94,8 +94,8 @@ export class Component extends ElementCompo * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_selectors CSS selector}, or group of CSS selectors. * @param selectors */ - public is(selectors: string): boolean { - return this.node.matches(selectors); + public is(...selectors: string[]): boolean { + return this.node.matches(selectors.join(",")); } /**