@@ -1,4 +1,4 @@
1−{-# LANGUAGE ScopedTypeVariables, LambdaCase, ConstraintKinds, TypeFamilies, FlexibleContexts, MultiParamTypeClasses, FlexibleInstances, RecursiveDo, GADTs, DataKinds, RankNTypes, TemplateHaskell, FunctionalDependencies #-}
1+{-# LANGUAGE ScopedTypeVariables, LambdaCase, ConstraintKinds, TypeFamilies, FlexibleContexts, MultiParamTypeClasses, FlexibleInstances, RecursiveDo, GADTs, DataKinds, RankNTypes, TemplateHaskell #-}
3module Reflex.Dom.Widget.Basic where
3module Reflex.Dom.Widget.Basic where
@@ -651,11 +651,11 @@ emptyElWith' elementTag cfg = do
651elDynAttrNS' :: forall t m a. MonadWidget t m => Maybe String -> String -> Dynamic t (Map String String) -> m a -> m (El t, a)
651elDynAttrNS' :: forall t m a. MonadWidget t m => Maybe String -> String -> Dynamic t (Map String String) -> m a -> m (El t, a)
652elDynAttrNS' mns elementTag attrs = elWith' elementTag $
652elDynAttrNS' mns elementTag attrs = elWith' elementTag $
653 def & namespace .~ mns
653 def & namespace .~ mns
654− & attributes .~ attrs
654+ & elConfig_attributes .~ attrs
656{-# INLINABLE elDynAttr' #-}
656{-# INLINABLE elDynAttr' #-}
657elDynAttr' :: forall t m a. MonadWidget t m => String -> Dynamic t (Map String String) -> m a -> m (El t, a)
657elDynAttr' :: forall t m a. MonadWidget t m => String -> Dynamic t (Map String String) -> m a -> m (El t, a)
658−elDynAttr' elementTag attrs = elWith' elementTag $ def & attributes .~ attrs
658+elDynAttr' elementTag attrs = elWith' elementTag $ def & elConfig_attributes .~ attrs
660{-# INLINABLE elAttr #-}
660{-# INLINABLE elAttr #-}
661elAttr :: forall t m a. MonadWidget t m => String -> Map String String -> m a -> m a
661elAttr :: forall t m a. MonadWidget t m => String -> Map String String -> m a -> m a
@@ -671,7 +671,7 @@ elAttr' elementTag attrs = elWith' elementTag $ def & attributes .~ attrs
672{-# INLINABLE elDynAttr #-}
672{-# INLINABLE elDynAttr #-}
673elDynAttr :: forall t m a. MonadWidget t m => String -> Dynamic t (Map String String) -> m a -> m a
673elDynAttr :: forall t m a. MonadWidget t m => String -> Dynamic t (Map String String) -> m a -> m a
674−elDynAttr elementTag attrs = elWith elementTag $ def & attributes .~ attrs
674+elDynAttr elementTag attrs = elWith elementTag $ def & elConfig_attributes .~ attrs
676{-# INLINABLE el #-}
676{-# INLINABLE el #-}
677el :: forall t m a. MonadWidget t m => String -> m a -> m a
677el :: forall t m a. MonadWidget t m => String -> m a -> m a
@@ -713,10 +713,12 @@ data Link t
713 = Link { _link_clicked :: Event t ()
713 = Link { _link_clicked :: Event t ()
716−class HasAttributes s t a b | s -> a, t -> b, s b -> t, t a -> s where
716+class HasAttributes a where
717− attributes :: Lens s t a b
718+ attributes :: Lens' a (Attrs a)
719−instance HasAttributes (ElConfig attrs) (ElConfig attrs') attrs attrs' where
720+instance HasAttributes (ElConfig attrs) where
721+ type Attrs (ElConfig attrs) = attrs
720 attributes = elConfig_attributes
722 attributes = elConfig_attributes
722class HasNamespace a where
724class HasNamespace a where