@@ -90,7 +90,7 @@ textInput (TextInputConfig inputType initial eSetValue dAttrs) = do
9090 i <- inputElement $ def
9191 & inputElementConfig_initialValue .~ initial
9292 & inputElementConfig_setValue .~ eSetValue
93− & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ modifyAttrs
93+ & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
9494 return $ TextInput
9595 { _textInput_value = _inputElement_value i
9696 , _textInput_input = _inputElement_input i
@@ -140,7 +140,7 @@ rangeInput (RangeInputConfig initial eSetValue dAttrs) = do
140140 i <- inputElement $ def
141141 & inputElementConfig_initialValue .~ (T.pack . show $ initial)
142142 & inputElementConfig_setValue .~ (T.pack . show <$> eSetValue)
143− & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ modifyAttrs
143+ & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
144144 return $ RangeInput
145145 { _rangeInput_value = read . T.unpack <$> _inputElement_value i
146146 , _rangeInput_input = read . T.unpack <$> _inputElement_input i
@@ -177,7 +177,7 @@ textArea (TextAreaConfig initial eSet attrs) = do
177177 i <- textAreaElement $ def
178178 & textAreaElementConfig_initialValue .~ initial
179179 & textAreaElementConfig_setValue .~ eSet
180− & textAreaElementConfig_elementConfig . elementConfig_modifyAttributes .~ modifyAttrs
180+ & textAreaElementConfig_elementConfig . elementConfig_modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
181181 return $ TextArea
182182 { _textArea_value = _textAreaElement_value i
183183 , _textArea_input = _textAreaElement_input i
@@ -214,7 +214,7 @@ checkbox checked config = do
214214 & inputElementConfig_initialChecked .~ checked
215215 & inputElementConfig_setChecked .~ _checkboxConfig_setValue config
216216 & inputElementConfig_elementConfig . elementConfig_initialAttributes .~ Map.mapKeys (AttributeName Nothing) permanentAttrs
217− & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ modifyAttrs
217+ & inputElementConfig_elementConfig . elementConfig_modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
218218 return $ Checkbox
219219 { _checkbox_value = _inputElement_checked i
220220 , _checkbox_change = _inputElement_checkedChange i
@@ -289,7 +289,7 @@ checkboxView dAttrs dValue = do
289289 return $ (,) preventDefault $ return $ Just $ CheckboxViewEventResult b
290290 elementConfig :: ElementConfig CheckboxViewEventResult t m
291291 elementConfig = (def :: ElementConfig EventResult t m)
292− { _elementConfig_modifyAttributes = modifyAttrs
292+ { _elementConfig_modifyAttributes = fmap mapKeysToAttributeName modifyAttrs
293293 , _elementConfig_initialAttributes = Map.mapKeys (AttributeName Nothing) permanentAttrs
294294 , _elementConfig_eventSpec = GhcjsEventSpec
295295 { _ghcjsEventSpec_filters = filters
@@ -330,7 +330,7 @@ fileInput config = do
330330 let filters = DMap.singleton Change . GhcjsEventFilter $ \_ -> do
331331 return . (,) mempty $ return . Just $ EventResult ()
332332 elCfg = (def :: ElementConfig EventResult t m)
333− & modifyAttributes .~ modifyAttrs
333+ & modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
334334 & elementConfig_eventSpec . ghcjsEventSpec_filters .~ filters
335335 cfg = (def :: InputElementConfig EventResult t m) & inputElementConfig_elementConfig .~ elCfg
336336 eRaw <- inputElement cfg
@@ -427,7 +427,7 @@ dropdown k0 options (DropdownConfig setK attrs) = do
427427 in (Map.fromList $ map snd xs, Bimap.fromList $ map fst xs)
428428 modifyAttrs <- dynamicAttributesToModifyAttributes attrs
429429 let cfg = def
430− & selectElementConfig_elementConfig . elementConfig_modifyAttributes .~ modifyAttrs
430+ & selectElementConfig_elementConfig . elementConfig_modifyAttributes .~ fmap mapKeysToAttributeName modifyAttrs
431431 & selectElementConfig_setValue .~ fmap (T.pack . show) (attachPromptlyDynWithMaybe (flip Bimap.lookupR) ixKeys setK)
432432 (eRaw, _) <- selectElement cfg $ listWithKey indexedOptions $ \(ix, k) v -> do
433433 let optionAttrs = fmap (\dk -> "value" =: T.pack (show ix) <> if dk == k then "selected" =: "selected" else mempty) defaultKey