@@ -149,14 +149,14 @@ type Namespace = Text
150data TextNodeConfig t
150data TextNodeConfig t
151 = TextNodeConfig { _textNodeConfig_initialContents :: Text
151 = TextNodeConfig { _textNodeConfig_initialContents :: Text
152− , _textNodeConfig_setContents :: Event t Text
152+ , _textNodeConfig_setContents :: Maybe (Event t Text)
155instance (Reflex t) => Default (TextNodeConfig t) where
155instance (Reflex t) => Default (TextNodeConfig t) where
156 {-# INLINABLE def #-}
156 {-# INLINABLE def #-}
157 def = TextNodeConfig
157 def = TextNodeConfig
158 { _textNodeConfig_initialContents = mempty
158 { _textNodeConfig_initialContents = mempty
159− , _textNodeConfig_setContents = never
159+ , _textNodeConfig_setContents = Nothing
162data TextNode d t = TextNode
162data TextNode d t = TextNode
@@ -327,9 +327,21 @@ data SelectElement er d t = SelectElement
327 , _selectElement_raw :: RawSelectElement d
327 , _selectElement_raw :: RawSelectElement d
331+ [("_textNodeConfig_initialContents", "textNodeConfig_initialContents")]
334+-- | 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'.
335+textNodeConfig_setContents :: Reflex t => Lens (TextNodeConfig t) (TextNodeConfig t) (Event t Text) (Event t Text)
336+textNodeConfig_setContents =
337+ let getter t = case _textNodeConfig_setContents t of
340+ setter t e = t { _textNodeConfig_setContents = Just e }
341+ in lens getter setter
330concat <$> mapM makeLenses
343concat <$> mapM makeLenses
332− , ''ElementConfig
344+ [ ''ElementConfig
333 , ''PlaceholderConfig
345 , ''PlaceholderConfig
334 , ''InputElementConfig
346 , ''InputElementConfig
335 , ''TextAreaElementConfig
347 , ''TextAreaElementConfig