UNPKG

react-plotly.js

Version:

A plotly.js react component from Plotly

1 lines 25 kB
!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).createPlotlyComponent=e()}(function(){return function r(o,i,a){function c(t,e){if(!i[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(s)return s(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}n=i[t]={exports:{}},o[t][0].call(n.exports,function(e){return c(o[t][1][e]||e)},n,n.exports,r,o,i,a)}return i[t].exports}for(var s="function"==typeof require&&require,e=0;e<a.length;e++)c(a[e]);return c}({1:[function(e,t,n){"use strict";var s=Object.getOwnPropertySymbols,u=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(Object.assign){var e=new String("abc");if(e[5]="de","5"!==Object.getOwnPropertyNames(e)[0]){for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r,o=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"===o.join(""))return r={},"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")?1:void 0}}}catch(e){}}()?Object.assign:function(e,t){for(var n,r=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),o=1;o<arguments.length;o++){for(var i in n=Object(arguments[o]))u.call(n,i)&&(r[i]=n[i]);if(s)for(var a=s(n),c=0;c<a.length;c++)l.call(n,a[c])&&(r[a[c]]=n[a[c]])}return r}},{}],2:[function(e,t,n){var r,o,t=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}try{r="function"==typeof setTimeout?setTimeout:i}catch(e){r=i}try{o="function"==typeof clearTimeout?clearTimeout:a}catch(e){o=a}function c(t){if(r===setTimeout)return setTimeout(t,0);if((r===i||!r)&&setTimeout)return(r=setTimeout)(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}var s,u=[],l=!1,f=-1;function p(){l&&s&&(l=!1,s.length?u=s.concat(u):f=-1,u.length&&d())}function d(){if(!l){for(var e=c(p),t=(l=!0,u.length);t;){for(s=u,u=[];++f<t;)s&&s[f].run();f=-1,t=u.length}s=null,l=!1,!function(t){if(o===clearTimeout)return clearTimeout(t);if((o===a||!o)&&clearTimeout)return(o=clearTimeout)(t);try{o(t)}catch(e){try{return o.call(null,t)}catch(e){return o.call(this,t)}}}(e)}}function y(e,t){this.fun=e,this.array=t}function h(){}t.nextTick=function(e){var t=new Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new y(e,t)),1!==u.length||l||c(d)},y.prototype.run=function(){this.fun.apply(null,this.array)},t.title="browser",t.browser=!0,t.env={},t.argv=[],t.version="",t.versions={},t.on=h,t.addListener=h,t.once=h,t.off=h,t.removeListener=h,t.removeAllListeners=h,t.emit=h,t.prependListener=h,t.prependOnceListener=h,t.listeners=function(e){return[]},t.binding=function(e){throw new Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(e){throw new Error("process.chdir is not supported")},t.umask=function(){return 0}},{}],3:[function(t,n,e){!function(p){!function(){"use strict";var s,u,l,f=function(){};function e(e,t,n,r,o){if("production"!==p.env.NODE_ENV)for(var i in e)if(l(e,i)){var a,c;try{if("function"!=typeof e[i])throw(c=Error((r||"React class")+": "+n+" type `"+i+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[i]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.")).name="Invariant Violation",c;a=e[i](t,i,r,n,null,s)}catch(e){a=e}!a||a instanceof Error||f((r||"React class")+": type specification of "+n+" `"+i+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof a+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),a instanceof Error&&!(a.message in u)&&(u[a.message]=!0,i=o?o():"",f("Failed "+n+" type: "+a.message+(null!=i?i:"")))}}"production"!==p.env.NODE_ENV&&(s=t("./lib/ReactPropTypesSecret"),u={},l=t("./lib/has"),f=function(e){e="Warning: "+e;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(e){}}),e.resetWarningCache=function(){"production"!==p.env.NODE_ENV&&(u={})},n.exports=e}.call(this)}.call(this,t("_process"))},{"./lib/ReactPropTypesSecret":7,"./lib/has":8,_process:2}],4:[function(e,t,n){"use strict";var a=e("./lib/ReactPropTypesSecret");function r(){}function o(){}o.resetWarningCache=r,t.exports=function(){function e(e,t,n,r,o,i){if(i!==a)throw(i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")).name="Invariant Violation",i}function t(){return e}var n={array:e.isRequired=e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:r};return n.PropTypes=n}},{"./lib/ReactPropTypesSecret":7}],5:[function(e,t,n){!function(w){!function(){"use strict";var u=e("react-is"),m=e("object-assign"),b=e("./lib/ReactPropTypesSecret"),v=e("./lib/has"),r=e("./checkPropTypes"),g=function(){};function o(){return null}"production"!==w.env.NODE_ENV&&(g=function(e){e="Warning: "+e;"undefined"!=typeof console&&console.error(e);try{throw new Error(e)}catch(e){}}),t.exports=function(i,l){var a="function"==typeof Symbol&&Symbol.iterator,c="@@iterator";var f="<<anonymous>>",e={array:t("array"),bigint:t("bigint"),bool:t("boolean"),func:t("function"),number:t("number"),object:t("object"),string:t("string"),symbol:t("symbol"),any:n(o),arrayOf:function(s){return n(function(e,t,n,r,o){if("function"!=typeof s)return new p("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside arrayOf.");var i=e[t];if(!Array.isArray(i))return new p("Invalid "+r+" `"+o+"` of type `"+y(i)+"` supplied to `"+n+"`, expected an array.");for(var a=0;a<i.length;a++){var c=s(i,a,n,r,o+"["+a+"]",b);if(c instanceof Error)return c}return null})},element:n(function(e,t,n,r,o){return e=e[t],i(e)?null:new p("Invalid "+r+" `"+o+"` of type `"+y(e)+"` supplied to `"+n+"`, expected a single ReactElement.")}),elementType:n(function(e,t,n,r,o){return e=e[t],u.isValidElementType(e)?null:new p("Invalid "+r+" `"+o+"` of type `"+y(e)+"` supplied to `"+n+"`, expected a single ReactElement type.")}),instanceOf:function(a){return n(function(e,t,n,r,o){var i;return e[t]instanceof a?null:(i=a.name||f,new p("Invalid "+r+" `"+o+"` of type `"+((r=e[t]).constructor&&r.constructor.name?r.constructor.name:f)+"` supplied to `"+n+"`, expected instance of `"+i+"`."))})},node:n(function(e,t,n,r,o){return s(e[t])?null:new p("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(s){return n(function(e,t,n,r,o){if("function"!=typeof s)return new p("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside objectOf.");var i,a=e[t];if("object"!==(e=y(a)))return new p("Invalid "+r+" `"+o+"` of type `"+e+"` supplied to `"+n+"`, expected an object.");for(i in a)if(v(a,i)){var c=s(a,i,n,r,o+"."+i,b);if(c instanceof Error)return c}return null})},oneOf:function(c){if(Array.isArray(c))return n(function(e,t,n,r,o){for(var i=e[t],a=0;a<c.length;a++)if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(i,c[a]))return null;e=JSON.stringify(c,function(e,t){return"symbol"===h(t)?String(t):t});return new p("Invalid "+r+" `"+o+"` of value `"+String(i)+"` supplied to `"+n+"`, expected one of "+e+".")});"production"!==w.env.NODE_ENV&&g(1<arguments.length?"Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).":"Invalid argument supplied to oneOf, expected an array.");return o},oneOfType:function(s){if(!Array.isArray(s))return"production"!==w.env.NODE_ENV&&g("Invalid argument supplied to oneOfType, expected an instance of array."),o;for(var e=0;e<s.length;e++){var t=s[e];if("function"!=typeof t)return g("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+function(e){var t=h(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}(t)+" at index "+e+"."),o}return n(function(e,t,n,r,o){for(var i=[],a=0;a<s.length;a++){var c=(0,s[a])(e,t,n,r,o,b);if(null==c)return null;c.data&&v(c.data,"expectedType")&&i.push(c.data.expectedType)}return new p("Invalid "+r+" `"+o+"` supplied to `"+n+"`"+(0<i.length?", expected one of type ["+i.join(", ")+"]":"")+".")})},shape:function(s){return n(function(e,t,n,r,o){var i,a=e[t];if("object"!==(e=y(a)))return new p("Invalid "+r+" `"+o+"` of type `"+e+"` supplied to `"+n+"`, expected `object`.");for(i in s){var c=s[i];if("function"!=typeof c)return d(n,r,o,i,h(c));c=c(a,i,n,r,o+"."+i,b);if(c)return c}return null})},exact:function(u){return n(function(e,t,n,r,o){var i,a=e[t],c=y(a);if("object"!==c)return new p("Invalid "+r+" `"+o+"` of type `"+c+"` supplied to `"+n+"`, expected `object`.");for(i in m({},e[t],u)){var s=u[i];if(v(u,i)&&"function"!=typeof s)return d(n,r,o,i,h(s));if(!s)return new p("Invalid "+r+" `"+o+"` key `"+i+"` supplied to `"+n+"`.\nBad object: "+JSON.stringify(e[t],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(u),null," "));s=s(a,i,n,r,o+"."+i,b);if(s)return s}return null})}};function p(e,t){this.message=e,this.data=t&&"object"==typeof t?t:{},this.stack=""}function n(c){var s,u;function e(e,t,n,r,o,i,a){if(r=r||f,i=i||n,a!==b){if(l)throw(a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types")).name="Invariant Violation",a;"production"!==w.env.NODE_ENV&&"undefined"!=typeof console&&!s[a=r+":"+n]&&u<3&&(g("You are manually calling a React.PropTypes validation function for the `"+i+"` prop on `"+r+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),s[a]=!0,u++)}return null==t[n]?e?null===t[n]?new p("The "+o+" `"+i+"` is marked as required in `"+r+"`, but its value is `null`."):new p("The "+o+" `"+i+"` is marked as required in `"+r+"`, but its value is `undefined`."):null:c(t,n,r,o,i)}"production"!==w.env.NODE_ENV&&(s={},u=0);var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function t(a){return n(function(e,t,n,r,o,i){return y(e=e[t])!==a?new p("Invalid "+r+" `"+o+"` of type `"+h(e)+"` supplied to `"+n+"`, expected `"+a+"`.",{expectedType:a}):null})}function d(e,t,n,r,o){return new p((e||"React class")+": "+t+" type `"+n+"."+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+o+"`.")}function s(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(s);if(null!==e&&!i(e)){var t=function(e){if("function"==typeof(e=e&&(a&&e[a]||e[c])))return e}(e);if(!t)return!1;var n,r=t.call(e);if(t!==e.entries){for(;!(n=r.next()).done;)if(!s(n.value))return!1}else for(;!(n=r.next()).done;){var o=n.value;if(o&&!s(o[1]))return!1}}return!0;default:return!1}}function y(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":(e=e,"symbol"===t||e&&("Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol)?"symbol":t)}function h(e){if(null==e)return""+e;var t=y(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}return p.prototype=Error.prototype,e.checkPropTypes=r,e.resetWarningCache=r.resetWarningCache,e.PropTypes=e}}.call(this)}.call(this,e("_process"))},{"./checkPropTypes":3,"./lib/ReactPropTypesSecret":7,"./lib/has":8,_process:2,"object-assign":1,"react-is":11}],6:[function(n,r,e){!function(t){!function(){var e;"production"!==t.env.NODE_ENV?(e=n("react-is"),r.exports=n("./factoryWithTypeCheckers")(e.isElement,!0)):r.exports=n("./factoryWithThrowingShims")()}.call(this)}.call(this,n("_process"))},{"./factoryWithThrowingShims":4,"./factoryWithTypeCheckers":5,_process:2,"react-is":11}],7:[function(e,t,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}],8:[function(e,t,n){t.exports=Function.call.bind(Object.prototype.hasOwnProperty)},{}],9:[function(e,t,z){!function(N){!function(){"use strict";function t(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:var n=e.type;switch(n){case f:case p:case a:case s:case c:case y:return n;default:var r=n&&n.$$typeof;switch(r){case l:case d:case m:case h:case u:return r;default:return t}}case i:return t}}}function n(e){return t(e)===p}var e,o,i,a,c,s,u,l,f,p,d,y,r,h,m,b,v,g,w,E,O,S,j,P,T,k,_,x,R,C,$;"production"!==N.env.NODE_ENV&&(e="function"==typeof Symbol&&Symbol.for,o=e?Symbol.for("react.element"):60103,i=e?Symbol.for("react.portal"):60106,a=e?Symbol.for("react.fragment"):60107,c=e?Symbol.for("react.strict_mode"):60108,s=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,l=e?Symbol.for("react.context"):60110,f=e?Symbol.for("react.async_mode"):60111,p=e?Symbol.for("react.concurrent_mode"):60111,d=e?Symbol.for("react.forward_ref"):60112,y=e?Symbol.for("react.suspense"):60113,r=e?Symbol.for("react.suspense_list"):60120,h=e?Symbol.for("react.memo"):60115,m=e?Symbol.for("react.lazy"):60116,b=e?Symbol.for("react.block"):60121,v=e?Symbol.for("react.fundamental"):60117,g=e?Symbol.for("react.responder"):60118,w=e?Symbol.for("react.scope"):60119,e=p,E=l,O=u,S=o,j=d,P=a,T=m,k=h,_=i,x=s,R=c,C=y,$=!1,z.AsyncMode=f,z.ConcurrentMode=e,z.ContextConsumer=E,z.ContextProvider=O,z.Element=S,z.ForwardRef=j,z.Fragment=P,z.Lazy=T,z.Memo=k,z.Portal=_,z.Profiler=x,z.StrictMode=R,z.Suspense=C,z.isAsyncMode=function(e){return $||($=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),n(e)||t(e)===f},z.isConcurrentMode=n,z.isContextConsumer=function(e){return t(e)===l},z.isContextProvider=function(e){return t(e)===u},z.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},z.isForwardRef=function(e){return t(e)===d},z.isFragment=function(e){return t(e)===a},z.isLazy=function(e){return t(e)===m},z.isMemo=function(e){return t(e)===h},z.isPortal=function(e){return t(e)===i},z.isProfiler=function(e){return t(e)===s},z.isStrictMode=function(e){return t(e)===c},z.isSuspense=function(e){return t(e)===y},z.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===p||e===s||e===c||e===y||e===r||"object"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===h||e.$$typeof===u||e.$$typeof===l||e.$$typeof===d||e.$$typeof===v||e.$$typeof===g||e.$$typeof===w||e.$$typeof===b)},z.typeOf=t)}.call(this)}.call(this,e("_process"))},{_process:2}],10:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for,o=r?Symbol.for("react.element"):60103,i=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,c=r?Symbol.for("react.strict_mode"):60108,s=r?Symbol.for("react.profiler"):60114,u=r?Symbol.for("react.provider"):60109,l=r?Symbol.for("react.context"):60110,f=r?Symbol.for("react.async_mode"):60111,p=r?Symbol.for("react.concurrent_mode"):60111,d=r?Symbol.for("react.forward_ref"):60112,y=r?Symbol.for("react.suspense"):60113,h=r?Symbol.for("react.suspense_list"):60120,m=r?Symbol.for("react.memo"):60115,b=r?Symbol.for("react.lazy"):60116,v=r?Symbol.for("react.block"):60121,g=r?Symbol.for("react.fundamental"):60117,w=r?Symbol.for("react.responder"):60118,E=r?Symbol.for("react.scope"):60119;function O(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case f:case p:case a:case s:case c:case y:return e;default:switch(e=e&&e.$$typeof){case l:case d:case b:case m:case u:return e;default:return t}}case i:return t}}}function S(e){return O(e)===p}n.AsyncMode=f,n.ConcurrentMode=p,n.ContextConsumer=l,n.ContextProvider=u,n.Element=o,n.ForwardRef=d,n.Fragment=a,n.Lazy=b,n.Memo=m,n.Portal=i,n.Profiler=s,n.StrictMode=c,n.Suspense=y,n.isAsyncMode=function(e){return S(e)||O(e)===f},n.isConcurrentMode=S,n.isContextConsumer=function(e){return O(e)===l},n.isContextProvider=function(e){return O(e)===u},n.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},n.isForwardRef=function(e){return O(e)===d},n.isFragment=function(e){return O(e)===a},n.isLazy=function(e){return O(e)===b},n.isMemo=function(e){return O(e)===m},n.isPortal=function(e){return O(e)===i},n.isProfiler=function(e){return O(e)===s},n.isStrictMode=function(e){return O(e)===c},n.isSuspense=function(e){return O(e)===y},n.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===p||e===s||e===c||e===y||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===b||e.$$typeof===m||e.$$typeof===u||e.$$typeof===l||e.$$typeof===d||e.$$typeof===g||e.$$typeof===w||e.$$typeof===E||e.$$typeof===v)},n.typeOf=O},{}],11:[function(t,n,e){!function(e){!function(){"use strict";"production"===e.env.NODE_ENV?n.exports=t("./cjs/react-is.production.min.js"):n.exports=t("./cjs/react-is.development.js")}.call(this)}.call(this,t("_process"))},{"./cjs/react-is.development.js":9,"./cjs/react-is.production.min.js":10,_process:2}],12:[function(e,t,n){"use strict";function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(c){var t=function(e){var t=i;if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&f(t,e);n=i,r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}();var n,r,o=function(){var e,t=d(n),t=(e=r?(e=d(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),this);if(e&&("object"===s(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return p(t)};function i(e){if(this instanceof i)return(e=o.call(this,e)).p=Promise.resolve(),e.resizeHandler=null,e.handlers={},e.syncWindowResize=e.syncWindowResize.bind(p(e)),e.syncEventHandlers=e.syncEventHandlers.bind(p(e)),e.attachUpdateEvents=e.attachUpdateEvents.bind(p(e)),e.getRef=e.getRef.bind(p(e)),e.handleUpdate=e.handleUpdate.bind(p(e)),e.figureCallback=e.figureCallback.bind(p(e)),e.updatePlotly=e.updatePlotly.bind(p(e)),e;throw new TypeError("Cannot call a class as a function")}var t=i,e=[{key:"updatePlotly",value:function(e,t,n){var r=this;this.p=this.p.then(function(){if(!r.unmounting){if(r.el)return c.react(r.el,{data:r.props.data,layout:r.props.layout,config:r.props.config,frames:r.props.frames});throw new Error("Missing element reference")}}).then(function(){r.unmounting||(r.syncWindowResize(e),r.syncEventHandlers(),r.figureCallback(t),n&&r.attachUpdateEvents())}).catch(function(e){r.props.onError&&r.props.onError(e)})}},{key:"componentDidMount",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:"componentDidUpdate",value:function(e){this.unmounting=!1;var t=e.frames&&e.frames.length?e.frames.length:0,n=this.props.frames&&this.props.frames.length?this.props.frames.length:0,n=!(e.layout===this.props.layout&&e.data===this.props.data&&e.config===this.props.config&&n===t),t=void 0!==e.revision,e=e.revision!==this.props.revision;(n||t&&e)&&this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:"componentWillUnmount",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&m&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),c.purge(this.el)}},{key:"attachUpdateEvents",value:function(){var t=this;this.el&&this.el.removeListener&&h.forEach(function(e){t.el.on(e,t.handleUpdate)})}},{key:"removeUpdateEvents",value:function(){var t=this;this.el&&this.el.removeListener&&h.forEach(function(e){t.el.removeListener(e,t.handleUpdate)})}},{key:"handleUpdate",value:function(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function(e){"function"==typeof e&&e({data:(e=this.el).data,layout:e.layout,frames:this.el._transitionData?this.el._transitionData._frames:null},this.el)}},{key:"syncWindowResize",value:function(e){var t=this;m&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return c.Plots.resize(t.el)},window.addEventListener("resize",this.resizeHandler),e&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null))}},{key:"getRef",value:function(e){this.el=e,this.props.debug&&m&&(window.gd=this.el)}},{key:"syncEventHandlers",value:function(){var o=this;y.forEach(function(e){var t=o.props["on"+e],n=o.handlers[e],r=Boolean(n);t&&!r?o.addEventHandler(e,t):!t&&r?o.removeEventHandler(e):t&&r&&t!==n&&(o.removeEventHandler(e),o.addEventHandler(e,t))})}},{key:"addEventHandler",value:function(e,t){this.handlers[e]=t,this.el.on(this.getPlotlyEventName(e),this.handlers[e])}},{key:"removeEventHandler",value:function(e){this.el.removeListener(this.getPlotlyEventName(e),this.handlers[e]),delete this.handlers[e]}},{key:"getPlotlyEventName",value:function(e){return"plotly_"+e.toLowerCase()}},{key:"render",value:function(){return u.default.createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}],a=void 0;return e&&l(t.prototype,e),a&&l(t,a),Object.defineProperty(t,"prototype",{writable:!1}),i}(u.Component);return t.propTypes={data:r.default.arrayOf(r.default.object),config:r.default.object,layout:r.default.object,frames:r.default.arrayOf(r.default.object),revision:r.default.number,onInitialized:r.default.func,onPurge:r.default.func,onError:r.default.func,onUpdate:r.default.func,debug:r.default.bool,style:r.default.object,className:r.default.string,useResizeHandler:r.default.bool,divId:r.default.string},y.forEach(function(e){t.propTypes["on"+e]=r.default.func}),t.defaultProps={debug:!1,useResizeHandler:!1,data:[],style:{position:"relative",display:"inline-block"}},t};var u=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==s(e)&&"function"!=typeof e)return{default:e};t=a(t);if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var i;"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&((i=o?Object.getOwnPropertyDescriptor(e,n):null)&&(i.get||i.set)?Object.defineProperty(r,n,i):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(window.React),r=(n=e("prop-types"))&&n.__esModule?n:{default:n};function a(e){var t,n;return"function"!=typeof WeakMap?null:(t=new WeakMap,n=new WeakMap,(a=function(e){return e?n:t})(e))}function l(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var y=["AfterExport","AfterPlot","Animated","AnimatingFrame","AnimationInterrupted","AutoSize","BeforeExport","BeforeHover","ButtonClicked","Click","ClickAnnotation","Deselect","DoubleClick","Framework","Hover","LegendClick","LegendDoubleClick","Relayout","Relayouting","Restyle","Redraw","Selected","Selecting","SliderChange","SliderEnd","SliderStart","SunburstClick","Transitioning","TransitionInterrupted","Unhover","WebGlContextLost"],h=["plotly_restyle","plotly_redraw","plotly_relayout","plotly_relayouting","plotly_doubleclick","plotly_animated","plotly_sunburstclick"],m="undefined"!=typeof window},{"prop-types":6}]},{},[12])(12)});