From 6c3db0456e41919e00b7fed71a9fb99985989a1d Mon Sep 17 00:00:00 2001
From: DarkWiiPlayer <darkwiiplayer@hotmail.com>
Date: Mon, 27 Jan 2025 16:08:37 +0100
Subject: [PATCH] Allow setting value to undefined

---
 src/BetterSelect.js | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/BetterSelect.js b/src/BetterSelect.js
index c117185..032aaf5 100644
--- a/src/BetterSelect.js
+++ b/src/BetterSelect.js
@@ -385,10 +385,14 @@ export class BetterSelect extends HTMLElement {
 
 	get value() { return this.#value.value }
 	set value(value) {
-		for (const option of this.options) {
-			if (option.value === String(value)) {
-				this.setValue(option.value, option.innerText)
-				return
+		if (value === undefined) {
+			this.clear()
+		} else {
+			for (const option of Array.from(this.options)) {
+				if (option.value === String(value)) {
+					this.setValue(option.value, option.innerText)
+					return
+				}
 			}
 		}
 		throw `No option with value ${value}`