diff --git a/src/components/Select/Select.astro b/src/components/Select/Select.astro
index 15ebf89..5814a7d 100644
--- a/src/components/Select/Select.astro
+++ b/src/components/Select/Select.astro
@@ -27,20 +27,24 @@ const {
...rest
} = Astro.props
-const inputRestProps = Object.fromEntries(
- Object.entries(rest).filter(([key]) => key.includes('data'))
-)
-
const classes = classNames([
styles.select,
disabled && styles.disabled,
className
])
+
+const inferredValue = rest.itemGroups.map(group => group.items)
+ .flat()
+ .find(item => item.value === value)?.name
+
+const inputRestProps = Object.fromEntries(
+ Object.entries(rest).filter(([key]) => key.includes('data'))
+)
---
group.items)
+ .flat()
+ .find((item: ListProps['itemGroups'][0]['items'][0]) => item.value === value)?.name
+
const inputRestProps = Object.fromEntries(
Object.entries($$restProps).filter(([key]) => key.includes('data'))
)
@@ -110,7 +115,7 @@
{
- const [val, setValue] = useState(value)
+ const inferredValue = rest.itemGroups.map(group => group.items)
+ .flat()
+ .find(item => item.value === value)?.name
+
+ const [val, setValue] = useState((value && inferredValue) ? inferredValue : value)
const classes = classNames([
styles.select,
diff --git a/src/pages/components/select.astro b/src/pages/components/select.astro
index 19fa7fe..7812a0b 100644
--- a/src/pages/components/select.astro
+++ b/src/pages/components/select.astro
@@ -81,6 +81,14 @@ const sections = getSections({
/>
+
+
+
+