module RawPlot = { type primaryDistribution = option<{"xs": array, "ys": array}> type discrete = option<{"xs": array, "ys": array}> type props type makeType = props => React.element @obj external makeProps: ( ~height: int=?, ~marginBottom: int=?, ~marginTop: int=?, ~maxX: float=?, ~minX: float=?, ~yMaxContinuousDomainFactor: float=?, ~yMaxDiscreteDomainFactor: float=?, ~onHover: float => (), ~continuous: option<{"xs": array, "ys": array}>=?, ~discrete: option<{"xs": array, "ys": array}>=?, ~xScale: string=?, ~yScale: string=?, ~showDistributionLines: bool=?, ~showDistributionYAxis: bool=?, ~showVerticalLine: bool=?, ~timeScale:Js.Null.t<{"unit": string, "zero": MomentRe.Moment.t}>=?, ~verticalLine: int=?, ~children: array=?, unit // This unit is a quirk of the type system. Apparently it must exist to have optional arguments in a type ) => props = "" @module("./distPlotReact.js") external make : makeType = "default" } module Styles = { open CssJs let textOverlay = style(. [position(#absolute)]) let mainText = style(. [ fontSize(#em(1.1))]) let secondaryText = style(. [fontSize(#em(0.9))]) let graph = chartColor => style(. [ position(#relative), selector(. ".xAxis", [fontSize(#px(9))]), selector(. ".xAxis .domain", [ display(#none) ]), selector(. ".xAxis .tick line", [ display(#none) ]), selector(. ".xAxis .tick text", [ color(#hex("7a8998")) ]), selector(. ".chart .areaPath", [ SVG.fill(chartColor) ]), selector(. ".lollipopsLine", [ SVG.stroke(#hex("bfcad4")) ]), selector(. ".lollipopsCircle", [ SVG.stroke(#hex("bfcad4")), SVG.fill(#hex("bfcad4")) ]), selector(. ".lollipopsXAxis .domain", [ display(#none) ]), selector(. ".lollipopsXAxis .tick line", [ display(#none) ]), selector(. ".lollipopsXAxis .tick text", [ display(#none) ]), selector(. ".lollipopsTooltip", [ position(#absolute), textAlign(#center), padding(px(2)), backgroundColor(hex("bfcad4")), borderRadius(px(3)), ], ), selector(. ".lollipopsCircleMouseover", [ SVG.fill(hex("ffa500")), SVG.stroke(#hex("fff")) ], ), selector(. ".lollipopsLineMouseover", [ SVG.stroke(#hex("ffa500")) ]), ]) } @react.component let make = ( ~color=#hex("111"), ~discrete=?, ~height=200, ~maxX=?, ~minX=?, ~yMaxDiscreteDomainFactor=?, ~yMaxContinuousDomainFactor=?, ~onHover: float => unit=_ => (), ~continuous=?, ~xScale=?, ~yScale=?, ~showDistributionLines=false, ~showDistributionYAxis=false, ~showVerticalLine=false, ~timeScale=?, ) =>
E.O.fmap(ForetoldAppSquiggle.XYShape.T.toJs)} height marginBottom=50 marginTop=0 onHover continuous={continuous |> E.O.fmap(ForetoldAppSquiggle.XYShape.T.toJs)} showDistributionLines showDistributionYAxis showVerticalLine />