{"version":3,"sources":["../src/use-echarts.ts","../src/events.ts","../src/use-connect.ts","../src/echart.tsx"],"sourcesContent":["// Dependencies\nimport { init, ECharts, use as echartsUse } from 'echarts/core'\nimport { useEffect, useRef, useState } from 'react'\n\n// Constants\nimport { echartsEvents as ev } from './events'\n\n// Types\nimport type { EChartEventsProps } from './events'\nimport type { EChartsOption, SetOptionOpts } from 'echarts'\n\nexport type UseEChartsOptions = EChartEventsProps &\n  SetOptionOpts &\n  EChartsOption &\n  Parameters<typeof init>[2] & {\n    group?: ECharts['group']\n    theme?: Parameters<typeof init>[1]\n    use?: Parameters<typeof echartsUse>[0]\n  }\n\nasync function getGlobalUse() {\n  const all = [\n    import('echarts/features'),\n    import('echarts/charts'),\n    import('echarts/components'),\n    import('echarts/renderers')\n  ]\n\n  const promise = await Promise.all(all.map(m => m.then(m => Object.values(m))))\n\n  return promise.flat()\n}\n\nexport function useECharts<T extends HTMLElement>({\n  // Init\n  devicePixelRatio,\n  height,\n  locale,\n  pointerSize,\n  renderer,\n  theme,\n  use,\n  useCoarsePointer,\n  useDirtyRect,\n  width,\n\n  // eChartsInstance\n  group,\n\n  // SetOption\n  lazyUpdate,\n  notMerge,\n  replaceMerge,\n  silent,\n  transition,\n  darkMode,\n  media,\n  options,\n  stateAnimation,\n\n  // Option\n  angleAxis,\n  animation,\n  animationDelay,\n  animationDelayUpdate,\n  animationDuration,\n  animationDurationUpdate,\n  animationEasing,\n  animationEasingUpdate,\n  animationThreshold,\n  aria,\n  axisPointer,\n  backgroundColor,\n  blendMode,\n  brush,\n  calendar,\n  color,\n  dataZoom,\n  dataset,\n  geo,\n  graphic,\n  grid,\n  hoverLayerThreshold,\n  legend,\n  parallel,\n  parallelAxis,\n  polar,\n  progressive,\n  progressiveThreshold,\n  radar,\n  radiusAxis,\n  series,\n  singleAxis,\n  textStyle,\n  timeline,\n  title,\n  toolbox,\n  tooltip,\n  useUTC,\n  visualMap,\n  xAxis,\n  yAxis,\n\n  // Events\n  onAxisAreaSelected,\n  onBrush,\n  onBrushEnd,\n  onBrushSelected,\n  onClick,\n  onContextMenu,\n  onDataRangeSelected,\n  onDataViewChanged,\n  onDataZoom,\n  onDoubleClick,\n  onDownplay,\n  onFinished,\n  onGeoSelectChanged,\n  onGeoSelected,\n  onGeoUnselected,\n  onGlobalCursorTaken,\n  onGlobalOut,\n  onHighlight,\n  onLegendInverseSelect,\n  onLegendScroll,\n  onLegendSelectChanged,\n  onLegendSelected,\n  onLegendUnselected,\n  onMagicTypeChanged,\n  onMouseDown,\n  onMouseMove,\n  onMouseOut,\n  onMouseOver,\n  onRendered,\n  onRestore,\n  onSelectChanged,\n  onTimelineChanged,\n  onTimelinePlayChanged\n}: UseEChartsOptions): [(node: T) => void, ECharts | undefined] {\n  const containerRef = useRef<T>()\n  const echartsRef = useRef<ECharts>()\n  const resizeObserverRef = useRef<ResizeObserver>()\n  const [started, setStarted] = useState(false)\n  const echartsInstance = echartsRef.current\n\n  async function setContainerRef(node: T) {\n    if (containerRef.current && echartsRef.current) return\n\n    containerRef.current = node\n    echartsRef.current = await startEcharts()\n    resizeObserverRef.current = startResizeObserver()\n\n    setStarted(true)\n  }\n\n  async function startEcharts() {\n    if (!containerRef.current) return\n\n    const useOpts = use || (await getGlobalUse())\n\n    echartsUse(useOpts)\n\n    return init(containerRef.current, theme, {\n      devicePixelRatio,\n      height,\n      locale,\n      pointerSize,\n      renderer,\n      useCoarsePointer,\n      useDirtyRect,\n      width\n    })\n  }\n\n  function startResizeObserver() {\n    const resizeObserver = new ResizeObserver(() => {\n      echartsRef.current?.resize()\n    })\n\n    if (containerRef.current) resizeObserver.observe(containerRef.current)\n    return resizeObserver\n  }\n\n  useEffect(() => {\n    return () => echartsInstance?.clear?.()\n  }, [])\n\n  useEffect(() => {\n    if (!echartsInstance) return\n\n    if (group) echartsInstance.group = group\n  }, [group, started, echartsInstance])\n\n  useEffect(() => {\n    if (!echartsInstance) return\n\n    echartsInstance.setOption(\n      {\n        series,\n        useUTC,\n        xAxis,\n        yAxis,\n        progressive,\n        blendMode,\n        hoverLayerThreshold,\n        progressiveThreshold,\n        ...(angleAxis && { angleAxis }),\n        ...(animation && { animation }),\n        ...(animationDelay && { animationDelay }),\n        ...(animationDelayUpdate && { animationDelayUpdate }),\n        ...(animationDuration && { animationDuration }),\n        ...(animationDurationUpdate && { animationDurationUpdate }),\n        ...(animationEasing && { animationEasing }),\n        ...(animationEasingUpdate && { animationEasingUpdate }),\n        ...(animationThreshold && { animationThreshold }),\n        ...(aria && { aria }),\n        ...(axisPointer && { axisPointer }),\n        ...(backgroundColor && { backgroundColor }),\n        ...(brush && { brush }),\n        ...(calendar && { calendar }),\n        ...(color && { color }),\n        ...(darkMode && { darkMode }),\n        ...(dataset && { dataset }),\n        ...(dataZoom && { dataZoom }),\n        ...(geo && { geo }),\n        ...(graphic && { graphic }),\n        ...(grid && { grid }),\n        ...(legend && { legend }),\n        ...(media && { media }),\n        ...(options && { options }),\n        ...(parallel && { parallel }),\n        ...(parallelAxis && { parallelAxis }),\n        ...(polar && { polar }),\n        ...(radar && { radar }),\n        ...(radiusAxis && { radiusAxis }),\n        ...(series && { series }),\n        ...(singleAxis && { singleAxis }),\n        ...(stateAnimation && { stateAnimation }),\n        ...(textStyle && { textStyle }),\n        ...(timeline && { timeline }),\n        ...(title && { title }),\n        ...(toolbox && { toolbox }),\n        ...(tooltip && { tooltip }),\n        ...(useUTC && { useUTC }),\n        ...(visualMap && { visualMap }),\n        ...(xAxis && { xAxis }),\n        ...(yAxis && { yAxis })\n      },\n      {\n        lazyUpdate,\n        notMerge,\n        replaceMerge,\n        silent,\n        transition\n      }\n    )\n  }, [\n    angleAxis,\n    animation,\n    animationDelay,\n    animationDelayUpdate,\n    animationDuration,\n    animationDurationUpdate,\n    animationEasing,\n    animationEasingUpdate,\n    animationThreshold,\n    aria,\n    axisPointer,\n    backgroundColor,\n    blendMode,\n    brush,\n    calendar,\n    color,\n    darkMode,\n    dataset,\n    dataZoom,\n    geo,\n    graphic,\n    grid,\n    hoverLayerThreshold,\n    legend,\n    media,\n    options,\n    parallel,\n    parallelAxis,\n    polar,\n    progressive,\n    progressiveThreshold,\n    radar,\n    radiusAxis,\n    series,\n    singleAxis,\n    stateAnimation,\n    textStyle,\n    timeline,\n    title,\n    toolbox,\n    tooltip,\n    useUTC,\n    visualMap,\n    xAxis,\n    yAxis,\n\n    //\n    lazyUpdate,\n    notMerge,\n    replaceMerge,\n    silent,\n    transition,\n\n    //\n    started,\n    echartsInstance\n  ])\n\n  useEffect(() => {\n    if (!echartsInstance) return\n\n    if (onAxisAreaSelected) {\n      echartsInstance.on(ev.onAxisAreaSelected, onAxisAreaSelected)\n    }\n    if (onBrush) {\n      echartsInstance.on(ev.onBrush, onBrush)\n    }\n    if (onBrushEnd) {\n      echartsInstance.on(ev.onBrushEnd, onBrushEnd)\n    }\n    if (onBrushSelected) {\n      echartsInstance.on(ev.onBrushSelected, onBrushSelected)\n    }\n    if (onClick) {\n      echartsInstance.on(ev.onClick, onClick)\n    }\n    if (onContextMenu) {\n      echartsInstance.on(ev.onContextMenu, onContextMenu)\n    }\n    if (onDataRangeSelected) {\n      echartsInstance.on(ev.onDataRangeSelected, onDataRangeSelected)\n    }\n    if (onDataViewChanged) {\n      echartsInstance.on(ev.onDataViewChanged, onDataViewChanged)\n    }\n    if (onDataZoom) {\n      echartsInstance.on(ev.onDataZoom, onDataZoom)\n    }\n    if (onDoubleClick) {\n      echartsInstance.on(ev.onDoubleClick, onDoubleClick)\n    }\n    if (onDownplay) {\n      echartsInstance.on(ev.onDownplay, onDownplay)\n    }\n    if (onFinished) {\n      echartsInstance.on(ev.onFinished, onFinished)\n    }\n    if (onGeoSelectChanged) {\n      echartsInstance.on(ev.onGeoSelectChanged, onGeoSelectChanged)\n    }\n    if (onGeoSelected) {\n      echartsInstance.on(ev.onGeoSelected, onGeoSelected)\n    }\n    if (onGeoUnselected) {\n      echartsInstance.on(ev.onGeoUnselected, onGeoUnselected)\n    }\n    if (onGlobalCursorTaken) {\n      echartsInstance.on(ev.onGlobalCursorTaken, onGlobalCursorTaken)\n    }\n    if (onGlobalOut) {\n      echartsInstance.on(ev.onGlobalOut, onGlobalOut)\n    }\n    if (onHighlight) {\n      echartsInstance.on(ev.onHighlight, onHighlight)\n    }\n    if (onLegendInverseSelect) {\n      echartsInstance.on(ev.onLegendInverseSelect, onLegendInverseSelect)\n    }\n    if (onLegendScroll) {\n      echartsInstance.on(ev.onLegendScroll, onLegendScroll)\n    }\n    if (onLegendScroll) {\n      echartsInstance.on(ev.onLegendScroll, onLegendScroll)\n    }\n    if (onLegendSelectChanged) {\n      echartsInstance.on(ev.onLegendSelectChanged, onLegendSelectChanged)\n    }\n    if (onLegendSelected) {\n      echartsInstance.on(ev.onLegendSelected, onLegendSelected)\n    }\n    if (onLegendUnselected) {\n      echartsInstance.on(ev.onLegendUnselected, onLegendUnselected)\n    }\n    if (onMagicTypeChanged) {\n      echartsInstance.on(ev.onMagicTypeChanged, onMagicTypeChanged)\n    }\n    if (onMouseDown) {\n      echartsInstance.on(ev.onMouseDown, onMouseDown)\n    }\n    if (onMouseMove) {\n      echartsInstance.on(ev.onMouseMove, onMouseMove)\n    }\n    if (onMouseOut) {\n      echartsInstance.on(ev.onMouseOut, onMouseOut)\n    }\n    if (onMouseOver) {\n      echartsInstance.on(ev.onMouseOver, onMouseOver)\n    }\n    if (onRendered) {\n      echartsInstance.on(ev.onRendered, onRendered)\n    }\n    if (onRestore) {\n      echartsInstance.on(ev.onRestore, onRestore)\n    }\n    if (onSelectChanged) {\n      echartsInstance.on(ev.onSelectChanged, onSelectChanged)\n    }\n    if (onTimelineChanged) {\n      echartsInstance.on(ev.onTimelineChanged, onTimelineChanged)\n    }\n    if (onTimelinePlayChanged) {\n      echartsInstance.on(ev.onTimelinePlayChanged, onTimelinePlayChanged)\n    }\n  }, [\n    onAxisAreaSelected,\n    onBrush,\n    onBrushEnd,\n    onBrushSelected,\n    onClick,\n    onContextMenu,\n    onDataRangeSelected,\n    onDataViewChanged,\n    onDataZoom,\n    onDoubleClick,\n    onDownplay,\n    onFinished,\n    onGeoSelectChanged,\n    onGeoSelected,\n    onGeoUnselected,\n    onGlobalCursorTaken,\n    onGlobalOut,\n    onHighlight,\n    onLegendInverseSelect,\n    onLegendScroll,\n    onLegendSelectChanged,\n    onLegendSelected,\n    onLegendUnselected,\n    onMagicTypeChanged,\n    onMouseDown,\n    onMouseMove,\n    onMouseOut,\n    onMouseOver,\n    onRendered,\n    onRestore,\n    onSelectChanged,\n    onTimelineChanged,\n    onTimelinePlayChanged,\n\n    started\n  ])\n\n  return [setContainerRef, echartsRef.current]\n}\n","export type EChartsEvent =\n  | 'axisareaselected'\n  | 'brush'\n  | 'brushend'\n  | 'brushselected'\n  | 'click'\n  | 'contextmenu'\n  | 'datarangeselected'\n  | 'dataviewchanged'\n  | 'datazoom'\n  | 'dblclick'\n  | 'downplay'\n  | 'finished'\n  | 'geoselectchanged'\n  | 'geoselected'\n  | 'geounselected'\n  | 'globalcursortaken'\n  | 'globalout'\n  | 'highlight'\n  | 'legendinverseselect'\n  | 'legendscroll'\n  | 'legendselectchanged'\n  | 'legendselected'\n  | 'legendunselected'\n  | 'magictypechanged'\n  | 'mousedown'\n  | 'mousemove'\n  | 'mouseout'\n  | 'mouseover'\n  | 'rendered'\n  | 'restore'\n  | 'selectchanged'\n  | 'timelinechanged'\n  | 'timelineplaychanged'\n\nexport type EChartsEventProp =\n  | 'onAxisAreaSelected'\n  | 'onBrush'\n  | 'onBrushEnd'\n  | 'onBrushSelected'\n  | 'onClick'\n  | 'onContextMenu'\n  | 'onDataRangeSelected'\n  | 'onDataViewChanged'\n  | 'onDataZoom'\n  | 'onDoubleClick'\n  | 'onDownplay'\n  | 'onFinished'\n  | 'onGeoSelectChanged'\n  | 'onGeoSelected'\n  | 'onGeoUnselected'\n  | 'onGlobalCursorTaken'\n  | 'onGlobalOut'\n  | 'onHighlight'\n  | 'onLegendInverseSelect'\n  | 'onLegendScroll'\n  | 'onLegendSelectChanged'\n  | 'onLegendSelected'\n  | 'onLegendUnselected'\n  | 'onMagicTypeChanged'\n  | 'onMouseDown'\n  | 'onMouseMove'\n  | 'onMouseOut'\n  | 'onMouseOver'\n  | 'onRendered'\n  | 'onRestore'\n  | 'onSelectChanged'\n  | 'onTimelineChanged'\n  | 'onTimelinePlayChanged'\n\nexport type EChartEventsProps = {\n  [K in EChartsEventProp]?: () => any\n}\n\nexport const echartsEvents: Record<EChartsEventProp, EChartsEvent> = {\n  onClick: 'click',\n  onDoubleClick: 'dblclick',\n  onMouseDown: 'mousedown',\n  onMouseMove: 'mousemove',\n  onMouseOver: 'mouseover',\n  onMouseOut: 'mouseout',\n  onGlobalOut: 'globalout',\n  onContextMenu: 'contextmenu',\n  onHighlight: 'highlight',\n  onDownplay: 'downplay',\n  onSelectChanged: 'selectchanged',\n  onLegendSelectChanged: 'legendselectchanged',\n  onLegendSelected: 'legendselected',\n  onLegendUnselected: 'legendunselected',\n  onLegendInverseSelect: 'legendinverseselect',\n  onLegendScroll: 'legendscroll',\n  onDataZoom: 'datazoom',\n  onDataRangeSelected: 'datarangeselected',\n  onTimelineChanged: 'timelinechanged',\n  onTimelinePlayChanged: 'timelineplaychanged',\n  onRestore: 'restore',\n  onDataViewChanged: 'dataviewchanged',\n  onMagicTypeChanged: 'magictypechanged',\n  onGeoSelectChanged: 'geoselectchanged',\n  onGeoSelected: 'geoselected',\n  onGeoUnselected: 'geounselected',\n  onAxisAreaSelected: 'axisareaselected',\n  onBrush: 'brush',\n  onBrushEnd: 'brushend',\n  onBrushSelected: 'brushselected',\n  onGlobalCursorTaken: 'globalcursortaken',\n  onRendered: 'rendered',\n  onFinished: 'finished'\n}\n","import { connect, disconnect } from 'echarts/core'\nimport { useState } from 'react'\n\nexport const useConnect = (group: string) => {\n  const [isConnected, setIsConnected] = useState(false)\n\n  function onChange(connected: boolean) {\n    if (connected) {\n      connect(group)\n    } else {\n      disconnect(group)\n    }\n    setIsConnected(connected)\n  }\n\n  return [isConnected, onChange]\n}\n","// Hooks\nimport { useECharts } from './use-echarts'\n\n// Types\nimport type { UseEChartsOptions } from './use-echarts'\nimport type { FC, HTMLAttributes } from 'react'\n\ntype ContainerProps = Omit<\n  HTMLAttributes<HTMLDivElement>,\n  | 'onClick'\n  | 'onDoubleClick'\n  | 'onMouseDown'\n  | 'onMouseMove'\n  | 'onMouseOut'\n  | 'onMouseOver'\n>\nexport type EChartProps = ContainerProps & UseEChartsOptions\n\nexport const EChart: FC<EChartProps> = ({\n  // Init\n  devicePixelRatio,\n  height,\n  locale,\n  pointerSize,\n  renderer,\n  theme,\n  use,\n  useCoarsePointer,\n  useDirtyRect,\n  width,\n\n  // eChartsInstance\n  group,\n\n  // SetOption\n  lazyUpdate,\n  notMerge,\n  replaceMerge,\n  silent,\n  transition,\n  darkMode,\n  media,\n  options,\n  stateAnimation,\n\n  // Option\n  angleAxis,\n  animation,\n  animationDelay,\n  animationDelayUpdate,\n  animationDuration,\n  animationDurationUpdate,\n  animationEasing,\n  animationEasingUpdate,\n  animationThreshold,\n  aria,\n  axisPointer,\n  backgroundColor,\n  blendMode,\n  brush,\n  calendar,\n  color,\n  dataZoom,\n  dataset,\n  geo,\n  graphic,\n  grid,\n  hoverLayerThreshold,\n  legend,\n  parallel,\n  parallelAxis,\n  polar,\n  progressive,\n  progressiveThreshold,\n  radar,\n  radiusAxis,\n  series,\n  singleAxis,\n  textStyle,\n  timeline,\n  title,\n  toolbox,\n  tooltip,\n  useUTC,\n  visualMap,\n  xAxis,\n  yAxis,\n\n  // Events\n  onAxisAreaSelected,\n  onBrush,\n  onBrushEnd,\n  onBrushSelected,\n  onClick,\n  onContextMenu,\n  onDataRangeSelected,\n  onDataViewChanged,\n  onDataZoom,\n  onDoubleClick,\n  onDownplay,\n  onFinished,\n  onGeoSelectChanged,\n  onGeoSelected,\n  onGeoUnselected,\n  onGlobalCursorTaken,\n  onGlobalOut,\n  onHighlight,\n  onLegendInverseSelect,\n  onLegendScroll,\n  onLegendSelectChanged,\n  onLegendSelected,\n  onLegendUnselected,\n  onMagicTypeChanged,\n  onMouseDown,\n  onMouseMove,\n  onMouseOut,\n  onMouseOver,\n  onRendered,\n  onRestore,\n  onSelectChanged,\n  onTimelineChanged,\n  onTimelinePlayChanged,\n\n  ...rest\n}) => {\n  const [ref] = useECharts<HTMLDivElement>({\n    // Init\n    devicePixelRatio,\n    height,\n    locale,\n    pointerSize,\n    renderer,\n    theme,\n    use,\n    useCoarsePointer,\n    useDirtyRect,\n    width,\n\n    // eChartsInstance\n    group,\n\n    // SetOption\n    lazyUpdate,\n    notMerge,\n    replaceMerge,\n    silent,\n    transition,\n    darkMode,\n    media,\n    options,\n    stateAnimation,\n\n    // Option\n    angleAxis,\n    animation,\n    animationDelay,\n    animationDelayUpdate,\n    animationDuration,\n    animationDurationUpdate,\n    animationEasing,\n    animationEasingUpdate,\n    animationThreshold,\n    aria,\n    axisPointer,\n    backgroundColor,\n    blendMode,\n    brush,\n    calendar,\n    color,\n    dataZoom,\n    dataset,\n    geo,\n    graphic,\n    grid,\n    hoverLayerThreshold,\n    legend,\n    parallel,\n    parallelAxis,\n    polar,\n    progressive,\n    progressiveThreshold,\n    radar,\n    radiusAxis,\n    series,\n    singleAxis,\n    textStyle,\n    timeline,\n    title,\n    toolbox,\n    tooltip,\n    useUTC,\n    visualMap,\n    xAxis,\n    yAxis,\n\n    // Events\n    onAxisAreaSelected,\n    onBrush,\n    onBrushEnd,\n    onBrushSelected,\n    onClick,\n    onContextMenu,\n    onDataRangeSelected,\n    onDataViewChanged,\n    onDataZoom,\n    onDoubleClick,\n    onDownplay,\n    onFinished,\n    onGeoSelectChanged,\n    onGeoSelected,\n    onGeoUnselected,\n    onGlobalCursorTaken,\n    onGlobalOut,\n    onHighlight,\n    onLegendInverseSelect,\n    onLegendScroll,\n    onLegendSelectChanged,\n    onLegendSelected,\n    onLegendUnselected,\n    onMagicTypeChanged,\n    onMouseDown,\n    onMouseMove,\n    onMouseOut,\n    onMouseOver,\n    onRendered,\n    onRestore,\n    onSelectChanged,\n    onTimelineChanged,\n    onTimelinePlayChanged\n  })\n\n  return <div {...rest} ref={ref} />\n}\n"],"mappings":"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","names":["m","useState"]}