react-apexcharts
Version:
React.js wrapper for ApexCharts with SSR support
3 lines (2 loc) • 2.4 kB
JavaScript
"use client";
import r,{useRef as e,useEffect as t}from"react";import n from"apexcharts/client";import o from"prop-types";function i(r,e,t){return(e=function(r){var e=function(r,e){if("object"!=typeof r||!r)return r;var t=r[Symbol.toPrimitive];if(void 0!==t){var n=t.call(r,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(r)}(r,"string");return"symbol"==typeof e?e:e+""}(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function c(){return c=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},c.apply(null,arguments)}function a(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,n)}return t}function u(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?a(Object(t),!0).forEach((function(e){i(r,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))}))}return r}var l=["clientOptions","className"];var f=["clientOptions","className"];function s(o){var i=o.clientOptions,a=void 0===i?{}:i,s=o.className,p=void 0===s?"":s,b=function(r,e){if(null==r)return{};var t,n,o=function(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(e.includes(n))continue;t[n]=r[n]}return t}(r,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);for(n=0;n<i.length;n++)t=i[n],e.includes(t)||{}.propertyIsEnumerable.call(r,t)&&(o[t]=r[t])}return o}(o,l),y=e(null),O=e(null);t((function(){if(y.current&&!O.current)try{var r={chart:{animations:{enabled:!0}}},e=u(u(u({},r),a),{},{chart:u(u({},r.chart),a.chart||{})});O.current=n.hydrate(y.current,e)}catch(r){console.error("Failed to hydrate ApexChart:",r)}return function(){O.current&&(O.current.destroy(),O.current=null)}}),[a]);var v,m,h=(v=f,m=u({},b),v.forEach((function(r){delete m[r]})),m);return r.createElement("div",c({ref:y,className:p},h))}s.propTypes={clientOptions:o.object,className:o.string};export{s as default};