open ReasonReact; module type Config = {let reactClass: reactClass;}; module Make = (Config: Config) => { [@bs.deriving jsConverter] type fontSize = [ | [@bs.as "default"] `Default | [@bs.as "inherit"] `Inherit | [@bs.as "small"] `Small | [@bs.as "large"] `Large ]; [@bs.deriving abstract] type jsProps = { [@bs.optional] className: string, [@bs.optional] [@bs.as "htmlColor"] color: string, [@bs.optional] [@bs.as "color"] colorVariant: string, [@bs.optional] component: string, [@bs.optional] classes: Js.Dict.t(string), [@bs.optional] fontSize: string, [@bs.optional] titleAccess: string, [@bs.optional] viewBox: string, }; let make = ( ~className=?, ~color=?, ~colorVariant=?, ~component=?, ~classes=?, ~fontSize=?, ~titleAccess=?, ~viewBox=?, children, ) => { let jsFontSize = fontSize->Belt.Option.map(fontSizeToJs); wrapJsForReason( ~reactClass=Config.reactClass, ~props= jsProps( ~className?, ~color?, ~colorVariant?, ~component?, ~classes?, ~fontSize=?jsFontSize, ~titleAccess?, ~viewBox?, (), ), children, ); }; };