module Gargantext.Utils.ReactBootstrap where import Reactix as R import Gargantext.Prelude type OverlayTriggerProps = ( overlay :: R.Element , placement :: String , trigger :: String ) type Props = ( ) type ContentProps = ( ) type TitleProps = ( "as" :: String ) foreign import overlayTriggerCpt :: R.Component OverlayTriggerProps foreign import popoverCpt :: R.Component Props foreign import popoverContentCpt :: R.Component ContentProps foreign import popoverTitleCpt :: R.Component TitleProps overlayTrigger :: Record OverlayTriggerProps -> Array R.Element -> R.Element overlayTrigger = R.rawCreateElement overlayTriggerCpt popover :: Record Props -> Array R.Element -> R.Element popover = R.rawCreateElement popoverCpt popoverContent :: Record ContentProps -> Array R.Element -> R.Element popoverContent = R.rawCreateElement popoverContentCpt popoverTitle :: Record TitleProps -> Array R.Element -> R.Element popoverTitle = R.rawCreateElement popoverTitleCpt -- example -- example = -- let popover = GUB.popover {} [ -- GUB.popoverTitle { "as": "h3" } [ H.text "hello title" ] -- , GUB.popoverContent {} [ H.div {} [ H.text "content" ] ] -- ] -- in GUB.overlayTrigger { overlay: popover -- , placement: "right" -- , trigger: "click" } [ -- H.button { className: "btn btn-default" } [ H.text "Click me" ] -- ]