UNPKG

apexcharts

Version:

A JavaScript Chart Library

912 lines (788 loc) 23.4 kB
@keyframes opaque { 0% { opacity: 0 } to { opacity: 1 } } @keyframes resizeanim { 0%, to { opacity: 0 } } .apexcharts-canvas { position: relative; direction: ltr !important; user-select: none; /* Focus indicator colour. Themes override below. */ --apexcharts-focus-color: #008FFB; } /* Dark theme & high-contrast: brighter focus colour for sufficient contrast. */ .apexcharts-canvas .apexcharts-theme-dark, .apexcharts-theme-dark.apexcharts-canvas { --apexcharts-focus-color: #FFD500; } .apexcharts-canvas.apexcharts-high-contrast, .apexcharts-high-contrast.apexcharts-canvas { --apexcharts-focus-color: #FFFF00; } /* Visually-hidden aria-live status region (WCAG 4.1.3 Status Messages). */ .apexcharts-sr-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } /* Respect OS-level reduced-motion preference (WCAG 2.3.3). */ @media (prefers-reduced-motion: reduce) { .apexcharts-canvas *, .apexcharts-canvas *::before, .apexcharts-canvas *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; } } .apexcharts-canvas ::-webkit-scrollbar { -webkit-appearance: none; width: 6px } .apexcharts-canvas ::-webkit-scrollbar-thumb { border-radius: 4px; background-color: rgba(0, 0, 0, .5); box-shadow: 0 0 1px rgba(255, 255, 255, .5); -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5) } .apexcharts-inner { position: relative } .apexcharts-text tspan { font-family: inherit } rect.legend-mouseover-inactive, .legend-mouseover-inactive rect, .legend-mouseover-inactive path, .legend-mouseover-inactive circle, .legend-mouseover-inactive line, .legend-mouseover-inactive text.apexcharts-yaxis-title-text, .legend-mouseover-inactive text.apexcharts-yaxis-label { transition: .15s ease all; opacity: .2 } .apexcharts-legend-text { padding-left: 15px; margin-left: -15px; } .apexcharts-legend-series[role="button"]:focus { outline: 2px solid var(--apexcharts-focus-color, #008FFB); outline-offset: 2px; } .apexcharts-legend-series[role="button"]:focus:not(:focus-visible) { outline: none; } .apexcharts-legend-series[role="button"]:focus-visible { outline: 2px solid var(--apexcharts-focus-color, #008FFB); outline-offset: 2px; } .apexcharts-series-collapsed { opacity: 0 } .apexcharts-canvas svg:focus:not(:focus-visible) { outline: none; } /* Keyboard navigation focus indicator on SVG data elements. SVG elements don't support CSS outline, so we use stroke. */ .apexcharts-bar-area.apexcharts-keyboard-focused, .apexcharts-candlestick-area.apexcharts-keyboard-focused, .apexcharts-boxPlot-area.apexcharts-keyboard-focused, .apexcharts-rangebar-area.apexcharts-keyboard-focused, .apexcharts-pie-area.apexcharts-keyboard-focused, .apexcharts-heatmap-rect.apexcharts-keyboard-focused, .apexcharts-treemap-rect.apexcharts-keyboard-focused { stroke: var(--apexcharts-focus-color, #008FFB); stroke-width: 2; stroke-opacity: 1; } .apexcharts-tooltip { --apx-tt-bg: #ffffff; --apx-tt-border: rgba(15, 23, 42, 0.06); /* Layered shadow: tight inner contact + soft outer drop. The two Y * offsets are exposed as variables so they flip in sync with the * arrow when the tooltip is below the data point — see the * `[data-placement="bottom"]` rule further down. */ --apx-tt-shadow-y-mid: 8px; --apx-tt-shadow-y-far: 16px; --apx-tt-shadow: 0 0 0 1px rgba(15, 23, 42, 0.04), 0 var(--apx-tt-shadow-y-mid) 16px -6px rgba(15, 23, 42, 0.12), 0 var(--apx-tt-shadow-y-far) 36px -12px rgba(15, 23, 42, 0.18); --apx-tt-arrow-bg: var(--apx-tt-bg); /* Two stacked drop-shadows: the first is a tight contact halo for * edge definition against light chart backgrounds; the second is a * softer directional drop that lifts the arrow off the surface. * `--apx-tt-arrow-drop-y` is the Y offset of the directional drop; * a per-placement rule below flips it to negative when the tooltip * is below the data point (arrow on top) so the shadow always * casts outward instead of into the tooltip body. */ --apx-tt-arrow-drop-y: 2px; --apx-tt-arrow-shadow: drop-shadow(0 0 0.5px rgba(15, 23, 42, 0.2)) drop-shadow(0 var(--apx-tt-arrow-drop-y) 4px rgba(15, 23, 42, 0.2)); --apx-tt-color: #0f172a; --apx-tt-color-muted: rgba(15, 23, 42, 0.55); border-radius: 8px; background: var(--apx-tt-bg); border: 1px solid var(--apx-tt-border); box-shadow: var(--apx-tt-shadow); color: var(--apx-tt-color); cursor: default; font-size: 13px; left: 0; top: 0; opacity: 0; pointer-events: none; position: absolute; display: flex; flex-direction: column; padding: 2px 0; white-space: nowrap; z-index: 12; transition: opacity .12s ease } /* While the tooltip is visible, smoothly animate position changes * between data points. Kept short (160 ms) and ease-out so it stays * responsive — too long would feel laggy when sweeping across many * points fast. The position transition is only attached after the * first paint (Position.applyTooltipPosition flips `data-positioned` * once the tooltip has been placed) so the *first* show doesn't slide * the tooltip in from the previously-stale (0,0) coordinates. */ .apexcharts-tooltip.apexcharts-active { opacity: 1; transition: opacity .12s ease } .apexcharts-tooltip.apexcharts-active[data-positioned="true"] { transition: opacity .12s ease, left .16s ease-out, top .16s ease-out } .apexcharts-tooltip.apexcharts-theme-light { /* defaults already set above; class kept for backward-compat selectors */ } .apexcharts-tooltip.apexcharts-theme-dark { --apx-tt-bg: #1c1c1f; --apx-tt-border: rgba(255, 255, 255, 0.08); --apx-tt-shadow: 0 0 0 1px rgba(0, 0, 0, 0.4), 0 var(--apx-tt-shadow-y-mid) 16px -6px rgba(0, 0, 0, 0.45), 0 var(--apx-tt-shadow-y-far) 36px -12px rgba(0, 0, 0, 0.55); --apx-tt-arrow-shadow: drop-shadow(0 0 0.5px rgba(0, 0, 0, 0.55)) drop-shadow(0 var(--apx-tt-arrow-drop-y) 4px rgba(0, 0, 0, 0.45)); --apx-tt-color: #f3f4f6; --apx-tt-color-muted: rgba(243, 244, 246, 0.55); } .apexcharts-tooltip * { font-family: inherit } .apexcharts-tooltip-title { padding: 8px 12px 4px; font-size: 12px; font-weight: 600; letter-spacing: 0.01em; color: var(--apx-tt-color-muted); background: transparent; border-bottom: none; margin-bottom: 0 } .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title, .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title { background: transparent; border-bottom: none } /* `fillSeriesColor`: each series-group already paints itself with the * series colour. Drop the glass body entirely (transparent bg, no * border, no backdrop-filter, no padding) and clip the coloured * series-group(s) to the tooltip's rounded corners so they fill the * shell edge-to-edge. Text inside the coloured group is forced to * white for contrast. */ .apexcharts-tooltip.apexcharts-tooltip-fill-series { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; border: none; padding: 0; overflow: hidden; color: #fff } .apexcharts-tooltip.apexcharts-tooltip-fill-series .apexcharts-tooltip-title { background: rgba(0, 0, 0, 0.22); color: #fff; opacity: 1; padding: 6px 12px } .apexcharts-tooltip.apexcharts-tooltip-fill-series .apexcharts-tooltip-series-group { color: #fff } /* Arrow connector — sits *entirely outside* the tooltip body. Shares * the body's solid fill so it reads as a single shape. `filter: * drop-shadow` traces the clipped triangle outline (a regular * `box-shadow` would be erased by the `clip-path`). */ .apexcharts-tooltip-arrow { position: absolute; width: 7px; height: 14px; background: var(--apx-tt-arrow-bg); /* The variable already contains the full `drop-shadow(...) ...` filter * chain (stacked shadows) so it's applied raw. */ -webkit-filter: var(--apx-tt-arrow-shadow); filter: var(--apx-tt-arrow-shadow); pointer-events: none; top: calc(var(--apx-tt-arrow-y, 50%) - 7px) } .apexcharts-tooltip[data-placement="right"] .apexcharts-tooltip-arrow { left: -7px; clip-path: polygon(0 50%, 100% 0, 100% 100%) } .apexcharts-tooltip[data-placement="left"] .apexcharts-tooltip-arrow { right: -7px; clip-path: polygon(100% 50%, 0 0, 0 100%) } /* Vertical arrow variants: tooltip is above/below the data point and the * arrow points down/up. The base rule above uses `--apx-tt-arrow-y` for * left/right placement; for top/bottom we re-orient the rectangle and * use `--apx-tt-arrow-x` (set by applyTooltipPosition). */ .apexcharts-tooltip[data-placement="top"] .apexcharts-tooltip-arrow, .apexcharts-tooltip[data-placement="bottom"] .apexcharts-tooltip-arrow { width: 14px; height: 7px; top: auto; left: calc(var(--apx-tt-arrow-x, 50%) - 7px) } .apexcharts-tooltip[data-placement="top"] .apexcharts-tooltip-arrow { bottom: -7px; clip-path: polygon(50% 100%, 0 0, 100% 0) } .apexcharts-tooltip[data-placement="bottom"] .apexcharts-tooltip-arrow { top: -7px; clip-path: polygon(50% 0, 0 100%, 100% 100%) } /* When the tooltip is flipped below the data point (arrow on top * pointing up), the default downward-biased shadows leave the top * edge of both the body *and* the arrow undefined. Flipping every * Y offset to negative casts the entire elevation upward so the * shadow falls between the tooltip and the bar above. */ .apexcharts-tooltip[data-placement="bottom"] { --apx-tt-shadow-y-mid: -8px; --apx-tt-shadow-y-far: -16px; --apx-tt-arrow-drop-y: -2px } .apexcharts-tooltip-text-goals-value, .apexcharts-tooltip-text-y-value, .apexcharts-tooltip-text-z-value { display: inline-block; margin-left: 5px; font-weight: 600 } .apexcharts-tooltip-text-goals-label:empty, .apexcharts-tooltip-text-goals-value:empty, .apexcharts-tooltip-text-y-label:empty, .apexcharts-tooltip-text-y-value:empty, .apexcharts-tooltip-text-z-value:empty, .apexcharts-tooltip-title:empty { display: none } .apexcharts-tooltip-text-goals-label, .apexcharts-tooltip-text-goals-value { padding: 6px 0 5px } .apexcharts-tooltip-goals-group, .apexcharts-tooltip-text-goals-label, .apexcharts-tooltip-text-goals-value { display: flex } .apexcharts-tooltip-text-goals-label:not(:empty), .apexcharts-tooltip-text-goals-value:not(:empty) { margin-top: -6px } .apexcharts-tooltip-marker { display: inline-flex; align-items: center; justify-content: center; position: relative; width: 12px; height: 12px; margin-right: 6px; vertical-align: middle; color: inherit; } .apexcharts-tooltip-marker svg { width: 100%; height: 100%; display: block; } .apexcharts-tooltip-series-group { padding: 4px 12px; display: none; gap: 8px; text-align: left; justify-content: left; align-items: center } .apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker { opacity: 1 } .apexcharts-tooltip-series-group.apexcharts-active:last-child, .apexcharts-tooltip-series-group:last-child { padding-bottom: 8px } .apexcharts-tooltip-y-group { padding: 6px 0 5px } .apexcharts-custom-tooltip, .apexcharts-tooltip-box { padding: 4px 8px } .apexcharts-tooltip-boxPlot { display: flex; flex-direction: column-reverse } .apexcharts-tooltip-box>div { margin: 4px 0 } .apexcharts-tooltip-box span.value { font-weight: 700 } .apexcharts-tooltip-rangebar { padding: 5px 8px } .apexcharts-tooltip-rangebar .category { font-weight: 600; color: #777 } .apexcharts-tooltip-rangebar .series-name { font-weight: 700; display: block; margin-bottom: 5px } /* X/Y axis tooltips — small popovers that label the crosshair on the * axes. Restyled to match the modern data-tooltip palette: solid white * body with a subtle border + soft drop-shadow, smaller font, rounded * corners. The arrows still use the CSS border-triangle technique * (cheap, crisp at small sizes); their colours flow from CSS variables * so light/dark themes only need one override per axis. */ .apexcharts-xaxistooltip, .apexcharts-yaxistooltip { --apx-axt-bg: #ffffff; --apx-axt-border: rgba(15, 23, 42, 0.08); --apx-axt-color: #0f172a; --apx-axt-shadow: 0 4px 12px -4px rgba(15, 23, 42, 0.18), 0 1px 3px -1px rgba(15, 23, 42, 0.12); opacity: 0; pointer-events: none; color: var(--apx-axt-color); font-size: 12px; font-weight: 500; text-align: center; border-radius: 6px; position: absolute; z-index: 10; background: var(--apx-axt-bg); border: 1px solid var(--apx-axt-border); box-shadow: var(--apx-axt-shadow) } .apexcharts-xaxistooltip.apexcharts-theme-dark, .apexcharts-yaxistooltip.apexcharts-theme-dark { --apx-axt-bg: #1c1c1f; --apx-axt-border: rgba(255, 255, 255, 0.1); --apx-axt-color: #f3f4f6; --apx-axt-shadow: 0 4px 12px -4px rgba(0, 0, 0, 0.55), 0 1px 3px -1px rgba(0, 0, 0, 0.45) } .apexcharts-xaxistooltip { padding: 4px 8px; transition: .15s ease all } .apexcharts-xaxistooltip:after, .apexcharts-xaxistooltip:before { left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none } /* :before paints the 1px border outline of the triangle (slightly larger * than :after); :after sits inside and paints the fill — leaves a 1px * ring of :before visible at the edges. */ .apexcharts-xaxistooltip:after { border-color: transparent; border-width: 5px; margin-left: -5px } .apexcharts-xaxistooltip:before { border-color: transparent; border-width: 6px; margin-left: -6px } .apexcharts-xaxistooltip-bottom:after, .apexcharts-xaxistooltip-bottom:before { bottom: 100% } .apexcharts-xaxistooltip-top:after, .apexcharts-xaxistooltip-top:before { top: 100% } .apexcharts-xaxistooltip-bottom:after { border-bottom-color: var(--apx-axt-bg) } .apexcharts-xaxistooltip-bottom:before { border-bottom-color: var(--apx-axt-border) } .apexcharts-xaxistooltip-top:after { border-top-color: var(--apx-axt-bg) } .apexcharts-xaxistooltip-top:before { border-top-color: var(--apx-axt-border) } .apexcharts-xaxistooltip.apexcharts-active { opacity: 1; transition: .15s ease all } .apexcharts-yaxistooltip { padding: 3px 8px } .apexcharts-yaxistooltip:after, .apexcharts-yaxistooltip:before { top: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none } .apexcharts-yaxistooltip:after { border-color: transparent; border-width: 5px; margin-top: -5px } .apexcharts-yaxistooltip:before { border-color: transparent; border-width: 6px; margin-top: -6px } .apexcharts-yaxistooltip-left:after, .apexcharts-yaxistooltip-left:before { left: 100% } .apexcharts-yaxistooltip-right:after, .apexcharts-yaxistooltip-right:before { right: 100% } .apexcharts-yaxistooltip-left:after { border-left-color: var(--apx-axt-bg) } .apexcharts-yaxistooltip-left:before { border-left-color: var(--apx-axt-border) } .apexcharts-yaxistooltip-right:after { border-right-color: var(--apx-axt-bg) } .apexcharts-yaxistooltip-right:before { border-right-color: var(--apx-axt-border) } .apexcharts-yaxistooltip.apexcharts-active { opacity: 1 } .apexcharts-yaxistooltip-hidden { display: none } .apexcharts-xcrosshairs, .apexcharts-ycrosshairs { pointer-events: none; opacity: 0; transition: .15s ease all } .apexcharts-xcrosshairs.apexcharts-active, .apexcharts-ycrosshairs.apexcharts-active { opacity: 1; transition: .15s ease all } .apexcharts-ycrosshairs-hidden { opacity: 0 } .apexcharts-selection-rect { cursor: move } .svg_select_shape { stroke-width: 1; stroke-dasharray: 10 10; stroke: black; stroke-opacity: 0.1; pointer-events: none; fill: none; } .svg_select_handle { stroke-width: 3; stroke: black; fill: none; } .svg_select_handle_r { cursor: e-resize; } .svg_select_handle_l { cursor: w-resize; } .apexcharts-svg.apexcharts-zoomable.hovering-zoom { cursor: crosshair } .apexcharts-svg.apexcharts-zoomable.hovering-pan { cursor: move } .apexcharts-menu-icon, .apexcharts-pan-icon, .apexcharts-reset-icon, .apexcharts-selection-icon, .apexcharts-toolbar-custom-icon, .apexcharts-zoom-icon, .apexcharts-zoomin-icon, .apexcharts-zoomout-icon { cursor: pointer; /* WCAG 2.5.8 Target Size (Minimum): 24×24 CSS px hit target. */ width: 26px; height: 24px; line-height: 24px; color: #6e8192; text-align: center; /* Reset native <button> chrome — these are styled via SVG icons. */ padding: 0; margin: 0; background: transparent; border: 0; border-radius: 5px; display: inline-flex; align-items: center; justify-content: center; transition: background-color .12s ease, color .12s ease; } .apexcharts-menu-icon svg, .apexcharts-pan-icon svg, .apexcharts-reset-icon svg, .apexcharts-selection-icon svg, .apexcharts-zoom-icon svg, .apexcharts-zoomin-icon svg, .apexcharts-zoomout-icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round } .apexcharts-theme-dark .apexcharts-menu-icon, .apexcharts-theme-dark .apexcharts-pan-icon, .apexcharts-theme-dark .apexcharts-reset-icon, .apexcharts-theme-dark .apexcharts-selection-icon, .apexcharts-theme-dark .apexcharts-toolbar-custom-icon, .apexcharts-theme-dark .apexcharts-zoom-icon, .apexcharts-theme-dark .apexcharts-zoomin-icon, .apexcharts-theme-dark .apexcharts-zoomout-icon { color: #d4d6dc } .apexcharts-canvas .apexcharts-pan-icon.apexcharts-selected, .apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected, .apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected, .apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected { background: rgba(0, 143, 251, 0.12); color: #008ffb } .apexcharts-theme-light .apexcharts-menu-icon:hover, .apexcharts-theme-light .apexcharts-pan-icon:not(.apexcharts-selected):hover, .apexcharts-theme-light .apexcharts-reset-icon:hover, .apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover, .apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover, .apexcharts-theme-light .apexcharts-zoomin-icon:hover, .apexcharts-theme-light .apexcharts-zoomout-icon:hover { background: rgba(15, 23, 42, 0.06); color: #1f2937 } .apexcharts-theme-dark .apexcharts-menu-icon:hover, .apexcharts-theme-dark .apexcharts-pan-icon:not(.apexcharts-selected):hover, .apexcharts-theme-dark .apexcharts-reset-icon:hover, .apexcharts-theme-dark .apexcharts-selection-icon:not(.apexcharts-selected):hover, .apexcharts-theme-dark .apexcharts-zoom-icon:not(.apexcharts-selected):hover, .apexcharts-theme-dark .apexcharts-zoomin-icon:hover, .apexcharts-theme-dark .apexcharts-zoomout-icon:hover { background: rgba(255, 255, 255, 0.08); color: #fff } .apexcharts-menu-icon, .apexcharts-selection-icon { position: relative } .apexcharts-toolbar { position: absolute; z-index: 11; display: inline-flex; align-items: center; gap: 1px; padding: 3px; border-radius: 8px; background: rgba(255, 255, 255, 0.85); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } .apexcharts-theme-dark .apexcharts-toolbar { background: rgba(28, 28, 31, 0.82); } .apexcharts-menu { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); position: absolute; top: calc(100% + 4px); border: 1px solid rgba(15, 23, 42, 0.08); border-radius: 8px; padding: 4px; right: 0; opacity: 0; min-width: 120px; transition: opacity .15s ease, transform .15s ease; transform: translateY(-2px); pointer-events: none; box-shadow: 0 4px 16px -4px rgba(15, 23, 42, 0.12), 0 2px 4px -1px rgba(15, 23, 42, 0.06) } .apexcharts-menu.apexcharts-menu-open { opacity: 1; transform: translateY(0); pointer-events: all } .apexcharts-menu-item { padding: 6px 9px; font-size: 12px; border-radius: 5px; cursor: pointer } .apexcharts-theme-light .apexcharts-menu-item:hover { background: rgba(15, 23, 42, 0.06) } .apexcharts-theme-dark .apexcharts-menu { background: rgba(28, 28, 31, 0.92); border-color: rgba(255, 255, 255, 0.08); color: #f3f4f6; box-shadow: 0 4px 16px -4px rgba(0, 0, 0, 0.5), 0 2px 4px -1px rgba(0, 0, 0, 0.4) } .apexcharts-theme-dark .apexcharts-menu-item:hover { background: rgba(255, 255, 255, 0.08) } @media screen and (min-width:768px) { .apexcharts-canvas:hover .apexcharts-toolbar { opacity: 1 } } /* Toolbar keyboard accessibility: show toolbar when any button inside it is focused */ .apexcharts-toolbar:focus-within { opacity: 1 } /* Focus indicator for toolbar icon buttons */ .apexcharts-menu-icon:focus-visible, .apexcharts-pan-icon:focus-visible, .apexcharts-reset-icon:focus-visible, .apexcharts-selection-icon:focus-visible, .apexcharts-toolbar-custom-icon:focus-visible, .apexcharts-zoom-icon:focus-visible, .apexcharts-zoomin-icon:focus-visible, .apexcharts-zoomout-icon:focus-visible { outline: 2px solid var(--apexcharts-focus-color, #008FFB); outline-offset: 1px; border-radius: 5px } /* Focus indicator for hamburger menu items */ .apexcharts-menu-item:focus-visible { outline: 2px solid var(--apexcharts-focus-color, #008FFB); outline-offset: -2px; background: #eee } .apexcharts-canvas .apexcharts-element-hidden, .apexcharts-datalabel.apexcharts-element-hidden, .apexcharts-hide .apexcharts-series-points { opacity: 0; } .apexcharts-hidden-element-shown { opacity: 1; transition: 0.25s ease all; } .apexcharts-datalabel, .apexcharts-datalabel-label, .apexcharts-datalabel-value, .apexcharts-datalabels, .apexcharts-pie-label { cursor: default; pointer-events: none } .apexcharts-pie-label-delay { opacity: 0; animation-name: opaque; animation-duration: .3s; animation-fill-mode: forwards; animation-timing-function: ease } .apexcharts-radialbar-label { cursor: pointer; } .apexcharts-annotation-rect, .apexcharts-area-series .apexcharts-area, .apexcharts-gridline, .apexcharts-line, .apexcharts-point-annotation-label, .apexcharts-radar-series path:not(.apexcharts-marker), .apexcharts-radar-series polygon, .apexcharts-toolbar svg, .apexcharts-tooltip .apexcharts-marker, .apexcharts-xaxis-annotation-label, .apexcharts-yaxis-annotation-label, .apexcharts-zoom-rect, .no-pointer-events { pointer-events: none } .apexcharts-tooltip-active .apexcharts-marker { transition: .15s ease all } .apexcharts-radar-series .apexcharts-yaxis { pointer-events: none; } .resize-triggers { animation: 1ms resizeanim; visibility: hidden; opacity: 0; height: 100%; width: 100%; overflow: hidden } .contract-trigger:before, .resize-triggers, .resize-triggers>div { content: " "; display: block; position: absolute; top: 0; left: 0 } .resize-triggers>div { height: 100%; width: 100%; background: #eee; overflow: auto } .contract-trigger:before { overflow: hidden; width: 200%; height: 200% } .apexcharts-bar-goals-markers { pointer-events: none } .apexcharts-bar-shadows { pointer-events: none } .apexcharts-rangebar-goals-markers { pointer-events: none } .apexcharts-disable-transitions * { transition: none !important; }