@deephaven/embed-widget 1.25.0 → 1.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/assets/{App-rKgVpASu.js → App-Cs9WewX0.js} +2 -2
- package/build/assets/{App-rKgVpASu.js.map → App-Cs9WewX0.js.map} +1 -1
- package/build/assets/Chart-DodCrc24.js +3 -0
- package/build/assets/Chart-DodCrc24.js.map +1 -0
- package/build/assets/{IrisGrid-BPKPwuAV.js → IrisGrid-Cn5iB5d1.js} +2 -2
- package/build/assets/{IrisGrid-BPKPwuAV.js.map → IrisGrid-Cn5iB5d1.js.map} +1 -1
- package/build/assets/{IrisGridContextProvider-BWmb9s0x.js → IrisGridContextProvider--4-l8veP.js} +28 -28
- package/build/assets/IrisGridContextProvider--4-l8veP.js.map +1 -0
- package/build/assets/{LocalWorkspaceStorage-qa1wTibR.js → LocalWorkspaceStorage-BTKMGRkZ.js} +2 -2
- package/build/assets/{LocalWorkspaceStorage-qa1wTibR.js.map → LocalWorkspaceStorage-BTKMGRkZ.js.map} +1 -1
- package/build/assets/{LogPanel-CZ0n6uqd.js → LogPanel-D8v5Uobb.js} +4 -4
- package/build/assets/{LogPanel-CZ0n6uqd.js.map → LogPanel-D8v5Uobb.js.map} +1 -1
- package/build/assets/{MarkdownEditor-DwKcEL9j.js → MarkdownEditor-D52iR-_i.js} +2 -2
- package/build/assets/{MarkdownEditor-DwKcEL9j.js.map → MarkdownEditor-D52iR-_i.js.map} +1 -1
- package/build/assets/{MarkdownNotebook-CHDQ4NJl.js → MarkdownNotebook-CZuKV5Dz.js} +2 -2
- package/build/assets/{MarkdownNotebook-CHDQ4NJl.js.map → MarkdownNotebook-CZuKV5Dz.js.map} +1 -1
- package/build/assets/Plot-BOusvhev.js +2 -0
- package/build/assets/{Plot-CxolyxAB.js.map → Plot-BOusvhev.js.map} +1 -1
- package/build/assets/{Plotly-CrH1R1wr.js → Plotly-C1DmK1JJ.js} +2 -2
- package/build/assets/{Plotly-CrH1R1wr.js.map → Plotly-C1DmK1JJ.js.map} +1 -1
- package/build/assets/{index-BbpLOLHa.js → index-B5Qb8yzV.js} +2 -2
- package/build/assets/{index-BbpLOLHa.js.map → index-B5Qb8yzV.js.map} +1 -1
- package/build/assets/{index-BfT4Drjk.js → index-C9BL5Q71.js} +32 -32
- package/build/assets/index-C9BL5Q71.js.map +1 -0
- package/build/assets/{index-B3hH2Cu4.js → index-DHSzsyU4.js} +3 -3
- package/build/assets/{index-B3hH2Cu4.js.map → index-DHSzsyU4.js.map} +1 -1
- package/build/assets/plotly-XNdqftXi.js +7 -0
- package/build/assets/{plotly-g-Pezqd_.js.map → plotly-XNdqftXi.js.map} +1 -1
- package/build/index.html +2 -2
- package/package.json +6 -6
- package/build/assets/Chart-BCxS9lBO.js +0 -3
- package/build/assets/Chart-BCxS9lBO.js.map +0 -1
- package/build/assets/IrisGridContextProvider-BWmb9s0x.js.map +0 -1
- package/build/assets/Plot-CxolyxAB.js +0 -2
- package/build/assets/index-BfT4Drjk.js.map +0 -1
- package/build/assets/plotly-g-Pezqd_.js +0 -7
package/build/index.html
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<base href="./" />
|
|
5
|
-
<meta name="ui-version" content="v1.
|
|
5
|
+
<meta name="ui-version" content="v1.26.1" />
|
|
6
6
|
<meta charset="utf-8" />
|
|
7
7
|
<meta
|
|
8
8
|
name="viewport"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<link rel="manifest" href="./manifest.json" />
|
|
13
13
|
<link rel="icon" href="./favicon-cc-app.svg" />
|
|
14
14
|
<title>Deephaven Embedded Widget</title>
|
|
15
|
-
<script type="module" crossorigin src="./assets/index-
|
|
15
|
+
<script type="module" crossorigin src="./assets/index-DHSzsyU4.js"></script>
|
|
16
16
|
<link rel="modulepreload" crossorigin href="./assets/helpers-BosuxZz1.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="./assets/vendor-Iv4yoqlt.js">
|
|
18
18
|
<link rel="stylesheet" crossorigin href="./assets/vendor-BSYTbjlr.css">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/embed-widget",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.26.1",
|
|
4
4
|
"description": "Deephaven Embedded Widget",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -16,16 +16,16 @@
|
|
|
16
16
|
"build"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@deephaven/app-utils": "^1.
|
|
19
|
+
"@deephaven/app-utils": "^1.26.1",
|
|
20
20
|
"@deephaven/components": "^1.22.1",
|
|
21
21
|
"@deephaven/dashboard": "^1.24.0",
|
|
22
|
-
"@deephaven/dashboard-core-plugins": "^1.
|
|
22
|
+
"@deephaven/dashboard-core-plugins": "^1.26.1",
|
|
23
23
|
"@deephaven/jsapi-bootstrap": "^1.23.0",
|
|
24
|
-
"@deephaven/jsapi-components": "^1.
|
|
24
|
+
"@deephaven/jsapi-components": "^1.26.1",
|
|
25
25
|
"@deephaven/jsapi-types": "^1.0.0-dev0.40.4",
|
|
26
26
|
"@deephaven/jsapi-utils": "^1.23.0",
|
|
27
27
|
"@deephaven/log": "^1.8.0",
|
|
28
|
-
"@deephaven/plugin": "^1.
|
|
28
|
+
"@deephaven/plugin": "^1.26.1",
|
|
29
29
|
"@deephaven/redux": "^1.23.0",
|
|
30
30
|
"@deephaven/utils": "^1.10.0",
|
|
31
31
|
"@fontsource/fira-mono": "5.0.13",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"publishConfig": {
|
|
51
51
|
"access": "public"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "9d0c4b05d92671e7690be73f7b7784656d75e0c5"
|
|
54
54
|
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{D as u,r as L,J as k,bR as F,bO as _}from"./vendor-Iv4yoqlt.js";import{a as x,bc as A,bB as B,bC as U}from"./index-B3hH2Cu4.js";import{c as W}from"./Plotly-CrH1R1wr.js";import{ak as z,K as p,L as j,d as T,c as V,D as $}from"./index-BfT4Drjk.js";import{L as K,J as R,bT as H}from"./LogPanel-CZ0n6uqd.js";import{D as J}from"./DownsamplingError--AAvWHv_.js";import{m as Y}from"./useMergeRef-CQuqzBxC.js";import{P as Z}from"./plotly-g-Pezqd_.js";import"./helpers-BosuxZz1.js";function P(i){var e=i.errorMessage,t=i.onDiscard,r=i.onConfirm,s=i.onCancel,o=i["data-testid"],n=o!=null?"".concat(o,"-message"):void 0;return u.jsx("div",{className:"chart-panel-overlay chart-error-overlay",children:u.jsxs("div",{className:"chart-panel-overlay-content chart-error-overlay-content",children:[u.jsxs("div",{className:"info-message","data-testid":n,children:[e,u.jsx(K,{copy:e,UNSAFE_style:{margin:"0"},isQuiet:!0})]}),u.jsxs("div",{children:[s&&u.jsx(R,{onClick:s,kind:"secondary",children:"Cancel"}),t&&u.jsx(R,{onClick:t,kind:"secondary",children:"Dismiss"}),r&&u.jsx(R,{onClick:r,kind:"primary",children:"Continue"})]})]})})}function N(i,e){var t=Object.keys(i);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(i);e&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(i,s).enumerable})),t.push.apply(t,r)}return t}function b(i){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?N(Object(t),!0).forEach(function(r){d(i,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(t)):N(Object(t)).forEach(function(r){Object.defineProperty(i,r,Object.getOwnPropertyDescriptor(t,r))})}return i}function M(i,e){return X(i)||Q(i,e)||G(i,e)||q()}function q(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function G(i,e){if(i){if(typeof i=="string")return I(i,e);var t={}.toString.call(i).slice(8,-1);return t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set"?Array.from(i):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?I(i,e):void 0}}function I(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=Array(e);t<e;t++)r[t]=i[t];return r}function Q(i,e){var t=i==null?null:typeof Symbol<"u"&&i[Symbol.iterator]||i["@@iterator"];if(t!=null){var r,s,o,n,a=[],l=!0,h=!1;try{if(o=(t=t.call(i)).next,e===0){if(Object(t)!==t)return;l=!1}else for(;!(l=(r=o.call(t)).done)&&(a.push(r.value),a.length!==e);l=!0);}catch(m){h=!0,s=m}finally{try{if(!l&&t.return!=null&&(n=t.return(),Object(n)!==n))return}finally{if(h)throw s}}return a}}function X(i){if(Array.isArray(i))return i}function d(i,e,t){return(e=ee(e))in i?Object.defineProperty(i,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):i[e]=t,i}function ee(i){var e=te(i,"string");return typeof e=="symbol"?e:e+""}function te(i,e){if(typeof i!="object"||!i)return i;var t=i[Symbol.toPrimitive];if(t!==void 0){var r=t.call(i,e);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(i)}var g=x.module("Chart");class y extends L.Component{static convertIcon(e){var t=M(e.icon,5),r=t[0],s=t[4],o="".concat(s);return{width:r,path:o,ascent:r,descent:0,transform:"matrix(1, 0, 0, 1, 0, 0)"}}static downsampleButtonTitle(e,t){return e?"Downsampling in progress...":t?"Downsampling disabled, click to enable":"Downsampling enabled, click to disable"}static downsampleButtonAttr(e,t){return e?"animation-spin":t?void 0:"fill-active"}constructor(e){super(e),d(this,"currentSeries",void 0),d(this,"PlotComponent",void 0),d(this,"plot",void 0),d(this,"plotWrapper",void 0),d(this,"plotWrapperMerged",void 0),d(this,"columnFormats",void 0),d(this,"dateTimeFormatterOptions",void 0),d(this,"decimalFormatOptions",void 0),d(this,"integerFormatOptions",void 0),d(this,"webgl",void 0),d(this,"rect",void 0),d(this,"ranges",void 0),d(this,"isSubscribed",void 0),d(this,"isLoadedFired",void 0),d(this,"resizeObserver",void 0),d(this,"getCachedConfig",_((t,r,s,o,n,a)=>{var l=[],h=!!t;h&&l.push({name:"Downsampling failed: ".concat(t),title:"Downsampling failed",click:()=>{this.toggleErrorMessage("".concat(t))},icon:y.convertIcon(A),attr:"fill-warning"});var m=!!a;if(m&&l.push({name:"Error: ".concat(a),title:"Error",click:()=>{this.toggleErrorMessage("".concat(a))},icon:y.convertIcon(A),attr:"fill-warning"}),r||s||o||h){var f=y.downsampleButtonTitle(s,o),D=y.downsampleButtonAttr(s,o),w=s?B:U;l.push({name:f,title:"Downsampling status",icon:y.convertIcon(w),click:this.handleDownsampleClick,attr:D})}var E=n.some(S=>{var C=S.type;return C!=null&&!C.includes("3d")}),v=n.some(S=>{var C=S.type;return C!=null&&C.includes("3d")}),c=["zoomIn2d","zoomOut2d","autoScale2d","resetScale2d"],O=["orbitRotation","tableRotation","resetCameraDefault3d"];return{displaylogo:!1,responsive:!0,displayModeBar:s||h||m?!0:"hover",modeBarButtons:[l,["toImage"],["zoom2d","pan2d"],[...E?c:[],...v?O:[]]]}})),z(this),this.PlotComponent=W(e.Plotly),this.plot=k.createRef(),this.plotWrapper=k.createRef(),this.plotWrapperMerged=Y(this.plotWrapper,e.containerRef),this.columnFormats=[],this.dateTimeFormatterOptions={},this.decimalFormatOptions={},this.integerFormatOptions={},this.isSubscribed=!1,this.isLoadedFired=!1,this.currentSeries=0,this.resizeObserver=new window.ResizeObserver(this.handleResize),this.state={data:null,downsamplingError:null,isDownsampleFinished:!1,isDownsampleInProgress:!1,isDownsamplingDisabled:!1,error:null,shownError:null,layout:{datarevision:0},revision:0,shownBlocker:null}}componentDidMount(){this.updateDimensions(),this.updateModelDimensions(),this.initData(),this.initFormatter();var e=this.props,t=e.isActive,r=e.model;t&&this.subscribe(r),this.plotWrapper.current!=null&&this.resizeObserver.observe(this.plotWrapper.current),this.handleThemeChange()}componentDidUpdate(e){var t=this.props,r=t.isActive,s=t.model,o=t.settings,n=t.theme;this.updateFormatterSettings(o),s!==e.model&&(this.unsubscribe(e.model),this.subscribe(s)),r!==e.isActive&&(r?(this.updateDimensions(),this.subscribe(s)):this.unsubscribe(s)),n!==e.theme&&this.handleThemeChange()}componentWillUnmount(){var e=this.props.model;this.unsubscribe(e),this.resizeObserver.disconnect()}getPlotRect(){var e,t;return(e=(t=this.plotWrapper.current)===null||t===void 0?void 0:t.getBoundingClientRect())!==null&&e!==void 0?e:null}initData(){var e=this.props.model;this.setState(t=>{var r=t.layout;return{data:e.getData(),layout:b(b({},r),e.getLayout())}})}subscribe(e){if(!this.isSubscribed){if(!this.rect||this.rect.width===0||this.rect.height===0){g.debug2("Delaying subscription until model dimensions are set");return}e.subscribe(this.handleModelEvent),this.isSubscribed=!0}}unsubscribe(e){this.isSubscribed&&(e.unsubscribe(this.handleModelEvent),this.isSubscribed=!1)}handleAfterPlot(){this.plot.current!=null}handleDownsampleClick(){this.setState(e=>{var t=e.isDownsamplingDisabled;return{downsamplingError:null,isDownsampleInProgress:!1,isDownsampleFinished:!1,isDownsamplingDisabled:!t}},()=>{var e=this.props.model,t=this.state.isDownsamplingDisabled;e.setDownsamplingDisabled(t)})}handleErrorClose(){this.setState({shownError:null})}handleDownsampleErrorClose(){this.setState({downsamplingError:null})}handleModelEvent(e){var t=e.type,r=e.detail;switch(g.debug2("Received data update",t,r),t){case p.EVENT_UPDATED:{this.currentSeries+=1,this.setState(v=>{var c=v.layout,O=v.revision;return typeof c.datarevision=="number"&&(c.datarevision+=1),{data:r,layout:c,revision:O+1}});var s=this.props.onUpdate;s({isLoading:!this.isLoadedFired});break}case p.EVENT_LOADFINISHED:{var o=this.props.onUpdate;this.isLoadedFired=!0,o({isLoading:!1});break}case p.EVENT_DISCONNECT:{var n=this.props.onDisconnect;n();break}case p.EVENT_RECONNECT:{var a=this.props.onReconnect;a();break}case p.EVENT_DOWNSAMPLESTARTED:{this.setState({isDownsampleFinished:!1,isDownsampleInProgress:!0,downsamplingError:null});break}case p.EVENT_DOWNSAMPLEFINISHED:{this.setState({isDownsampleFinished:!0,isDownsampleInProgress:!1,downsamplingError:null});break}case p.EVENT_DOWNSAMPLENEEDED:case p.EVENT_DOWNSAMPLEFAILED:{var l,h=(l=r.message)!==null&&l!==void 0?l:r;this.setState({isDownsampleFinished:!1,isDownsampleInProgress:!1,isDownsamplingDisabled:!1,downsamplingError:h});var m=this.props.onError;m(new J(h==null?void 0:"".concat(h)));break}case p.EVENT_ERROR:{var f="".concat(r);this.setState({error:f});var D=this.props.onError;D(new Error(f));break}case p.EVENT_BLOCKER:{var w="".concat(r);this.setState({shownBlocker:w});break}case p.EVENT_BLOCKER_CLEAR:{this.setState({shownBlocker:null});break}case p.EVENT_LAYOUT_UPDATED:{var E=r;this.setState(v=>{var c=v.layout,O=v.revision;return{layout:b(b({},c),E),revision:O+1}});break}default:g.debug("Unknown event type",t,e)}}handlePlotUpdate(e){var t=e.layout,r=j.getLayoutRanges(t),s=!F(r,this.ranges);s&&(this.ranges=r,this.updateModelDimensions(!0))}handleRelayout(e){if(g.debug("handleRelayout",e),e.hiddenlabels!=null){var t=this.props.onSettingsChanged,r=[...e.hiddenlabels];t({hiddenSeries:r})}this.updateModelDimensions()}handleResize(){this.updateDimensions()}handleRestyle(e){var t=M(e,2),r=t[0],s=t[1];if(g.debug("handleRestyle",r,s),Object.keys(r).includes("visible")){var o=this.state.data,n=this.props.onSettingsChanged;if(o!=null){var a=o.reduce((l,h)=>{var m=h.name,f=h.visible;return m!=null&&f==="legendonly"?[...l,m]:l},[]);n({hiddenSeries:a})}}}handleThemeChange(){var e=this.props,t=e.theme,r=e.model,s=r.dh,o=new j(s);this.setState(n=>{var a=n.layout;return{layout:b(b({},a),{},{template:o.makeDefaultTemplate(t)})}})}toggleErrorMessage(e){this.setState(t=>{var r=t.shownError;return{shownError:r===e?null:e}})}updateModelDimensions(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.getPlotRect();if(!t){g.warn("Unable to get plotting rect");return}var r=!this.rect||this.rect.width!==t.width||this.rect.height!==t.height;if(r||e){this.rect=t;var s=this.props,o=s.isActive,n=s.model;n.setDimensions(t),o&&this.subscribe(n)}}initFormatter(){var e=this.props.settings;this.updateFormatterSettings(e)}updateFormatterSettings(e){var t=T.getColumnFormats(e),r=T.getDateTimeFormatterOptions(e),s=e.defaultDecimalFormatOptions,o=s===void 0?{}:s,n=e.defaultIntegerFormatOptions,a=n===void 0?{}:n;(!F(this.columnFormats,t)||!F(this.dateTimeFormatterOptions,r)||!F(this.decimalFormatOptions,o)||!F(this.integerFormatOptions,a))&&(this.columnFormats=T.getColumnFormats(e),this.dateTimeFormatterOptions=r,this.decimalFormatOptions=o,this.integerFormatOptions=a,this.updateFormatter()),this.webgl!==e.webgl&&(this.webgl=e.webgl,this.updateRenderOptions())}updateFormatter(){var e=this.props.model,t=new V(e.dh,this.columnFormats,this.dateTimeFormatterOptions,this.decimalFormatOptions,this.integerFormatOptions);e.setFormatter(t)}updateRenderOptions(){var e=this.props.model,t={webgl:this.webgl};e.setRenderOptions(t)}updateDimensions(){var e=this.getPlotRect(),t=this.props.Plotly;this.plot.current!=null&&e!=null&&e.width>0&&e.height>0&&t.relayout(this.plot.current.el,{autosize:!0}).catch(r=>{g.debug("Unable to resize, promise rejected",r)})}render(){var e=this.PlotComponent,t=this.state,r=t.data,s=t.downsamplingError,o=t.isDownsampleFinished,n=t.isDownsampleInProgress,a=t.isDownsamplingDisabled,l=t.error,h=t.shownError,m=t.layout,f=t.revision,D=t.shownBlocker,w=this.getCachedConfig(s,o,n,a,r??[],l),E=this.props.model,v=r!=null&&D==null,c=null;return D!=null?c=u.jsx(P,{errorMessage:"".concat(D),onConfirm:()=>{E.fireBlockerClear()}}):h!=null?c=u.jsx(P,{errorMessage:"".concat(s),onDiscard:()=>{this.handleDownsampleErrorClose()},onConfirm:()=>{this.handleDownsampleErrorClose(),this.handleDownsampleClick()}}):s!=null&&(c=u.jsx(P,{errorMessage:"".concat(s),onDiscard:()=>{this.handleDownsampleErrorClose()},onConfirm:()=>{this.handleDownsampleErrorClose(),this.handleDownsampleClick()}})),u.jsxs("div",{className:"h-100 w-100 chart-wrapper",ref:this.plotWrapperMerged,children:[v&&u.jsx(e,{ref:this.plot,data:r,layout:m,revision:f,config:w,onAfterPlot:this.handleAfterPlot,onError:g.error,onRelayout:this.handleRelayout,onUpdate:this.handlePlotUpdate,onRestyle:this.handleRestyle,style:{height:"100%",width:"100%"}}),c]})}}d(y,"defaultProps",{isActive:!0,settings:{timeZone:"America/New_York",defaultDateTimeFormat:$.FULL_DATE_FORMAT,showTimeZone:!1,showTSeparator:!0,formatter:[],webgl:!0},Plotly:Z,onDisconnect:()=>{},onReconnect:()=>{},onUpdate:()=>{},onError:()=>{},onSettingsChanged:()=>{}});function ue(i){var e=H();return u.jsx(y,b(b({},i),{},{theme:e}))}export{ue as default};
|
|
3
|
-
//# sourceMappingURL=Chart-BCxS9lBO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chart-BCxS9lBO.js","sources":["../../../chart/dist/ChartErrorOverlay.js","../../../chart/dist/Chart.js"],"sourcesContent":["import { CopyButton, Button } from '@deephaven/components';\nimport \"./ChartErrorOverlay.css\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction ChartErrorOverlay(_ref) {\n var errorMessage = _ref.errorMessage,\n onDiscard = _ref.onDiscard,\n onConfirm = _ref.onConfirm,\n onCancel = _ref.onCancel,\n dataTestId = _ref['data-testid'];\n var messageTestId = dataTestId != null ? \"\".concat(dataTestId, \"-message\") : undefined;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"chart-panel-overlay chart-error-overlay\",\n children: /*#__PURE__*/_jsxs(\"div\", {\n className: \"chart-panel-overlay-content chart-error-overlay-content\",\n children: [/*#__PURE__*/_jsxs(\"div\", {\n className: \"info-message\",\n \"data-testid\": messageTestId,\n children: [errorMessage, /*#__PURE__*/_jsx(CopyButton, {\n copy: errorMessage,\n UNSAFE_style: {\n margin: '0'\n },\n isQuiet: true\n })]\n }), /*#__PURE__*/_jsxs(\"div\", {\n children: [onCancel && /*#__PURE__*/_jsx(Button, {\n onClick: onCancel,\n kind: \"secondary\",\n children: \"Cancel\"\n }), onDiscard && /*#__PURE__*/_jsx(Button, {\n onClick: onDiscard,\n kind: \"secondary\",\n children: \"Dismiss\"\n }), onConfirm && /*#__PURE__*/_jsx(Button, {\n onClick: onConfirm,\n kind: \"primary\",\n children: \"Continue\"\n })]\n })]\n })\n });\n}\nexport default ChartErrorOverlay;\n//# sourceMappingURL=ChartErrorOverlay.js.map","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(r) { if (Array.isArray(r)) return r; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport React, { Component } from 'react';\nimport deepEqual from 'fast-deep-equal';\nimport memoize from 'memoize-one';\nimport { vsLoading, dhGraphLineDown, dhWarningFilled } from '@deephaven/icons';\nimport { Formatter, FormatterUtils, DateUtils } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport { mergeRefs } from '@deephaven/react-hooks';\nimport { bindAllMethods } from '@deephaven/utils';\nimport createPlotlyComponent from \"./plotly/createPlotlyComponent.js\";\nimport Plotly from \"./plotly/Plotly.js\";\nimport ChartModel from \"./ChartModel.js\";\nimport ChartErrorOverlay from \"./ChartErrorOverlay.js\";\nimport ChartUtils from \"./ChartUtils.js\";\nimport \"./Chart.css\";\nimport DownsamplingError from \"./DownsamplingError.js\";\nimport useChartTheme from \"./useChartTheme.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nvar log = Log.module('Chart');\n\n// All of the ChartProps have default values except for model in the Chart\n// component, hence the Partial here.\n\nclass Chart extends Component {\n /**\n * Convert a font awesome icon definition to a plotly icon definition\n * @param faIcon The icon to convert\n */\n static convertIcon(faIcon) {\n var _faIcon$icon = _slicedToArray(faIcon.icon, 5),\n width = _faIcon$icon[0],\n path = _faIcon$icon[4];\n // By default the icons are flipped upside down, so we need to add our own transform\n // https://github.com/plotly/plotly.js/issues/1335\n var stringPath = \"\".concat(path);\n return {\n width,\n path: stringPath,\n ascent: width,\n descent: 0,\n transform: \"matrix(1, 0, 0, 1, 0, 0)\"\n };\n }\n static downsampleButtonTitle(isDownsampleInProgress, isDownsamplingDisabled) {\n if (isDownsampleInProgress) {\n return 'Downsampling in progress...';\n }\n return isDownsamplingDisabled ? 'Downsampling disabled, click to enable' : 'Downsampling enabled, click to disable';\n }\n static downsampleButtonAttr(isDownsampleInProgress, isDownsamplingDisabled) {\n if (isDownsampleInProgress) {\n return 'animation-spin';\n }\n return isDownsamplingDisabled ? undefined : 'fill-active';\n }\n constructor(props) {\n super(props);\n _defineProperty(this, \"currentSeries\", void 0);\n _defineProperty(this, \"PlotComponent\", void 0);\n _defineProperty(this, \"plot\", void 0);\n _defineProperty(this, \"plotWrapper\", void 0);\n _defineProperty(this, \"plotWrapperMerged\", void 0);\n _defineProperty(this, \"columnFormats\", void 0);\n _defineProperty(this, \"dateTimeFormatterOptions\", void 0);\n _defineProperty(this, \"decimalFormatOptions\", void 0);\n _defineProperty(this, \"integerFormatOptions\", void 0);\n _defineProperty(this, \"webgl\", void 0);\n _defineProperty(this, \"rect\", void 0);\n _defineProperty(this, \"ranges\", void 0);\n _defineProperty(this, \"isSubscribed\", void 0);\n _defineProperty(this, \"isLoadedFired\", void 0);\n // Listen for resizing of the element and update the canvas appropriately\n _defineProperty(this, \"resizeObserver\", void 0);\n _defineProperty(this, \"getCachedConfig\", memoize((downsamplingError, isDownsampleFinished, isDownsampleInProgress, isDownsamplingDisabled, data, error) => {\n var customButtons = [];\n var hasDownsampleError = Boolean(downsamplingError);\n if (hasDownsampleError) {\n customButtons.push({\n name: \"Downsampling failed: \".concat(downsamplingError),\n title: 'Downsampling failed',\n click: () => {\n this.toggleErrorMessage(\"\".concat(downsamplingError));\n },\n icon: Chart.convertIcon(dhWarningFilled),\n attr: 'fill-warning'\n });\n }\n var hasError = Boolean(error);\n if (hasError) {\n customButtons.push({\n name: \"Error: \".concat(error),\n title: \"Error\",\n click: () => {\n this.toggleErrorMessage(\"\".concat(error));\n },\n icon: Chart.convertIcon(dhWarningFilled),\n attr: 'fill-warning'\n });\n }\n if (isDownsampleFinished || isDownsampleInProgress || isDownsamplingDisabled || hasDownsampleError) {\n var name = Chart.downsampleButtonTitle(isDownsampleInProgress, isDownsamplingDisabled);\n var attr = Chart.downsampleButtonAttr(isDownsampleInProgress, isDownsamplingDisabled);\n var icon = isDownsampleInProgress ? vsLoading : dhGraphLineDown;\n customButtons.push({\n name,\n title: 'Downsampling status',\n icon: Chart.convertIcon(icon),\n click: this.handleDownsampleClick,\n attr\n });\n }\n var has2D = data.some(_ref => {\n var type = _ref.type;\n return type != null && !type.includes('3d');\n });\n var has3D = data.some(_ref2 => {\n var type = _ref2.type;\n return type != null && type.includes('3d');\n });\n var buttons2D = ['zoomIn2d', 'zoomOut2d', 'autoScale2d', 'resetScale2d'];\n var buttons3D = ['orbitRotation', 'tableRotation', 'resetCameraDefault3d'];\n return {\n displaylogo: false,\n // scales the plot to the container size\n // https://github.com/plotly/react-plotly.js/issues/102\n responsive: true,\n // Display the mode bar if there's an error or downsampling so user can see progress\n // Yes, the value is a boolean or the string 'hover': https://github.com/plotly/plotly.js/blob/master/src/plot_api/plot_config.js#L249\n displayModeBar:\n // eslint-disable-next-line @typescript-eslint/strict-boolean-expressions\n isDownsampleInProgress || hasDownsampleError || hasError ? true : 'hover',\n // Each array gets grouped together in the mode bar\n modeBarButtons: [customButtons, ['toImage'], ['zoom2d', 'pan2d'],\n // These work the same for both 2d and 3d\n [...(has2D ? buttons2D : []), ...(has3D ? buttons3D : [])]]\n };\n }));\n bindAllMethods(this);\n this.PlotComponent = createPlotlyComponent(props.Plotly);\n this.plot = /*#__PURE__*/React.createRef();\n this.plotWrapper = /*#__PURE__*/React.createRef();\n this.plotWrapperMerged = mergeRefs(this.plotWrapper, props.containerRef);\n this.columnFormats = [];\n this.dateTimeFormatterOptions = {};\n this.decimalFormatOptions = {};\n this.integerFormatOptions = {};\n this.isSubscribed = false;\n this.isLoadedFired = false;\n this.currentSeries = 0;\n this.resizeObserver = new window.ResizeObserver(this.handleResize);\n this.state = {\n data: null,\n downsamplingError: null,\n isDownsampleFinished: false,\n isDownsampleInProgress: false,\n isDownsamplingDisabled: false,\n error: null,\n shownError: null,\n layout: {\n datarevision: 0\n },\n revision: 0,\n shownBlocker: null\n };\n }\n componentDidMount() {\n // Need to make sure the model dimensions are up to date before initializing the data\n this.updateDimensions();\n this.updateModelDimensions();\n this.initData();\n this.initFormatter();\n var _this$props = this.props,\n isActive = _this$props.isActive,\n model = _this$props.model;\n if (isActive) {\n this.subscribe(model);\n }\n if (this.plotWrapper.current != null) {\n this.resizeObserver.observe(this.plotWrapper.current);\n }\n this.handleThemeChange();\n }\n componentDidUpdate(prevProps) {\n var _this$props2 = this.props,\n isActive = _this$props2.isActive,\n model = _this$props2.model,\n settings = _this$props2.settings,\n theme = _this$props2.theme;\n this.updateFormatterSettings(settings);\n if (model !== prevProps.model) {\n this.unsubscribe(prevProps.model);\n this.subscribe(model);\n }\n if (isActive !== prevProps.isActive) {\n if (isActive) {\n this.updateDimensions();\n this.subscribe(model);\n } else {\n this.unsubscribe(model);\n }\n }\n if (theme !== prevProps.theme) {\n this.handleThemeChange();\n }\n }\n componentWillUnmount() {\n var model = this.props.model;\n this.unsubscribe(model);\n this.resizeObserver.disconnect();\n }\n getPlotRect() {\n var _this$plotWrapper$cur, _this$plotWrapper$cur2;\n return (_this$plotWrapper$cur = (_this$plotWrapper$cur2 = this.plotWrapper.current) === null || _this$plotWrapper$cur2 === void 0 ? void 0 : _this$plotWrapper$cur2.getBoundingClientRect()) !== null && _this$plotWrapper$cur !== void 0 ? _this$plotWrapper$cur : null;\n }\n initData() {\n var model = this.props.model;\n this.setState(_ref3 => {\n var layout = _ref3.layout;\n return {\n data: model.getData(),\n layout: _objectSpread(_objectSpread({}, layout), model.getLayout())\n };\n });\n }\n subscribe(model) {\n if (this.isSubscribed) {\n return;\n }\n if (!this.rect || this.rect.width === 0 || this.rect.height === 0) {\n log.debug2('Delaying subscription until model dimensions are set');\n return;\n }\n model.subscribe(this.handleModelEvent);\n this.isSubscribed = true;\n }\n unsubscribe(model) {\n if (!this.isSubscribed) {\n return;\n }\n model.unsubscribe(this.handleModelEvent);\n this.isSubscribed = false;\n }\n handleAfterPlot() {\n if (this.plot.current != null) {\n // TODO: Translate whatever Don was doing in plotting.js in the afterplot here so that area graphs show up properly\n }\n }\n handleDownsampleClick() {\n this.setState(_ref4 => {\n var isDownsamplingDisabled = _ref4.isDownsamplingDisabled;\n return {\n downsamplingError: null,\n isDownsampleInProgress: false,\n isDownsampleFinished: false,\n isDownsamplingDisabled: !isDownsamplingDisabled\n };\n }, () => {\n var model = this.props.model;\n var isDownsamplingDisabled = this.state.isDownsamplingDisabled;\n model.setDownsamplingDisabled(isDownsamplingDisabled);\n });\n }\n handleErrorClose() {\n this.setState({\n shownError: null\n });\n }\n handleDownsampleErrorClose() {\n this.setState({\n downsamplingError: null\n });\n }\n handleModelEvent(event) {\n var type = event.type,\n detail = event.detail;\n log.debug2('Received data update', type, detail);\n switch (type) {\n case ChartModel.EVENT_UPDATED:\n {\n this.currentSeries += 1;\n this.setState(state => {\n var layout = state.layout,\n revision = state.revision;\n if (typeof layout.datarevision === 'number') {\n layout.datarevision += 1;\n }\n return {\n data: detail,\n layout,\n revision: revision + 1\n };\n });\n var onUpdate = this.props.onUpdate;\n onUpdate({\n isLoading: !this.isLoadedFired\n });\n break;\n }\n case ChartModel.EVENT_LOADFINISHED:\n {\n var _onUpdate = this.props.onUpdate;\n this.isLoadedFired = true;\n _onUpdate({\n isLoading: false\n });\n break;\n }\n case ChartModel.EVENT_DISCONNECT:\n {\n var onDisconnect = this.props.onDisconnect;\n onDisconnect();\n break;\n }\n case ChartModel.EVENT_RECONNECT:\n {\n var onReconnect = this.props.onReconnect;\n onReconnect();\n break;\n }\n case ChartModel.EVENT_DOWNSAMPLESTARTED:\n {\n this.setState({\n isDownsampleFinished: false,\n isDownsampleInProgress: true,\n downsamplingError: null\n });\n break;\n }\n case ChartModel.EVENT_DOWNSAMPLEFINISHED:\n {\n this.setState({\n isDownsampleFinished: true,\n isDownsampleInProgress: false,\n downsamplingError: null\n });\n break;\n }\n case ChartModel.EVENT_DOWNSAMPLENEEDED:\n case ChartModel.EVENT_DOWNSAMPLEFAILED:\n {\n var _message;\n var downsamplingError = (_message = detail.message) !== null && _message !== void 0 ? _message : detail;\n this.setState({\n isDownsampleFinished: false,\n isDownsampleInProgress: false,\n isDownsamplingDisabled: false,\n downsamplingError\n });\n var onError = this.props.onError;\n onError(new DownsamplingError(downsamplingError == null ? undefined : \"\".concat(downsamplingError)));\n break;\n }\n case ChartModel.EVENT_ERROR:\n {\n var error = \"\".concat(detail);\n this.setState({\n error\n });\n var _onError = this.props.onError;\n _onError(new Error(error));\n break;\n }\n case ChartModel.EVENT_BLOCKER:\n {\n var blocker = \"\".concat(detail);\n this.setState({\n shownBlocker: blocker\n });\n break;\n }\n case ChartModel.EVENT_BLOCKER_CLEAR:\n {\n this.setState({\n shownBlocker: null\n });\n break;\n }\n case ChartModel.EVENT_LAYOUT_UPDATED:\n {\n var newLayout = detail;\n this.setState(_ref5 => {\n var layout = _ref5.layout,\n revision = _ref5.revision;\n return {\n layout: _objectSpread(_objectSpread({}, layout), newLayout),\n revision: revision + 1\n };\n });\n break;\n }\n default:\n log.debug('Unknown event type', type, event);\n }\n }\n handlePlotUpdate(figure) {\n // User could have modified zoom/pan here, update the model dimensions\n // We don't need to update the datarevision, as we don't have any data changes\n // until an update comes back from the server anyway\n var layout = figure.layout;\n var ranges = ChartUtils.getLayoutRanges(layout);\n var isRangesChanged = !deepEqual(ranges, this.ranges);\n if (isRangesChanged) {\n this.ranges = ranges;\n this.updateModelDimensions(true);\n }\n }\n handleRelayout(changes) {\n log.debug('handleRelayout', changes);\n if (changes.hiddenlabels != null) {\n var onSettingsChanged = this.props.onSettingsChanged;\n // Pie charts store series visibility in layout.hiddenlabels and trigger relayout on changes\n // Series visibility for other types of charts is handled in handleRestyle\n var hiddenSeries = [...changes.hiddenlabels];\n onSettingsChanged({\n hiddenSeries\n });\n }\n this.updateModelDimensions();\n }\n handleResize() {\n this.updateDimensions();\n }\n handleRestyle(_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n changes = _ref7[0],\n seriesIndexes = _ref7[1];\n log.debug('handleRestyle', changes, seriesIndexes);\n if (Object.keys(changes).includes('visible')) {\n var data = this.state.data;\n var onSettingsChanged = this.props.onSettingsChanged;\n if (data != null) {\n var hiddenSeries = data.reduce((acc, _ref8) => {\n var name = _ref8.name,\n visible = _ref8.visible;\n return name != null && visible === 'legendonly' ? [...acc, name] : acc;\n }, []);\n onSettingsChanged({\n hiddenSeries\n });\n }\n }\n }\n handleThemeChange() {\n var _this$props3 = this.props,\n theme = _this$props3.theme,\n model = _this$props3.model;\n var dh = model.dh;\n var chartUtils = new ChartUtils(dh);\n this.setState(_ref9 => {\n var layout = _ref9.layout;\n return {\n layout: _objectSpread(_objectSpread({}, layout), {}, {\n template: chartUtils.makeDefaultTemplate(theme)\n })\n };\n });\n }\n\n /**\n * Toggle the error message. If it is already being displayed, then hide it.\n */\n toggleErrorMessage(error) {\n this.setState(_ref0 => {\n var shownError = _ref0.shownError;\n return {\n shownError: shownError === error ? null : error\n };\n });\n }\n\n /**\n * Update the models dimensions and ranges.\n * Note that this will update it all whether the plot size changes OR the range\n * the user is looking at has changed (eg. panning/zooming).\n * Could update each independently, but doing them at the same time keeps the\n * ChartModel API a bit cleaner.\n * @param force Force a change even if the chart dimensions haven't changed (eg. after pan/zoom)\n */\n updateModelDimensions() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var rect = this.getPlotRect();\n if (!rect) {\n log.warn('Unable to get plotting rect');\n return;\n }\n var isRectChanged = !this.rect || this.rect.width !== rect.width || this.rect.height !== rect.height;\n if (isRectChanged || force) {\n this.rect = rect;\n var _this$props4 = this.props,\n isActive = _this$props4.isActive,\n model = _this$props4.model;\n model.setDimensions(rect);\n // We may need to resubscribe if dimensions were too small before\n if (isActive) {\n this.subscribe(model);\n }\n }\n }\n initFormatter() {\n var settings = this.props.settings;\n this.updateFormatterSettings(settings);\n }\n updateFormatterSettings(settings) {\n var columnFormats = FormatterUtils.getColumnFormats(settings);\n var dateTimeFormatterOptions = FormatterUtils.getDateTimeFormatterOptions(settings);\n var _settings$defaultDeci = settings.defaultDecimalFormatOptions,\n defaultDecimalFormatOptions = _settings$defaultDeci === void 0 ? {} : _settings$defaultDeci,\n _settings$defaultInte = settings.defaultIntegerFormatOptions,\n defaultIntegerFormatOptions = _settings$defaultInte === void 0 ? {} : _settings$defaultInte;\n if (!deepEqual(this.columnFormats, columnFormats) || !deepEqual(this.dateTimeFormatterOptions, dateTimeFormatterOptions) || !deepEqual(this.decimalFormatOptions, defaultDecimalFormatOptions) || !deepEqual(this.integerFormatOptions, defaultIntegerFormatOptions)) {\n this.columnFormats = FormatterUtils.getColumnFormats(settings);\n this.dateTimeFormatterOptions = dateTimeFormatterOptions;\n this.decimalFormatOptions = defaultDecimalFormatOptions;\n this.integerFormatOptions = defaultIntegerFormatOptions;\n this.updateFormatter();\n }\n if (this.webgl !== settings.webgl) {\n this.webgl = settings.webgl;\n this.updateRenderOptions();\n }\n }\n updateFormatter() {\n var model = this.props.model;\n var formatter = new Formatter(model.dh, this.columnFormats, this.dateTimeFormatterOptions, this.decimalFormatOptions, this.integerFormatOptions);\n model.setFormatter(formatter);\n }\n updateRenderOptions() {\n var model = this.props.model;\n var renderOptions = {\n webgl: this.webgl\n };\n model.setRenderOptions(renderOptions);\n }\n updateDimensions() {\n var rect = this.getPlotRect();\n var PlotlyProp = this.props.Plotly;\n if (this.plot.current != null && rect != null && rect.width > 0 && rect.height > 0) {\n // Call relayout to resize avoiding the debouncing plotly does\n // https://github.com/plotly/plotly.js/issues/2769#issuecomment-402099552\n PlotlyProp.relayout(this.plot.current.el, {\n autosize: true\n }).catch(e => {\n log.debug('Unable to resize, promise rejected', e);\n });\n }\n }\n render() {\n var PlotComponent = this.PlotComponent;\n var _this$state = this.state,\n data = _this$state.data,\n downsamplingError = _this$state.downsamplingError,\n isDownsampleFinished = _this$state.isDownsampleFinished,\n isDownsampleInProgress = _this$state.isDownsampleInProgress,\n isDownsamplingDisabled = _this$state.isDownsamplingDisabled,\n error = _this$state.error,\n shownError = _this$state.shownError,\n layout = _this$state.layout,\n revision = _this$state.revision,\n shownBlocker = _this$state.shownBlocker;\n var config = this.getCachedConfig(downsamplingError, isDownsampleFinished, isDownsampleInProgress, isDownsamplingDisabled, data !== null && data !== void 0 ? data : [], error);\n var model = this.props.model;\n var isPlotShown = data != null && shownBlocker == null;\n var errorOverlay = null;\n if (shownBlocker != null) {\n errorOverlay = /*#__PURE__*/_jsx(ChartErrorOverlay, {\n errorMessage: \"\".concat(shownBlocker),\n onConfirm: () => {\n model.fireBlockerClear();\n }\n });\n } else if (shownError != null) {\n errorOverlay = /*#__PURE__*/_jsx(ChartErrorOverlay, {\n errorMessage: \"\".concat(downsamplingError),\n onDiscard: () => {\n this.handleDownsampleErrorClose();\n },\n onConfirm: () => {\n this.handleDownsampleErrorClose();\n this.handleDownsampleClick();\n }\n });\n } else if (downsamplingError != null) {\n errorOverlay = /*#__PURE__*/_jsx(ChartErrorOverlay, {\n errorMessage: \"\".concat(downsamplingError),\n onDiscard: () => {\n this.handleDownsampleErrorClose();\n },\n onConfirm: () => {\n this.handleDownsampleErrorClose();\n this.handleDownsampleClick();\n }\n });\n }\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"h-100 w-100 chart-wrapper\",\n ref: this.plotWrapperMerged,\n children: [isPlotShown && /*#__PURE__*/_jsx(PlotComponent\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n , {\n ref: this.plot,\n data: data,\n layout: layout,\n revision: revision,\n config: config,\n onAfterPlot: this.handleAfterPlot,\n onError: log.error,\n onRelayout: this.handleRelayout,\n onUpdate: this.handlePlotUpdate,\n onRestyle: this.handleRestyle,\n style: {\n height: '100%',\n width: '100%'\n }\n }), errorOverlay]\n });\n }\n}\n_defineProperty(Chart, \"defaultProps\", {\n isActive: true,\n settings: {\n timeZone: 'America/New_York',\n defaultDateTimeFormat: DateUtils.FULL_DATE_FORMAT,\n showTimeZone: false,\n showTSeparator: true,\n formatter: [],\n webgl: true\n },\n Plotly,\n onDisconnect: () => undefined,\n onReconnect: () => undefined,\n onUpdate: () => undefined,\n onError: () => undefined,\n onSettingsChanged: () => undefined\n});\nexport default function ChartContainer(props) {\n var chartTheme = useChartTheme();\n // eslint-disable-next-line react/jsx-props-no-spreading\n return /*#__PURE__*/_jsx(Chart, _objectSpread(_objectSpread({}, props), {}, {\n theme: chartTheme\n }));\n}\n//# sourceMappingURL=Chart.js.map"],"names":["ChartErrorOverlay","_ref","errorMessage","onDiscard","onConfirm","onCancel","dataTestId","messageTestId","_jsx","_jsxs","CopyButton","Button","ownKeys","e","r","o","_objectSpread","_defineProperty","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","a","_arrayLikeToArray","n","l","i","u","f","_toPropertyKey","t","_toPrimitive","log","Log","Chart","Component","faIcon","_faIcon$icon","width","path","stringPath","isDownsampleInProgress","isDownsamplingDisabled","props","memoize","downsamplingError","isDownsampleFinished","data","error","customButtons","hasDownsampleError","dhWarningFilled","hasError","name","attr","icon","vsLoading","dhGraphLineDown","has2D","type","has3D","_ref2","buttons2D","buttons3D","bindAllMethods","createPlotlyComponent","React","mergeRefs","_this$props","isActive","model","prevProps","_this$props2","settings","theme","_this$plotWrapper$cur","_this$plotWrapper$cur2","_ref3","layout","_ref4","event","detail","ChartModel","state","revision","onUpdate","_onUpdate","onDisconnect","onReconnect","_message","onError","DownsamplingError","_onError","blocker","newLayout","_ref5","figure","ranges","ChartUtils","isRangesChanged","deepEqual","changes","onSettingsChanged","hiddenSeries","_ref6","_ref7","seriesIndexes","acc","_ref8","visible","_this$props3","dh","chartUtils","_ref9","_ref0","shownError","force","rect","isRectChanged","_this$props4","columnFormats","FormatterUtils","dateTimeFormatterOptions","_settings$defaultDeci","defaultDecimalFormatOptions","_settings$defaultInte","defaultIntegerFormatOptions","formatter","Formatter","renderOptions","PlotlyProp","PlotComponent","_this$state","shownBlocker","config","isPlotShown","errorOverlay","DateUtils","Plotly","ChartContainer","chartTheme","useChartTheme"],"mappings":"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"}
|