From 9900d513429c165b4bf0b708b7cbe4b8eb3a51af Mon Sep 17 00:00:00 2001 From: DarkWiiPlayer Date: Thu, 7 Aug 2025 19:46:23 +0200 Subject: [PATCH] Exclude disabled options from search --- src/better-select.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/better-select.js b/src/better-select.js index 439ae18..5ee4e0e 100644 --- a/src/better-select.js +++ b/src/better-select.js @@ -445,18 +445,21 @@ export class BetterSelect extends HTMLElement { this.close() return } - const candidates = /** @type {HTMLElement[]} */(Array.from(this.list.children).filter(child => !child.hasAttribute("hidden"))) + const candidates = /** @type {HTMLElement[]} */(Array.from(this.list.children).filter(child => !child.hasAttribute("hidden") && !child.part.contains("disabled"))) if (candidates.length) { this.setOption(candidates[0]) this.close() } } + static searchHideDisabled = true + /** * @param {string} value * @param {HTMLElement} item */ match(value, item) { + if (/** @type {Object} */(value && this.constructor).searchHideDisabled && item.part.contains("disabled")) return false return item.innerText.toLowerCase().match(value.toLowerCase()) }