@@ -287,14 +287,14 @@ instance (Reflex t, DomSpace (DomBuilderSpace m)) => Default (RawElementConfig E
287287
288288data SelectElementConfig er t m = SelectElementConfig
289289 { _selectElementConfig_initialValue :: Text
290− , _selectElementConfig_setValue :: Event t Text
290+ , _selectElementConfig_setValue :: Maybe (Event t Text)
291291 , _selectElementConfig_elementConfig :: ElementConfig er t m
292292 }
293293
294294instance (Reflex t, er ~ EventResult, DomBuilder t m) => Default (SelectElementConfig er t m) where
295295 def = SelectElementConfig
296296 { _selectElementConfig_initialValue = ""
297− , _selectElementConfig_setValue = never
297+ , _selectElementConfig_setValue = Nothing
298298 , _selectElementConfig_elementConfig = def
299299 }
300300
@@ -313,6 +313,7 @@ concat <$> mapM (uncurry makeLensesWithoutField)
313313 , (["_rawElementConfig_modifyAttributes"], ''RawElementConfig)
314314 , (["_elementConfig_modifyAttributes"], ''ElementConfig)
315315 , (["_textAreaElementConfig_setValue"], ''TextAreaElementConfig)
316+ , (["_selectElementConfig_setValue"], ''SelectElementConfig)
316317 ]
317318
318319-- | This lens is technically illegal. The implementation of 'TextNodeConfig' uses a 'Maybe' under the hood for efficiency reasons. However, always interacting with 'TextNodeConfig' via lenses will always behave correctly, and if you pattern match on it, you should always treat 'Nothing' as 'never'.
@@ -369,9 +370,14 @@ textAreaElementConfig_setValue =
369370 setter t e = t { _textAreaElementConfig_setValue = Just e }
370371 in lens getter setter
371372
372−concat <$> mapM makeLenses
373− [ ''SelectElementConfig
374− ]
373+-- | This lens is technically illegal. The implementation of 'SelectElementConfig' uses a 'Maybe' under the hood for efficiency reasons. However, always interacting with 'SelectElementConfig' via lenses will always behave correctly, and if you pattern match on it, you should always treat 'Nothing' as 'never'.
374+selectElementConfig_setValue :: Reflex t => Lens (SelectElementConfig er t m) (SelectElementConfig er t m) (Event t Text) (Event t Text)
375+selectElementConfig_setValue =
376+ let getter t = case _selectElementConfig_setValue t of
377+ Nothing -> never
378+ Just e -> e
379+ setter t e = t { _selectElementConfig_setValue = Just e }
380+ in lens getter setter
375381
376382class InitialAttributes a where
377383 initialAttributes :: Lens' a (Map AttributeName Text)