@deephaven/embed-chart 0.63.1-beta.1 → 0.63.1-express-memory-fix.2

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.
@@ -1,2 +1,2 @@
1
- import{r as o,C as r}from"./vendor-16bda9b1.js";import{L as C,a as b}from"./index-cf9361eb.js";import{u as w,a as y,b as L,C as A,c as E,d as M}from"./useConnection-32180017.js";import"./helpers-de833af9.js";import"./plotly-e9150c9a.js";const t=C.module("EmbedChart.App");async function j(a,n,s){t.info(`Fetching figure ${s}...`);const i={name:s,type:a.VariableType.FIGURE};return n.getObject(i)}function $(){const[a,n]=o.useState(),[s,i]=o.useState(),[m,g]=o.useState(!0),d=o.useMemo(()=>new URLSearchParams(window.location.search),[]),l=w(),c=y(),p=L();o.useEffect(function(){async function f(){try{const e=d.get("name");if(e==null)throw new Error("No name param provided");t.debug("Loading figure",e,"...");const h=await j(c,l,e);t.debug("Creating model...");const x=await M.makeModel(c,void 0,h,p);n(x),t.debug("Figure successfully loaded!")}catch(e){t.error("Unable to load figure",e),i(`${e}`)}g(!1)}f()},[c,l,d,p]);const u=a!=null;return r.jsxs("div",{className:"App",children:[u&&r.jsx(A,{model:a}),!u&&r.jsx(b,{isLoaded:u,isLoading:m,errorMessage:s??null}),r.jsx(E,{})]})}export{$ as default};
2
- //# sourceMappingURL=App-dc06392b.js.map
1
+ import{r as o,C as r}from"./vendor-16bda9b1.js";import{L as C,a as b}from"./index-9f7f2001.js";import{u as w,a as y,b as L,C as A,c as E,d as M}from"./useConnection-9a2eabe6.js";import"./helpers-de833af9.js";import"./plotly-e9150c9a.js";const t=C.module("EmbedChart.App");async function j(a,n,s){t.info(`Fetching figure ${s}...`);const i={name:s,type:a.VariableType.FIGURE};return n.getObject(i)}function $(){const[a,n]=o.useState(),[s,i]=o.useState(),[m,g]=o.useState(!0),d=o.useMemo(()=>new URLSearchParams(window.location.search),[]),l=w(),c=y(),p=L();o.useEffect(function(){async function f(){try{const e=d.get("name");if(e==null)throw new Error("No name param provided");t.debug("Loading figure",e,"...");const h=await j(c,l,e);t.debug("Creating model...");const x=await M.makeModel(c,void 0,h,p);n(x),t.debug("Figure successfully loaded!")}catch(e){t.error("Unable to load figure",e),i(`${e}`)}g(!1)}f()},[c,l,d,p]);const u=a!=null;return r.jsxs("div",{className:"App",children:[u&&r.jsx(A,{model:a}),!u&&r.jsx(b,{isLoaded:u,isLoading:m,errorMessage:s??null}),r.jsx(E,{})]})}export{$ as default};
2
+ //# sourceMappingURL=App-97f1a86a.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App-dc06392b.js","sources":["../../src/App.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useConnection } from '@deephaven/app-utils';\nimport {\n Chart,\n ChartModel,\n ChartModelFactory,\n useChartTheme,\n} from '@deephaven/chart'; // chart is used to display Deephaven charts\nimport { ContextMenuRoot, LoadingOverlay } from '@deephaven/components'; // Use the loading spinner from the Deephaven components package\nimport type {\n dh as DhType,\n Figure,\n IdeConnection,\n} from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport './App.scss'; // Styles for in this app\nimport { useApi } from '@deephaven/jsapi-bootstrap';\n\nconst log = Log.module('EmbedChart.App');\n\n/**\n * Load an existing Deephaven figure with the connection provided\n * @param dh JSAPI instance\n * @param connection The Deephaven session object\n * @param name Name of the figure to load\n * @returns Deephaven figure\n */\nasync function loadFigure(\n dh: DhType,\n connection: IdeConnection,\n name: string\n): Promise<Figure> {\n log.info(`Fetching figure ${name}...`);\n\n const descriptor = { name, type: dh.VariableType.FIGURE };\n return connection.getObject(descriptor);\n}\n\n/**\n * A functional React component that displays a Deephaven figure using the @deephaven/chart package.\n * It will attempt to open and display the figure specified with the `name` parameter, expecting it to be present on the server.\n * E.g. http://localhost:3000/?name=myFigure will attempt to open a figure `myFigure`\n * If no query param is provided, it will display an error.\n * By default, tries to connect to the server defined in the VITE_CORE_API_URL variable, which is set to http://localhost:10000/jsapi\n * See Vite docs for how to update these env vars: https://vitejs.dev/guide/env-and-mode.html\n */\nfunction App(): JSX.Element {\n const [model, setModel] = useState<ChartModel>();\n const [error, setError] = useState<string>();\n const [isLoading, setIsLoading] = useState(true);\n const searchParams = useMemo(\n () => new URLSearchParams(window.location.search),\n []\n );\n const connection = useConnection();\n const dh = useApi();\n const chartTheme = useChartTheme();\n\n useEffect(\n function initializeApp() {\n async function initApp(): Promise<void> {\n try {\n // Get the table name from the query param `name`.\n const name = searchParams.get('name');\n\n if (name == null) {\n throw new Error('No name param provided');\n }\n\n log.debug('Loading figure', name, '...');\n\n // Load the figure up.\n const figure = await loadFigure(dh, connection, name);\n\n // Create the `ChartModel` for use with the `Chart` component\n log.debug(`Creating model...`);\n\n const newModel = await ChartModelFactory.makeModel(\n dh,\n undefined,\n figure,\n chartTheme\n );\n\n setModel(newModel);\n\n log.debug('Figure successfully loaded!');\n } catch (e: unknown) {\n log.error('Unable to load figure', e);\n setError(`${e}`);\n }\n setIsLoading(false);\n }\n initApp();\n },\n [dh, connection, searchParams, chartTheme]\n );\n\n const isLoaded = model != null;\n\n return (\n <div className=\"App\">\n {isLoaded && <Chart model={model} />}\n {!isLoaded && (\n <LoadingOverlay\n isLoaded={isLoaded}\n isLoading={isLoading}\n errorMessage={error ?? null}\n />\n )}\n <ContextMenuRoot />\n </div>\n );\n}\n\nexport default App;\n"],"names":["log","Log","loadFigure","dh","connection","name","descriptor","App","model","setModel","useState","error","setError","isLoading","setIsLoading","searchParams","useMemo","useConnection","useApi","chartTheme","useChartTheme","useEffect","initApp","figure","newModel","ChartModelFactory","isLoaded","jsxs","jsx","Chart","LoadingOverlay","ContextMenuRoot"],"mappings":"6OAkBA,MAAMA,EAAMC,EAAI,OAAO,gBAAgB,EASvC,eAAeC,EACbC,EACAC,EACAC,EACiB,CACbL,EAAA,KAAK,mBAAmBK,CAAI,KAAK,EAErC,MAAMC,EAAa,CAAE,KAAAD,EAAM,KAAMF,EAAG,aAAa,QAC1C,OAAAC,EAAW,UAAUE,CAAU,CACxC,CAUA,SAASC,GAAmB,CAC1B,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAqB,SAAA,EACzC,CAACC,EAAOC,CAAQ,EAAIF,EAAiB,SAAA,EACrC,CAACG,EAAWC,CAAY,EAAIJ,WAAS,EAAI,EACzCK,EAAeC,EAAA,QACnB,IAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAChD,CAAC,CAAA,EAEGZ,EAAaa,IACbd,EAAKe,IACLC,EAAaC,IAEnBC,EAAA,UACE,UAAyB,CACvB,eAAeC,GAAyB,CAClC,GAAA,CAEI,MAAAjB,EAAOU,EAAa,IAAI,MAAM,EAEpC,GAAIV,GAAQ,KACJ,MAAA,IAAI,MAAM,wBAAwB,EAGtCL,EAAA,MAAM,iBAAkBK,EAAM,KAAK,EAGvC,MAAMkB,EAAS,MAAMrB,EAAWC,EAAIC,EAAYC,CAAI,EAGpDL,EAAI,MAAM,mBAAmB,EAEvB,MAAAwB,EAAW,MAAMC,EAAkB,UACvCtB,EACA,OACAoB,EACAJ,CAAA,EAGFV,EAASe,CAAQ,EAEjBxB,EAAI,MAAM,6BAA6B,QAChC,EAAY,CACfA,EAAA,MAAM,wBAAyB,CAAC,EAC3BY,EAAA,GAAG,CAAC,EAAE,CACjB,CACAE,EAAa,EAAK,CACpB,CACQQ,GACV,EACA,CAACnB,EAAIC,EAAYW,EAAcI,CAAU,CAAA,EAG3C,MAAMO,EAAWlB,GAAS,KAGxB,OAAAmB,EAAA,KAAC,MAAI,CAAA,UAAU,MACZ,SAAA,CAAYD,GAAAE,EAAA,IAACC,GAAM,MAAArB,CAAc,CAAA,EACjC,CAACkB,GACAE,EAAA,IAACE,EAAA,CACC,SAAAJ,EACA,UAAAb,EACA,aAAcF,GAAS,IAAA,CACzB,QAEDoB,EAAgB,EAAA,CACnB,CAAA,CAAA,CAEJ"}
1
+ {"version":3,"file":"App-97f1a86a.js","sources":["../../src/App.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useState } from 'react';\nimport { useConnection } from '@deephaven/app-utils';\nimport {\n Chart,\n ChartModel,\n ChartModelFactory,\n useChartTheme,\n} from '@deephaven/chart'; // chart is used to display Deephaven charts\nimport { ContextMenuRoot, LoadingOverlay } from '@deephaven/components'; // Use the loading spinner from the Deephaven components package\nimport type {\n dh as DhType,\n Figure,\n IdeConnection,\n} from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport './App.scss'; // Styles for in this app\nimport { useApi } from '@deephaven/jsapi-bootstrap';\n\nconst log = Log.module('EmbedChart.App');\n\n/**\n * Load an existing Deephaven figure with the connection provided\n * @param dh JSAPI instance\n * @param connection The Deephaven session object\n * @param name Name of the figure to load\n * @returns Deephaven figure\n */\nasync function loadFigure(\n dh: DhType,\n connection: IdeConnection,\n name: string\n): Promise<Figure> {\n log.info(`Fetching figure ${name}...`);\n\n const descriptor = { name, type: dh.VariableType.FIGURE };\n return connection.getObject(descriptor);\n}\n\n/**\n * A functional React component that displays a Deephaven figure using the @deephaven/chart package.\n * It will attempt to open and display the figure specified with the `name` parameter, expecting it to be present on the server.\n * E.g. http://localhost:3000/?name=myFigure will attempt to open a figure `myFigure`\n * If no query param is provided, it will display an error.\n * By default, tries to connect to the server defined in the VITE_CORE_API_URL variable, which is set to http://localhost:10000/jsapi\n * See Vite docs for how to update these env vars: https://vitejs.dev/guide/env-and-mode.html\n */\nfunction App(): JSX.Element {\n const [model, setModel] = useState<ChartModel>();\n const [error, setError] = useState<string>();\n const [isLoading, setIsLoading] = useState(true);\n const searchParams = useMemo(\n () => new URLSearchParams(window.location.search),\n []\n );\n const connection = useConnection();\n const dh = useApi();\n const chartTheme = useChartTheme();\n\n useEffect(\n function initializeApp() {\n async function initApp(): Promise<void> {\n try {\n // Get the table name from the query param `name`.\n const name = searchParams.get('name');\n\n if (name == null) {\n throw new Error('No name param provided');\n }\n\n log.debug('Loading figure', name, '...');\n\n // Load the figure up.\n const figure = await loadFigure(dh, connection, name);\n\n // Create the `ChartModel` for use with the `Chart` component\n log.debug(`Creating model...`);\n\n const newModel = await ChartModelFactory.makeModel(\n dh,\n undefined,\n figure,\n chartTheme\n );\n\n setModel(newModel);\n\n log.debug('Figure successfully loaded!');\n } catch (e: unknown) {\n log.error('Unable to load figure', e);\n setError(`${e}`);\n }\n setIsLoading(false);\n }\n initApp();\n },\n [dh, connection, searchParams, chartTheme]\n );\n\n const isLoaded = model != null;\n\n return (\n <div className=\"App\">\n {isLoaded && <Chart model={model} />}\n {!isLoaded && (\n <LoadingOverlay\n isLoaded={isLoaded}\n isLoading={isLoading}\n errorMessage={error ?? null}\n />\n )}\n <ContextMenuRoot />\n </div>\n );\n}\n\nexport default App;\n"],"names":["log","Log","loadFigure","dh","connection","name","descriptor","App","model","setModel","useState","error","setError","isLoading","setIsLoading","searchParams","useMemo","useConnection","useApi","chartTheme","useChartTheme","useEffect","initApp","figure","newModel","ChartModelFactory","isLoaded","jsxs","jsx","Chart","LoadingOverlay","ContextMenuRoot"],"mappings":"6OAkBA,MAAMA,EAAMC,EAAI,OAAO,gBAAgB,EASvC,eAAeC,EACbC,EACAC,EACAC,EACiB,CACbL,EAAA,KAAK,mBAAmBK,CAAI,KAAK,EAErC,MAAMC,EAAa,CAAE,KAAAD,EAAM,KAAMF,EAAG,aAAa,QAC1C,OAAAC,EAAW,UAAUE,CAAU,CACxC,CAUA,SAASC,GAAmB,CAC1B,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAqB,SAAA,EACzC,CAACC,EAAOC,CAAQ,EAAIF,EAAiB,SAAA,EACrC,CAACG,EAAWC,CAAY,EAAIJ,WAAS,EAAI,EACzCK,EAAeC,EAAA,QACnB,IAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAChD,CAAC,CAAA,EAEGZ,EAAaa,IACbd,EAAKe,IACLC,EAAaC,IAEnBC,EAAA,UACE,UAAyB,CACvB,eAAeC,GAAyB,CAClC,GAAA,CAEI,MAAAjB,EAAOU,EAAa,IAAI,MAAM,EAEpC,GAAIV,GAAQ,KACJ,MAAA,IAAI,MAAM,wBAAwB,EAGtCL,EAAA,MAAM,iBAAkBK,EAAM,KAAK,EAGvC,MAAMkB,EAAS,MAAMrB,EAAWC,EAAIC,EAAYC,CAAI,EAGpDL,EAAI,MAAM,mBAAmB,EAEvB,MAAAwB,EAAW,MAAMC,EAAkB,UACvCtB,EACA,OACAoB,EACAJ,CAAA,EAGFV,EAASe,CAAQ,EAEjBxB,EAAI,MAAM,6BAA6B,QAChC,EAAY,CACfA,EAAA,MAAM,wBAAyB,CAAC,EAC3BY,EAAA,GAAG,CAAC,EAAE,CACjB,CACAE,EAAa,EAAK,CACpB,CACQQ,GACV,EACA,CAACnB,EAAIC,EAAYW,EAAcI,CAAU,CAAA,EAG3C,MAAMO,EAAWlB,GAAS,KAGxB,OAAAmB,EAAA,KAAC,MAAI,CAAA,UAAU,MACZ,SAAA,CAAYD,GAAAE,EAAA,IAACC,GAAM,MAAArB,CAAc,CAAA,EACjC,CAACkB,GACAE,EAAA,IAACE,EAAA,CACC,SAAAJ,EACA,UAAAb,EACA,aAAcF,GAAS,IAAA,CACzB,QAEDoB,EAAgB,EAAA,CACnB,CAAA,CAAA,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{r as s,C as i,a$ as l,b0 as d,b1 as u,G as m}from"./vendor-16bda9b1.js";import{E as c,C as f}from"./index-66d26e31.js";import"./helpers-de833af9.js";import"./index-cf9361eb.js";import"./useConnection-32180017.js";import"./plotly-e9150c9a.js";function o(e,r,t){return r=p(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function p(e){var r=g(e,"string");return typeof r=="symbol"?r:String(r)}function g(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var v=e=>{var{children:r,className:t}=e,n=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return i.jsx("pre",{children:i.jsx("code",{children:i.jsx(f,{language:n,children:m.Children.map(r,a=>typeof a=="string"?a.trim():a)})})})};class h extends s.PureComponent{constructor(r){super(r),o(this,"container",void 0),this.container=null}render(){var{isEditing:r,content:t,onEditorInitialized:n}=this.props;return i.jsx("div",{className:"markdown-editor-container",ref:a=>{this.container=a},children:r?i.jsx(c,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):i.jsx(l,{components:{code:v},remarkPlugins:[d],rehypePlugins:[u],children:t})})}}o(h,"defaultProps",{isEditing:!1,content:""});export{h as default};
2
- //# sourceMappingURL=MarkdownEditor-94b8ea70.js.map
1
+ import{r as s,C as i,a$ as l,b0 as d,b1 as u,G as m}from"./vendor-16bda9b1.js";import{E as c,C as f}from"./index-e435f5c9.js";import"./helpers-de833af9.js";import"./index-9f7f2001.js";import"./useConnection-9a2eabe6.js";import"./plotly-e9150c9a.js";function o(e,r,t){return r=p(r),r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function p(e){var r=g(e,"string");return typeof r=="symbol"?r:String(r)}function g(e,r){if(typeof e!="object"||e===null)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,r||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var v=e=>{var{children:r,className:t}=e,n=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return i.jsx("pre",{children:i.jsx("code",{children:i.jsx(f,{language:n,children:m.Children.map(r,a=>typeof a=="string"?a.trim():a)})})})};class h extends s.PureComponent{constructor(r){super(r),o(this,"container",void 0),this.container=null}render(){var{isEditing:r,content:t,onEditorInitialized:n}=this.props;return i.jsx("div",{className:"markdown-editor-container",ref:a=>{this.container=a},children:r?i.jsx(c,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:n}):i.jsx(l,{components:{code:v},remarkPlugins:[d],rehypePlugins:[u],children:t})})}}o(h,"defaultProps",{isEditing:!1,content:""});export{h as default};
2
+ //# sourceMappingURL=MarkdownEditor-ee03aae2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor-94b8ea70.js","sources":["../../../dashboard-core-plugins/dist/controls/markdown/MarkdownEditor.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport Markdown from 'react-markdown';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Code, Editor } from '@deephaven/console';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar renderMarkdown = props => {\n var {\n children,\n className\n } = props;\n var language = className !== undefined && className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n return /*#__PURE__*/_jsx(\"pre\", {\n children: /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })\n });\n};\nexport default class MarkdownEditor extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"container\", void 0);\n this.container = null;\n }\n render() {\n var {\n isEditing,\n content,\n onEditorInitialized\n } = this.props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-editor-container\",\n ref: container => {\n this.container = container;\n },\n children: isEditing ? /*#__PURE__*/_jsx(Editor, {\n settings: {\n language: 'markdown',\n value: content,\n lineNumbers: 'off'\n },\n onEditorInitialized: onEditorInitialized\n }) : /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: renderMarkdown\n },\n remarkPlugins: [remarkMath],\n rehypePlugins: [rehypeMathjax],\n children: content\n })\n });\n }\n}\n_defineProperty(MarkdownEditor, \"defaultProps\", {\n isEditing: false,\n content: ''\n});\n//# sourceMappingURL=MarkdownEditor.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","renderMarkdown","props","children","className","language","_jsx","Code","React","child","MarkdownEditor","PureComponent","isEditing","content","onEditorInitialized","container","Editor","Markdown","remarkMath","rehypeMathjax"],"mappings":"yPAAA,SAASA,EAAgBC,EAAKC,EAAKC,EAAO,CAAE,OAAAD,EAAME,EAAeF,CAAG,EAAOA,KAAOD,EAAO,OAAO,eAAeA,EAAKC,EAAK,CAAE,MAAOC,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAM,CAAA,EAAYF,EAAIC,CAAG,EAAIC,EAAgBF,CAAM,CAC5O,SAASG,EAAeC,EAAK,CAAE,IAAIH,EAAMI,EAAaD,EAAK,QAAQ,EAAG,OAAO,OAAOH,GAAQ,SAAWA,EAAM,OAAOA,CAAG,CAAI,CAC3H,SAASI,EAAaC,EAAOC,EAAM,CAAE,GAAI,OAAOD,GAAU,UAAYA,IAAU,KAAM,OAAOA,EAAO,IAAIE,EAAOF,EAAM,OAAO,WAAW,EAAG,GAAIE,IAAS,OAAW,CAAE,IAAIC,EAAMD,EAAK,KAAKF,EAAOC,GAAQ,SAAS,EAAG,GAAI,OAAOE,GAAQ,SAAU,OAAOA,EAAK,MAAM,IAAI,UAAU,8CAA8C,CAAI,CAAC,OAAQF,IAAS,SAAW,OAAS,QAAQD,CAAK,CAAI,CAOzX,IAAII,EAAiBC,GAAS,CAC5B,GAAI,CACF,SAAAC,EACA,UAAAC,CACD,EAAGF,EACAG,EAAsCD,GAAc,MAAQA,IAAc,QAAUA,EAAU,WAAW,WAAW,EAAIA,EAAU,UAAU,CAAC,EAAI,YACrJ,OAAoBE,EAAAA,IAAK,MAAO,CAC9B,SAAuBA,EAAI,IAAC,OAAQ,CAClC,SAAuBA,EAAI,IAACC,EAAM,CAChC,SAAUF,EACV,SAAUG,EAAM,SAAS,IAAIL,EAAUM,GAAS,OAAOA,GAAU,SAAWA,EAAM,KAAI,EAAKA,CAAK,CACxG,CAAO,CACP,CAAK,CACL,CAAG,CACH,EACe,MAAMC,UAAuBC,EAAAA,aAAc,CACxD,YAAYT,EAAO,CACjB,MAAMA,CAAK,EACXZ,EAAgB,KAAM,YAAa,MAAM,EACzC,KAAK,UAAY,IAClB,CACD,QAAS,CACP,GAAI,CACF,UAAAsB,EACA,QAAAC,EACA,oBAAAC,CACN,EAAQ,KAAK,MACT,OAAoBR,EAAAA,IAAK,MAAO,CAC9B,UAAW,4BACX,IAAKS,GAAa,CAChB,KAAK,UAAYA,CAClB,EACD,SAAUH,EAAyBN,EAAI,IAACU,EAAQ,CAC9C,SAAU,CACR,SAAU,WACV,MAAOH,EACP,YAAa,KACd,EACD,oBAAqBC,CAC7B,CAAO,EAAiBR,EAAI,IAACW,EAAU,CAC/B,WAAY,CACV,KAAMhB,CACP,EACD,cAAe,CAACiB,CAAU,EAC1B,cAAe,CAACC,CAAa,EAC7B,SAAUN,CAClB,CAAO,CACP,CAAK,CACF,CACH,CACAvB,EAAgBoB,EAAgB,eAAgB,CAC9C,UAAW,GACX,QAAS,EACX,CAAC"}
1
+ {"version":3,"file":"MarkdownEditor-ee03aae2.js","sources":["../../../dashboard-core-plugins/dist/controls/markdown/MarkdownEditor.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport Markdown from 'react-markdown';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Code, Editor } from '@deephaven/console';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar renderMarkdown = props => {\n var {\n children,\n className\n } = props;\n var language = className !== undefined && className !== null && className !== void 0 && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n return /*#__PURE__*/_jsx(\"pre\", {\n children: /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })\n });\n};\nexport default class MarkdownEditor extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"container\", void 0);\n this.container = null;\n }\n render() {\n var {\n isEditing,\n content,\n onEditorInitialized\n } = this.props;\n return /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-editor-container\",\n ref: container => {\n this.container = container;\n },\n children: isEditing ? /*#__PURE__*/_jsx(Editor, {\n settings: {\n language: 'markdown',\n value: content,\n lineNumbers: 'off'\n },\n onEditorInitialized: onEditorInitialized\n }) : /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: renderMarkdown\n },\n remarkPlugins: [remarkMath],\n rehypePlugins: [rehypeMathjax],\n children: content\n })\n });\n }\n}\n_defineProperty(MarkdownEditor, \"defaultProps\", {\n isEditing: false,\n content: ''\n});\n//# sourceMappingURL=MarkdownEditor.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","renderMarkdown","props","children","className","language","_jsx","Code","React","child","MarkdownEditor","PureComponent","isEditing","content","onEditorInitialized","container","Editor","Markdown","remarkMath","rehypeMathjax"],"mappings":"yPAAA,SAASA,EAAgBC,EAAKC,EAAKC,EAAO,CAAE,OAAAD,EAAME,EAAeF,CAAG,EAAOA,KAAOD,EAAO,OAAO,eAAeA,EAAKC,EAAK,CAAE,MAAOC,EAAO,WAAY,GAAM,aAAc,GAAM,SAAU,EAAM,CAAA,EAAYF,EAAIC,CAAG,EAAIC,EAAgBF,CAAM,CAC5O,SAASG,EAAeC,EAAK,CAAE,IAAIH,EAAMI,EAAaD,EAAK,QAAQ,EAAG,OAAO,OAAOH,GAAQ,SAAWA,EAAM,OAAOA,CAAG,CAAI,CAC3H,SAASI,EAAaC,EAAOC,EAAM,CAAE,GAAI,OAAOD,GAAU,UAAYA,IAAU,KAAM,OAAOA,EAAO,IAAIE,EAAOF,EAAM,OAAO,WAAW,EAAG,GAAIE,IAAS,OAAW,CAAE,IAAIC,EAAMD,EAAK,KAAKF,EAAOC,GAAQ,SAAS,EAAG,GAAI,OAAOE,GAAQ,SAAU,OAAOA,EAAK,MAAM,IAAI,UAAU,8CAA8C,CAAI,CAAC,OAAQF,IAAS,SAAW,OAAS,QAAQD,CAAK,CAAI,CAOzX,IAAII,EAAiBC,GAAS,CAC5B,GAAI,CACF,SAAAC,EACA,UAAAC,CACD,EAAGF,EACAG,EAAsCD,GAAc,MAAQA,IAAc,QAAUA,EAAU,WAAW,WAAW,EAAIA,EAAU,UAAU,CAAC,EAAI,YACrJ,OAAoBE,EAAAA,IAAK,MAAO,CAC9B,SAAuBA,EAAI,IAAC,OAAQ,CAClC,SAAuBA,EAAI,IAACC,EAAM,CAChC,SAAUF,EACV,SAAUG,EAAM,SAAS,IAAIL,EAAUM,GAAS,OAAOA,GAAU,SAAWA,EAAM,KAAI,EAAKA,CAAK,CACxG,CAAO,CACP,CAAK,CACL,CAAG,CACH,EACe,MAAMC,UAAuBC,EAAAA,aAAc,CACxD,YAAYT,EAAO,CACjB,MAAMA,CAAK,EACXZ,EAAgB,KAAM,YAAa,MAAM,EACzC,KAAK,UAAY,IAClB,CACD,QAAS,CACP,GAAI,CACF,UAAAsB,EACA,QAAAC,EACA,oBAAAC,CACN,EAAQ,KAAK,MACT,OAAoBR,EAAAA,IAAK,MAAO,CAC9B,UAAW,4BACX,IAAKS,GAAa,CAChB,KAAK,UAAYA,CAClB,EACD,SAAUH,EAAyBN,EAAI,IAACU,EAAQ,CAC9C,SAAU,CACR,SAAU,WACV,MAAOH,EACP,YAAa,KACd,EACD,oBAAqBC,CAC7B,CAAO,EAAiBR,EAAI,IAACW,EAAU,CAC/B,WAAY,CACV,KAAMhB,CACP,EACD,cAAe,CAACiB,CAAU,EAC1B,cAAe,CAACC,CAAa,EAC7B,SAAUN,CAClB,CAAO,CACP,CAAK,CACF,CACH,CACAvB,EAAgBoB,EAAgB,eAAgB,CAC9C,UAAW,GACX,QAAS,EACX,CAAC"}
@@ -1,2 +1,2 @@
1
- import{r as y,G as C,C as s,E as g,a$ as L,b2 as w,b0 as N,b1 as E}from"./vendor-16bda9b1.js";import{n as j,aR as S}from"./index-cf9361eb.js";import{B as b}from"./useConnection-32180017.js";import{C as P}from"./index-66d26e31.js";import"./helpers-de833af9.js";import"./plotly-e9150c9a.js";function f(r,e,t){return e=M(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function M(r){var e=B(r,"string");return typeof e=="symbol"?e:String(e)}function B(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class I extends y.PureComponent{constructor(e){super(e),f(this,"commands",void 0),f(this,"codeElements",void 0),f(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=C.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(a=>a===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:a}=this.state,i=[...this.commands.keys()],d=i.findIndex(x=>x===a||a==null);if(!(d<0)){var l=i[d],p=this.commands.get(l),u=this.getNextStartLine(l),m=(t=this.codeElements.get(l))===null||t===void 0?void 0:t.current,o=m==null||(n=m.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(o!=null){var c,{offsetTop:v}=o,k=v;(c=this.editorScrollView.current)===null||c===void 0||c.scroll({top:k,left:0})}this.runCode(p),this.setState({nextStartLine:u})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:a,node:i}=e,{hasRunCode:d,nextStartLine:l}=this.state,{children:p,position:u}=i;j(u);var{start:m}=u,{line:o}=m,c=p[0].value,v=C.createRef(),k=this.commands.size===0,x=l===o||k&&l==null&&!d,R=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return a!=null&&a?s.jsx("code",{className:n,children:t}):(this.commands.set(o,c),this.codeElements.set(o,v),s.jsxs("div",{className:g("markdown-notebook-code-block",{"is-selected":x}),ref:v,onClick:()=>{this.setState({nextStartLine:o})},role:"presentation",children:[s.jsx(b,{kind:"ghost",icon:S,className:"btn-play-block",onClick:h=>{h.stopPropagation(),h.preventDefault(),this.runCode(c),this.setState({nextStartLine:o})},tooltip:"Run code"}),s.jsx("code",{children:s.jsx(P,{language:R,children:C.Children.map(t,h=>typeof h=="string"?h.trim():h)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:a,target:i}=e;return s.jsx("a",{href:n,onClick:t,target:i,children:a})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:a,hasRunCode:i,nextStartLine:d}=this.state;return s.jsxs("div",{className:"markdown-notebook",children:[s.jsx("div",{className:"markdown-notebook-toolbar",children:s.jsx(b,{className:g("btn-play-selected-cell",{flashing:a&&!i}),kind:"ghost",icon:S,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:i&&d==null||!a,children:"Run Selected Code"})}),s.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:s.jsx(L,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[w,N],rehypePlugins:[E],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}f(I,"defaultProps",{onRunCode:()=>{}});export{I as MarkdownNotebook,I as default};
2
- //# sourceMappingURL=MarkdownNotebook-c15a2c32.js.map
1
+ import{r as y,G as C,C as s,E as g,a$ as L,b2 as w,b0 as N,b1 as E}from"./vendor-16bda9b1.js";import{n as j,aR as S}from"./index-9f7f2001.js";import{B as b}from"./useConnection-9a2eabe6.js";import{C as P}from"./index-e435f5c9.js";import"./helpers-de833af9.js";import"./plotly-e9150c9a.js";function f(r,e,t){return e=M(e),e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}function M(r){var e=B(r,"string");return typeof e=="symbol"?e:String(e)}function B(r,e){if(typeof r!="object"||r===null)return r;var t=r[Symbol.toPrimitive];if(t!==void 0){var n=t.call(r,e||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}class I extends y.PureComponent{constructor(e){super(e),f(this,"commands",void 0),f(this,"codeElements",void 0),f(this,"editorScrollView",void 0),this.handleRunSelected=this.handleRunSelected.bind(this),this.renderCodeBlock=this.renderCodeBlock.bind(this),this.renderLink=this.renderLink.bind(this),this.commands=new Map,this.codeElements=new Map,this.editorScrollView=C.createRef(),this.state={hasCode:!1,hasRunCode:!1,nextStartLine:null}}componentDidMount(){this.updateHasCode()}componentDidUpdate(){this.updateHasCode()}updateHasCode(){var{hasCode:e}=this.state;this.commands.size===0&&e?this.setState({hasCode:!1}):this.commands.size>0&&!e&&this.setState({hasCode:!0})}getNextStartLine(e){var t=[...this.commands.keys()],n=t.findIndex(a=>a===e)+1;return n>=t.length?null:t[n]}handleRunSelected(e){var t,n;e.preventDefault(),e.stopPropagation();var{nextStartLine:a}=this.state,i=[...this.commands.keys()],d=i.findIndex(x=>x===a||a==null);if(!(d<0)){var l=i[d],p=this.commands.get(l),u=this.getNextStartLine(l),m=(t=this.codeElements.get(l))===null||t===void 0?void 0:t.current,o=m==null||(n=m.parentElement)===null||n===void 0?void 0:n.nextElementSibling;if(o!=null){var c,{offsetTop:v}=o,k=v;(c=this.editorScrollView.current)===null||c===void 0||c.scroll({top:k,left:0})}this.runCode(p),this.setState({nextStartLine:u})}}runCode(e){var{onRunCode:t}=this.props;t(e),this.setState({hasRunCode:!0})}renderCodeBlock(e){var{children:t,className:n,inline:a,node:i}=e,{hasRunCode:d,nextStartLine:l}=this.state,{children:p,position:u}=i;j(u);var{start:m}=u,{line:o}=m,c=p[0].value,v=C.createRef(),k=this.commands.size===0,x=l===o||k&&l==null&&!d,R=n!==void 0&&n.startsWith("language-")?n.substring(9):"plaintext";return a!=null&&a?s.jsx("code",{className:n,children:t}):(this.commands.set(o,c),this.codeElements.set(o,v),s.jsxs("div",{className:g("markdown-notebook-code-block",{"is-selected":x}),ref:v,onClick:()=>{this.setState({nextStartLine:o})},role:"presentation",children:[s.jsx(b,{kind:"ghost",icon:S,className:"btn-play-block",onClick:h=>{h.stopPropagation(),h.preventDefault(),this.runCode(c),this.setState({nextStartLine:o})},tooltip:"Run code"}),s.jsx("code",{children:s.jsx(P,{language:R,children:C.Children.map(t,h=>typeof h=="string"?h.trim():h)})})]}))}renderLink(e){var{onLinkClick:t}=this.props,{href:n,children:a,target:i}=e;return s.jsx("a",{href:n,onClick:t,target:i,children:a})}render(){var{content:e,transformImageUri:t,transformLinkUri:n}=this.props,{hasCode:a,hasRunCode:i,nextStartLine:d}=this.state;return s.jsxs("div",{className:"markdown-notebook",children:[s.jsx("div",{className:"markdown-notebook-toolbar",children:s.jsx(b,{className:g("btn-play-selected-cell",{flashing:a&&!i}),kind:"ghost",icon:S,onClick:this.handleRunSelected,tooltip:"Run code and select next",disabled:i&&d==null||!a,children:"Run Selected Code"})}),s.jsx("div",{className:"markdown-notebook-content",ref:this.editorScrollView,children:s.jsx(L,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[w,N],rehypePlugins:[E],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}f(I,"defaultProps",{onRunCode:()=>{}});export{I as MarkdownNotebook,I as default};
2
+ //# sourceMappingURL=MarkdownNotebook-ea84ecb0.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownNotebook-c15a2c32.js","sources":["../../../dashboard-core-plugins/dist/panels/MarkdownNotebook.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Button } from '@deephaven/components';\nimport { Code } from '@deephaven/console';\nimport { vsPlay } from '@deephaven/icons';\nimport \"./MarkdownNotebook.css\";\nimport { assertNotNull } from '@deephaven/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport class MarkdownNotebook extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"commands\", void 0);\n _defineProperty(this, \"codeElements\", void 0);\n _defineProperty(this, \"editorScrollView\", void 0);\n this.handleRunSelected = this.handleRunSelected.bind(this);\n this.renderCodeBlock = this.renderCodeBlock.bind(this);\n this.renderLink = this.renderLink.bind(this);\n\n // Map of each code block from it's starting line number to the code within that block\n this.commands = new Map();\n this.codeElements = new Map();\n this.editorScrollView = /*#__PURE__*/React.createRef();\n this.state = {\n hasCode: false,\n // Keep track if any code has been executed yet. If not, make the run button flash\n hasRunCode: false,\n // Line of the next block to execute. Null to start at the first block\n nextStartLine: null\n };\n }\n componentDidMount() {\n this.updateHasCode();\n }\n componentDidUpdate() {\n this.updateHasCode();\n }\n updateHasCode() {\n var {\n hasCode\n } = this.state;\n if (this.commands.size === 0 && hasCode) {\n this.setState({\n hasCode: false\n });\n } else if (this.commands.size > 0 && !hasCode) {\n this.setState({\n hasCode: true\n });\n }\n }\n\n /**\n * @param line The line of the code block to start from\n * @returns The next line of the code block to start from\n */\n getNextStartLine(line) {\n var keys = [...this.commands.keys()];\n var nextIndex = keys.findIndex(key => key === line) + 1;\n if (nextIndex >= keys.length) {\n // We got to the last block, disable\n return null;\n }\n return keys[nextIndex];\n }\n handleRunSelected(event) {\n var _this$codeElements$ge, _element$parentElemen;\n event.preventDefault();\n event.stopPropagation();\n var {\n nextStartLine\n } = this.state;\n var keys = [...this.commands.keys()];\n var keyIndex = keys.findIndex(key => key === nextStartLine || nextStartLine == null);\n if (keyIndex < 0) {\n return;\n }\n var startLine = keys[keyIndex];\n var command = this.commands.get(startLine);\n var newNextStartLine = this.getNextStartLine(startLine);\n var element = (_this$codeElements$ge = this.codeElements.get(startLine)) === null || _this$codeElements$ge === void 0 ? void 0 : _this$codeElements$ge.current;\n var nextElement = element === null || element === void 0 ? void 0 : (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.nextElementSibling;\n if (nextElement != null) {\n var _this$editorScrollVie;\n var {\n offsetTop\n } = nextElement;\n var top = offsetTop;\n (_this$editorScrollVie = this.editorScrollView.current) === null || _this$editorScrollVie === void 0 ? void 0 : _this$editorScrollVie.scroll({\n top,\n left: 0\n });\n }\n this.runCode(command);\n this.setState({\n nextStartLine: newNextStartLine\n });\n }\n runCode(command) {\n var {\n onRunCode\n } = this.props;\n onRunCode(command);\n this.setState({\n hasRunCode: true\n });\n }\n renderCodeBlock(props) {\n var {\n children,\n className,\n inline,\n node\n } = props;\n var {\n hasRunCode,\n nextStartLine\n } = this.state;\n var {\n children: nodeChildren,\n position\n } = node;\n assertNotNull(position);\n var {\n start\n } = position;\n var {\n line\n } = start;\n var command = nodeChildren[0].value;\n var ref = /*#__PURE__*/React.createRef();\n var isFirstBlock = this.commands.size === 0;\n var isSelected = nextStartLine === line || isFirstBlock && nextStartLine == null && !hasRunCode;\n var language = className !== undefined && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n if (inline != null && inline) {\n return /*#__PURE__*/_jsx(\"code\", {\n className: className,\n children: children\n });\n }\n this.commands.set(line, command);\n this.codeElements.set(line, ref);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames('markdown-notebook-code-block', {\n 'is-selected': isSelected\n }),\n ref: ref,\n onClick: () => {\n this.setState({\n nextStartLine: line\n });\n },\n role: \"presentation\",\n children: [/*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n icon: vsPlay,\n className: \"btn-play-block\",\n onClick: event => {\n event.stopPropagation();\n event.preventDefault();\n this.runCode(command);\n this.setState({\n nextStartLine: line\n });\n },\n tooltip: \"Run code\"\n }), /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })]\n });\n }\n renderLink(props) {\n var {\n onLinkClick\n } = this.props;\n var {\n href,\n children,\n target\n } = props;\n return /*#__PURE__*/_jsx(\"a\", {\n href: href,\n onClick: onLinkClick,\n target: target,\n children: children\n });\n }\n render() {\n var {\n content,\n transformImageUri,\n transformLinkUri\n } = this.props;\n var {\n hasCode,\n hasRunCode,\n nextStartLine\n } = this.state;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"markdown-notebook\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-toolbar\",\n children: /*#__PURE__*/_jsx(Button, {\n className: classNames('btn-play-selected-cell', {\n flashing: hasCode && !hasRunCode\n }),\n kind: \"ghost\",\n icon: vsPlay,\n onClick: this.handleRunSelected,\n tooltip: \"Run code and select next\",\n disabled: hasRunCode && nextStartLine == null || !hasCode,\n children: \"Run Selected Code\"\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-content\",\n ref: this.editorScrollView,\n children: /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: this.renderCodeBlock,\n a: this.renderLink\n },\n linkTarget: \"_blank\",\n remarkPlugins: [remarkGfm, remarkMath],\n rehypePlugins: [rehypeMathjax],\n transformLinkUri: transformLinkUri,\n transformImageUri: transformImageUri,\n includeElementIndex: true,\n children: content\n })\n })]\n });\n }\n}\n_defineProperty(MarkdownNotebook, \"defaultProps\", {\n onRunCode: () => undefined\n});\nexport default MarkdownNotebook;\n//# sourceMappingURL=MarkdownNotebook.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","MarkdownNotebook","PureComponent","props","React","hasCode","line","keys","nextIndex","event","_this$codeElements$ge","_element$parentElemen","nextStartLine","keyIndex","startLine","command","newNextStartLine","element","nextElement","_this$editorScrollVie","offsetTop","top","onRunCode","children","className","inline","node","hasRunCode","nodeChildren","position","assertNotNull","start","ref","isFirstBlock","isSelected","language","_jsx","_jsxs","classNames","Button","vsPlay","Code","child","onLinkClick","href","target","content","transformImageUri","transformLinkUri","Markdown","remarkGfm","remarkMath","rehypeMathjax"],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownNotebook-ea84ecb0.js","sources":["../../../dashboard-core-plugins/dist/panels/MarkdownNotebook.js"],"sourcesContent":["function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport Markdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport rehypeMathjax from 'rehype-mathjax';\nimport { Button } from '@deephaven/components';\nimport { Code } from '@deephaven/console';\nimport { vsPlay } from '@deephaven/icons';\nimport \"./MarkdownNotebook.css\";\nimport { assertNotNull } from '@deephaven/utils';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport class MarkdownNotebook extends PureComponent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"commands\", void 0);\n _defineProperty(this, \"codeElements\", void 0);\n _defineProperty(this, \"editorScrollView\", void 0);\n this.handleRunSelected = this.handleRunSelected.bind(this);\n this.renderCodeBlock = this.renderCodeBlock.bind(this);\n this.renderLink = this.renderLink.bind(this);\n\n // Map of each code block from it's starting line number to the code within that block\n this.commands = new Map();\n this.codeElements = new Map();\n this.editorScrollView = /*#__PURE__*/React.createRef();\n this.state = {\n hasCode: false,\n // Keep track if any code has been executed yet. If not, make the run button flash\n hasRunCode: false,\n // Line of the next block to execute. Null to start at the first block\n nextStartLine: null\n };\n }\n componentDidMount() {\n this.updateHasCode();\n }\n componentDidUpdate() {\n this.updateHasCode();\n }\n updateHasCode() {\n var {\n hasCode\n } = this.state;\n if (this.commands.size === 0 && hasCode) {\n this.setState({\n hasCode: false\n });\n } else if (this.commands.size > 0 && !hasCode) {\n this.setState({\n hasCode: true\n });\n }\n }\n\n /**\n * @param line The line of the code block to start from\n * @returns The next line of the code block to start from\n */\n getNextStartLine(line) {\n var keys = [...this.commands.keys()];\n var nextIndex = keys.findIndex(key => key === line) + 1;\n if (nextIndex >= keys.length) {\n // We got to the last block, disable\n return null;\n }\n return keys[nextIndex];\n }\n handleRunSelected(event) {\n var _this$codeElements$ge, _element$parentElemen;\n event.preventDefault();\n event.stopPropagation();\n var {\n nextStartLine\n } = this.state;\n var keys = [...this.commands.keys()];\n var keyIndex = keys.findIndex(key => key === nextStartLine || nextStartLine == null);\n if (keyIndex < 0) {\n return;\n }\n var startLine = keys[keyIndex];\n var command = this.commands.get(startLine);\n var newNextStartLine = this.getNextStartLine(startLine);\n var element = (_this$codeElements$ge = this.codeElements.get(startLine)) === null || _this$codeElements$ge === void 0 ? void 0 : _this$codeElements$ge.current;\n var nextElement = element === null || element === void 0 ? void 0 : (_element$parentElemen = element.parentElement) === null || _element$parentElemen === void 0 ? void 0 : _element$parentElemen.nextElementSibling;\n if (nextElement != null) {\n var _this$editorScrollVie;\n var {\n offsetTop\n } = nextElement;\n var top = offsetTop;\n (_this$editorScrollVie = this.editorScrollView.current) === null || _this$editorScrollVie === void 0 ? void 0 : _this$editorScrollVie.scroll({\n top,\n left: 0\n });\n }\n this.runCode(command);\n this.setState({\n nextStartLine: newNextStartLine\n });\n }\n runCode(command) {\n var {\n onRunCode\n } = this.props;\n onRunCode(command);\n this.setState({\n hasRunCode: true\n });\n }\n renderCodeBlock(props) {\n var {\n children,\n className,\n inline,\n node\n } = props;\n var {\n hasRunCode,\n nextStartLine\n } = this.state;\n var {\n children: nodeChildren,\n position\n } = node;\n assertNotNull(position);\n var {\n start\n } = position;\n var {\n line\n } = start;\n var command = nodeChildren[0].value;\n var ref = /*#__PURE__*/React.createRef();\n var isFirstBlock = this.commands.size === 0;\n var isSelected = nextStartLine === line || isFirstBlock && nextStartLine == null && !hasRunCode;\n var language = className !== undefined && className.startsWith('language-') ? className.substring(9) : 'plaintext';\n if (inline != null && inline) {\n return /*#__PURE__*/_jsx(\"code\", {\n className: className,\n children: children\n });\n }\n this.commands.set(line, command);\n this.codeElements.set(line, ref);\n return /*#__PURE__*/_jsxs(\"div\", {\n className: classNames('markdown-notebook-code-block', {\n 'is-selected': isSelected\n }),\n ref: ref,\n onClick: () => {\n this.setState({\n nextStartLine: line\n });\n },\n role: \"presentation\",\n children: [/*#__PURE__*/_jsx(Button, {\n kind: \"ghost\",\n icon: vsPlay,\n className: \"btn-play-block\",\n onClick: event => {\n event.stopPropagation();\n event.preventDefault();\n this.runCode(command);\n this.setState({\n nextStartLine: line\n });\n },\n tooltip: \"Run code\"\n }), /*#__PURE__*/_jsx(\"code\", {\n children: /*#__PURE__*/_jsx(Code, {\n language: language,\n children: React.Children.map(children, child => typeof child === 'string' ? child.trim() : child)\n })\n })]\n });\n }\n renderLink(props) {\n var {\n onLinkClick\n } = this.props;\n var {\n href,\n children,\n target\n } = props;\n return /*#__PURE__*/_jsx(\"a\", {\n href: href,\n onClick: onLinkClick,\n target: target,\n children: children\n });\n }\n render() {\n var {\n content,\n transformImageUri,\n transformLinkUri\n } = this.props;\n var {\n hasCode,\n hasRunCode,\n nextStartLine\n } = this.state;\n return /*#__PURE__*/_jsxs(\"div\", {\n className: \"markdown-notebook\",\n children: [/*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-toolbar\",\n children: /*#__PURE__*/_jsx(Button, {\n className: classNames('btn-play-selected-cell', {\n flashing: hasCode && !hasRunCode\n }),\n kind: \"ghost\",\n icon: vsPlay,\n onClick: this.handleRunSelected,\n tooltip: \"Run code and select next\",\n disabled: hasRunCode && nextStartLine == null || !hasCode,\n children: \"Run Selected Code\"\n })\n }), /*#__PURE__*/_jsx(\"div\", {\n className: \"markdown-notebook-content\",\n ref: this.editorScrollView,\n children: /*#__PURE__*/_jsx(Markdown, {\n components: {\n code: this.renderCodeBlock,\n a: this.renderLink\n },\n linkTarget: \"_blank\",\n remarkPlugins: [remarkGfm, remarkMath],\n rehypePlugins: [rehypeMathjax],\n transformLinkUri: transformLinkUri,\n transformImageUri: transformImageUri,\n includeElementIndex: true,\n children: content\n })\n })]\n });\n }\n}\n_defineProperty(MarkdownNotebook, \"defaultProps\", {\n onRunCode: () => undefined\n});\nexport default MarkdownNotebook;\n//# sourceMappingURL=MarkdownNotebook.js.map"],"names":["_defineProperty","obj","key","value","_toPropertyKey","arg","_toPrimitive","input","hint","prim","res","MarkdownNotebook","PureComponent","props","React","hasCode","line","keys","nextIndex","event","_this$codeElements$ge","_element$parentElemen","nextStartLine","keyIndex","startLine","command","newNextStartLine","element","nextElement","_this$editorScrollVie","offsetTop","top","onRunCode","children","className","inline","node","hasRunCode","nodeChildren","position","assertNotNull","start","ref","isFirstBlock","isSelected","language","_jsx","_jsxs","classNames","Button","vsPlay","Code","child","onLinkClick","href","target","content","transformImageUri","transformLinkUri","Markdown","remarkGfm","remarkMath","rehypeMathjax"],"mappings":"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"}
@@ -12,5 +12,5 @@ import{r as f,R as G,C as v,D as A,E as L,F as W9,_ as C,G as I}from"./vendor-16
12
12
  `,ro=`:root{--dh-color-grid-bg: var(--dh-color-content-bg);--dh-color-grid-header-bg: var(--dh-color-gray-100);--dh-color-grid-header-text: var(--dh-color-heading-text);--dh-color-grid-header-separator: var(--dh-color-gray-300);--dh-color-grid-header-separator-hover: var(--dh-color-gray-600);--dh-color-grid-header-separator-hidden-hover: var(--dh-color-accent-700);--dh-color-grid-header-sort-bar: var(--dh-color-visual-purple);--dh-color-grid-header-reverse-bar: var(--dh-color-visual-green);--dh-color-grid-header-bar-casing: var(--dh-color-gray-50);--dh-color-grid-row-0-bg: var(--dh-color-gray-50);--dh-color-grid-row-1-bg: var(--dh-color-gray-100);--dh-color-grid-row-hover-bg: var(--dh-color-highlight-hover);--dh-color-grid-row-hover-bg-selected: var( --dh-color-highlight-selected-hover );--dh-color-grid-row-shadow-alpha: 0.07;--dh-color-grid-selection: var(--dh-color-highlight-selected);--dh-color-grid-selection-outline: var(--dh-color-accent-900);--dh-color-grid-selection-outline-casing: var(--dh-color-gray-50);--dh-color-grid-scroll-bar-active-selection-tick: var(--dh-color-accent-400);--dh-color-grid-scroll-bar-bg: var(--dh-color-gray-100);--dh-color-grid-scroll-bar-hover-bg: var(--dh-color-gray-200);--dh-color-grid-scroll-bar-casing: var(--dh-color-gray-400);--dh-color-grid-scroll-bar-corner: var(--dh-color-gray-100);--dh-color-grid-scroll-bar: var(--dh-color-gray-400);--dh-color-grid-scroll-bar-hover: var(--dh-color-gray-500);--dh-color-grid-scroll-bar-active: var(--dh-color-gray-600);--dh-color-grid-text: var(--dh-color-text);--dh-color-grid-text-hyperlink: var(--dh-color-accent-1000);--dh-color-grid-text-pending: var(--dh-color-modified);--dh-color-grid-text-error: var(--dh-color-visual-negative);--dh-color-grid-date: var(--dh-color-visual-purple);--dh-color-grid-number-positive: var(--dh-color-visual-positive);--dh-color-grid-number-negative: var(--dh-color-visual-negative);--dh-color-grid-number-zero: var(--dh-color-visual-purple);--dh-color-grid-string-null: var(--dh-color-gray-600);--dh-color-grid-filter-bar-active-bg: color-mix( in srgb, var(--dh-color-accent-700) 45%, transparent );--dh-color-grid-filter-bar-active: var(--dh-color-accent-700);--dh-color-grid-filter-bar-expanded-bg: var(--dh-color-gray-50);--dh-color-grid-filter-bar-expanded-active-bg: color-mix( in srgb, var(--dh-color-accent-1000) 19%, transparent );--dh-color-grid-filter-bar-expanded-active-cell-bg: color-mix( in srgb, var(--dh-color-accent-700) 32%, transparent );--dh-color-grid-filter-bar-separator: var(--dh-color-gray-600);--dh-color-grid-filter-bar-error: var(--dh-color-visual-negative);--dh-color-grid-filter-icon: var(--dh-color-accent-600);--dh-color-grid-context-menu-sort-icon: var(--dh-color-visual-purple);--dh-color-grid-context-menu-reverse-icon: var(--dh-color-visual-green);--dh-color-grid-column-linker-hover-bg: var( --dh-color-highlight-selected-hover );--dh-color-grid-column-grouped-divider: var(--dh-color-gray-50);--dh-color-grid-tree-line: var(--dh-color-gray-500);--dh-color-grid-tree-marker: var(--dh-color-gray-700);--dh-color-grid-tree-marker-hover: var(--dh-color-gray-900);--dh-color-grid-floating-row: var(--dh-color-gray-300);--dh-color-grid-floating-row-bg: var(--dh-color-gray-200);--dh-color-grid-floating-divider-inner: var(--dh-color-gray-200);--dh-color-grid-floating-divider-outer: var(--dh-color-gray-50);--dh-color-grid-overflow-button: var(--dh-color-gray-700);--dh-color-grid-overflow-button-hover: var(--dh-color-gray-900);--dh-color-grid-data-bar-positive: var(--dh-color-visual-positive);--dh-color-grid-data-bar-negative: var(--dh-color-visual-negative);--dh-color-grid-data-bar-marker: var(--dh-color-white);--dh-color-grid-data-bar-zero-line: var(--dh-color-gray-300);--dh-color-grid-scrim: var(--dh-color-gray-200)}/*# sourceMappingURL=theme-light-semantic-grid.css.map */
13
13
  `,lo=`:root{--dh-color-loading-spinner-primary: var(--dh-color-accent-bg);--dh-color-loading-spinner-secondary: color-mix( in srgb, var(--dh-color-gray-800) 50%, transparent );--dh-color-quickactions-bg: color-mix( in srgb, var(--dh-color-visual-gray) 90%, transparent );--dh-color-radial-reaction: color-mix( in srgb, var(--dh-color-visual-gray) 60%, transparent );--dh-color-colorpicker-border: color-mix( in srgb, var(--dh-color-visual-gray) 10%, transparent );--dh-logo-img: var(--dh-logo-light-img);--dh-color-login-form-bg: var(--dh-color-gray-200);--dh-color-login-status-message: var(--dh-color-gray-600);--dh-color-login-logo-bg: var(--dh-color-gray-50);--dh-color-login-footer-fg: var(--dh-color-gray-700);--dh-color-random-area-plot-animation-fg-fill: color-mix( in srgb, var(--dh-color-accent) 8%, transparent );--dh-color-random-area-plot-animation-fg-stroke: color-mix( in srgb, var(--dh-color-accent) 20%, transparent );--dh-color-random-area-plot-animation-bg: var(--dh-color-gray-75);--dh-color-random-area-plot-animation-grid: var(--dh-color-gray-300);--dh-color-action-bg: var(--dh-color-gray-75);--dh-color-action-fg: var(--dh-color-text);--dh-color-action-border: var(--dh-color-border);--dh-color-action-down-bg: var(--dh-color-gray-300);--dh-color-action-hover-bg: var(--dh-color-gray-50);--dh-color-action-hover-fg: var(--dh-color-text-hover);--dh-color-action-hover-border: var(--dh-color-hover-border);--dh-color-action-active-bg: var(--dh-color-accent-bg);--dh-color-action-active-fg: var(--dh-color-accent-contrast);--dh-color-action-active-border: var(--dh-color-accent-bg);--dh-color-action-active-hover-bg: var(--dh-color-accent-hover-bg);--dh-color-action-active-hover-fg: var(--dh-color-accent-contrast);--dh-color-action-active-hover-border: var(--dh-color-accent-hover-bg);--dh-color-action-disabled-bg: transparent;--dh-color-action-disabled-fg: var(--dh-color-text-disabled);--dh-color-action-disabled-border: var(--dh-color-gray-300);--dh-color-icon-fg: var(--dh-color-gray-700);--dh-color-icon-disabled-fg: var(--dh-color-gray-400);--dh-color-input-bg: var(--dh-color-gray-50);--dh-color-input-fg: var(--dh-color-text);--dh-color-input-border: var(--dh-color-border);--dh-color-input-placeholder: var(--dh-color-gray-600);--dh-color-input-active-bg: var(--dh-color-input-bg);--dh-color-input-disabled-bg: var(--dh-color-disabled-bg);--dh-color-input-disabled-border: transparent;--dh-color-input-disabled-fg: var(--dh-color-text-disabled);--dh-color-input-hover-border: var(--dh-color-hover-border);--dh-color-input-focus-border: var(--dh-color-border-focus);--dh-color-search-icon: var(--dh-color-fg);--dh-color-form-control-error: var(--dh-color-visual-negative);--dh-color-form-control-error-shadow: color-mix( in srgb, var(--dh-color-visual-negative) 25%, transparent );--dh-color-label-text: var(--dh-color-gray-700);--dh-color-selector-fg: var(--dh-color-icon-fg);--dh-color-selector-bg: var(--dh-color-gray-75);--dh-color-selector-hover-bg: var(--dh-color-gray-50);--dh-color-selector-hover-fg: var(--dh-color-gray-900);--dh-color-selector-disabled-fg: var(--dh-color-icon-disabled-fg);--dh-color-item-list-bg: transparent;--dh-color-item-list-active-bg: var(--dh-color-highlight-active);--dh-color-item-list-hover-bg: var(--dh-color-highlight-hover);--dh-color-item-list-selected-fg: var(--dh-color-text);--dh-color-item-list-selected-bg: var(--dh-color-highlight-selected);--dh-color-item-list-selected-hover-bg: var( --dh-color-highlight-selected-hover );--dh-color-item-list-selected-inactive-bg: var(--dh-color-gray-300);--dh-color-item-list-selected-border: var(--dh-color-accent-900);--dh-color-item-list-drop-target-fg: var(--dh-color-white);--dh-color-item-list-keyboard-selected-bg: color-mix( in srgb, var(--dh-color-accent) 50%, transparent );--dh-color-golden-layout-tab-header-bg: var(--dh-color-gray-200);--dh-color-golden-layout-tab-bg: var(--dh-color-gray-100);--dh-color-golden-layout-tab-selected-bg: var(--dh-color-content-bg);--dh-color-menu-item-fg: var(--dh-color-gray-700);--dh-color-hr: var(--dh-color-gray-300);--dh-color-dialog-title-fg: var(--dh-color-heading-text);--dh-color-dialog-fg: var(--dh-color-text);--dh-color-popover-bg: var(--dh-color-gray-50);--dh-color-tooltip-bg: var(--dh-color-gray-50);--dh-color-tooltip-fg: var(--dh-color-fg);--dh-color-tooltip-box-shadow: var(--dh-color-dropshadow);--dh-color-well-bg: color-mix(var(--dh-color-visual-gray) 2%, transparent);--dh-color-well-border: color-mix( in srgb, var(--dh-color-visual-gray) 5%, transparent )}/*# sourceMappingURL=theme-light-components.css.map */
14
14
  `;var eo=[X7,Q7,Y7,oo,ro,lo].join(`
15
- `),S="default-dark",co="default-light",n={blue:{500:"#2f5bc0",400:"#254ba4",600:"#3b6bda",700:"#4c7dee"},red:{600:"#c73f61"},gray:{50:"#1a171a",75:"#211f22",300:"#373438",400:"#403e41",500:"#5b5a5c",600:"#929192",700:"#c0bfbf",800:"#f0f0ee",900:"#fcfcfa"}},ao={"--dh-color-accent-contrast":n.gray[900],"--dh-color-accent-bg":n.blue[600],"--dh-color-accent-hover-bg":n.blue[500],"--dh-color-accent-down-bg":n.blue[400],"--dh-color-accent-key-focus-bg":n.blue[500],"--dh-color-negative-bg":n.red[600],"--dh-color-loading-spinner-primary":n.blue[600],"--dh-color-loading-spinner-secondary":"".concat(n.gray[800],"80"),"--dh-color-bg":n.gray[50],"--dh-color-fg":n.gray[800],"--dh-color-input-bg":n.gray[500],"--dh-color-input-fg":n.gray[800],"--dh-color-input-disabled-bg":n.gray[300],"--dh-color-input-border":n.gray[600],"--dh-color-input-placeholder":n.gray[600],"--dh-color-input-focus-border":"".concat(n.blue[600],"d9"),"--dh-color-text-highlight":"".concat(n.blue[700],"4d"),"--dh-color-login-form-bg":n.gray[400],"--dh-color-login-status-message":n.gray[600],"--dh-color-login-logo-bg":n.gray[900],"--dh-color-login-footer-fg":n.gray[700],"--dh-color-random-area-plot-animation-fg-fill":"".concat(n.blue[600],"14"),"--dh-color-random-area-plot-animation-fg-stroke":"".concat(n.blue[600],"33"),"--dh-color-random-area-plot-animation-bg":n.gray[75],"--dh-color-random-area-plot-animation-grid":n.gray[300]},ho={"--dh-svg-icon-select-indicator":"--dh-color-selector-fg","--dh-svg-icon-select-indicator-hover":"--dh-color-selector-hover-fg","--dh-svg-icon-select-indicator-disabled":"--dh-color-selector-disabled-fg","--dh-svg-icon-error":"--dh-color-form-control-error"},_9="deephaven.themeCache",V=G9.module("ThemeUtils"),Z="var(--",F="dh-tmp",vo=/\S/,T=/\s/;function io(r){var o=j9(document.body,r),l=Object.keys(r).map(e=>"".concat(e,":").concat(o(e)));return":root{".concat(l.join(";"),"}")}function j9(r,o){var l=getComputedStyle(r);return function(c){var a,h=l.getPropertyValue(c);return h!==""?h:(a=o[c])!==null&&a!==void 0?a:""}}function O(r,o){var l=document.createElement("style");l.id=r,l.innerHTML=o,document.head.appendChild(l)}function xo(r){var o=new Set;return Object.values(r).forEach(l=>{q9(l).forEach(e=>{var[c,a]=e,h=l.substring(c,a+1);h.includes(Z)&&o.add(h)})}),o}function No(r,o){var l,e=o.custom.find(h=>h.themeKey===r),c=(l=e==null?void 0:e.baseThemeKey)!==null&&l!==void 0?l:r,a=o.base.find(h=>h.themeKey===c);return a==null&&(V.error("No registered base theme found for theme key: '".concat(c,"'"),"Registered:",o.base.map(h=>h.themeKey),o.custom.map(h=>h.themeKey)),a=o.base.find(h=>h.themeKey===S),r7(a,"Default base theme '".concat(S,"' is not registered"))),V.debug("Applied themes:",a.themeKey,e==null?void 0:e.themeKey),e==null?[a]:[a,e]}function Ao(){return[{name:"Default Dark",themeKey:S,styleContent:J7},{name:"Default Light",themeKey:co,styleContent:eo}]}function no(){var r=localStorage.getItem(_9);try{return r==null?null:JSON.parse(r)}catch{}return null}function q9(r){for(var o,l,e=[],c=(o=(l=vo.exec(r))===null||l===void 0?void 0:l.index)!==null&&o!==void 0?o:0,a=0,h=0;h<r.length;h+=1)if(r[h]==="("?a+=1:r[h]===")"&&(a-=1),h===r.length-1||T.test(r[h+1])&&a===0){for(e.push([c,h]);h<r.length-1&&T.test(r[h+1]);)h+=1;c=h+1}return a!==0?(V.error("Unbalanced parentheses in css var expression",r),[]):e}function so(r,o){return r.replace(/fill='.*?'/,"fill='".concat(encodeURIComponent(o),"'"))}function wo(r){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document.body,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,e=performance.now(),c=document.createElement("div");c.style.display="none";var a=Object.entries(r);a.forEach((s,m)=>{var[,t]=s;c.style.setProperty("--".concat(F,"-").concat(m),t);var z=document.createElement("div");z.style.backgroundColor=t,c.appendChild(z)}),o.appendChild(c);var h=window.getComputedStyle(c),i={};return a.forEach((s,m)=>{var[t,z]=s;if(!z.includes(Z)){i[t]=z;return}var d=h.getPropertyValue("--".concat(F,"-").concat(m));if(!/^#[0-9A-F]{6}[0-9a-f]{0,2}$/i.test(d)&&CSS.supports("color",d)){var H=c.children[m],M=window.getComputedStyle(H),y=M.getPropertyValue("background-color");d=J9.normalizeCssColor(y,l)}i[t]=d}),c.remove(),V.debug("Resolved css variables",performance.now()-e,"ms"),i}function So(r,o){var l=[],e=0;return q9(o).forEach(c=>{var[a,h]=c;e<a&&(l.push(o.substring(e,a)),e+=a-e);var i=o.substring(a,h+1);l.push(i.includes(Z)?r(i):i),e+=h-a+1}),l.length===0?o:l.join("")}function Co(r){localStorage.setItem(_9,JSON.stringify(r))}function ko(r,o){return"".concat(r,"_").concat(o)}function to(){var r,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ao,l=(r=no())===null||r===void 0?void 0:r.preloadStyleContent,e=io(o);V.debug("Preloading theme content:",{defaultPreloadStyleContent:e,previousPreloadStyleContent:l}),O("theme-preload-defaults",e),l!=null&&O("theme-preload-previous",l)}function Zo(r){var o=j9(document.body,r);Object.entries(ho).forEach(l=>{var[e,c]=l;document.body.style.removeProperty(e);var a=o(e),h=o(c),i=so(a,h);document.body.style.setProperty(e,i)})}function B(r,o,l,e,c,a,h){try{var i=r[a](h),s=i.value}catch(m){l(m);return}i.done?o(s):Promise.resolve(s).then(e,c)}function mo(r){return function(){var o=this,l=arguments;return new Promise(function(e,c){var a=r.apply(o,l);function h(s){B(a,e,c,h,i,"next",s)}function i(s){B(a,e,c,h,i,"throw",s)}h(void 0)})}}var N=G9.module("@deephaven/jsapi-bootstrap.ApiBootstrap"),fo=f.createContext(null);function go(r){var{apiUrl:o,children:l,failureElement:e,setGlobally:c=!1}=r,[a,h]=f.useState(!0),[i,s]=f.useState();return f.useEffect(()=>{function m(){return t.apply(this,arguments)}function t(){return t=mo(function*(){try{var z=(yield C(()=>import(o),[],import.meta.url)).default;N.info("API bootstrapped from",o),s(z),c&&(N.debug("API set globally"),globalThis.dh=z)}catch(d){N.error("Unable to bootstrap API",d)}h(!1)}),t.apply(this,arguments)}m()},[o,c]),a?v.jsx(I9,{}):i==null?e??v.jsxs(B7,{isOpen:!0,className:"modal-dialog-centered",children:[v.jsx(G7,{closeButton:!1,children:"Error: Unable to load API"}),v.jsx(U7,{children:v.jsxs("p",{className:"text-break",children:["Ensure the server is running and you are able to reach ",o,", then refresh the page."]})})]}):v.jsx(fo.Provider,{value:i,children:l})}to();const zo=I.lazy(()=>C(()=>import("./App-dc06392b.js"),["./App-dc06392b.js","./vendor-16bda9b1.js","./helpers-de833af9.js","./vendor-44a37a07.css","./useConnection-32180017.js","./plotly-e9150c9a.js","./useConnection-d95d352e.css","./App-bad0fe82.css"],import.meta.url)),uo=I.lazy(async()=>({default:(await C(()=>import("./index-66d26e31.js").then(o=>o.i),["./index-66d26e31.js","./vendor-16bda9b1.js","./helpers-de833af9.js","./vendor-44a37a07.css","./useConnection-32180017.js","./plotly-e9150c9a.js","./useConnection-d95d352e.css","./index-1884c2f5.css"],import.meta.url)).AppBootstrap})),U=new URL("../../jsapi/dh-core.js",document.baseURI),po=new URL("/js-plugins",document.baseURI);G.render(v.jsx(go,{apiUrl:U.href,setGlobally:!0,children:v.jsx(f.Suspense,{fallback:v.jsx(I9,{}),children:v.jsx(uo,{serverUrl:U.origin,pluginsUrl:po.href,children:v.jsx(zo,{})})})}),document.getElementById("root"));export{J9 as $,j9 as A,O as B,Z as C,S as D,xo as E,No as F,Ao as G,q9 as H,ko as I,no as J,Zo as K,G9 as L,B7 as M,vo as N,to as O,so as P,So as Q,Co as R,ho as S,w as T,J7 as U,eo as V,T as W,fo as X,go as Y,o8 as Z,Mo as _,I9 as a,a3 as a$,k as a0,I4 as a1,Y5 as a2,k6 as a3,o7 as a4,u8 as a5,Lo as a6,yo as a7,x9 as a8,L9 as a9,T5 as aA,O9 as aB,l9 as aC,B5 as aD,g9 as aE,C0 as aF,y4 as aG,t9 as aH,n0 as aI,J2 as aJ,K5 as aK,A6 as aL,Q5 as aM,$5 as aN,S0 as aO,S6 as aP,X3 as aQ,X4 as aR,V6 as aS,S4 as aT,Z9 as aU,B6 as aV,c4 as aW,w0 as aX,v2 as aY,Y as aZ,a9 as a_,c5 as aa,h5 as ab,o4 as ac,M9 as ad,r9 as ae,d4 as af,f9 as ag,i9 as ah,y9 as ai,B9 as aj,v6 as ak,H9 as al,V9 as am,k9 as an,G2 as ao,E9 as ap,F2 as aq,w9 as ar,U4 as as,q5 as at,j5 as au,m8 as av,P3 as aw,E2 as ax,D2 as ay,O5 as az,U7 as b,D9 as b0,S3 as b1,D8 as b2,Y2 as b3,l5 as b4,H8 as b5,V4 as b6,T6 as b7,O6 as b8,l1 as b9,m9 as ba,g0 as bb,C4 as bc,B8 as bd,_2 as be,Q1 as bf,a2 as bg,z9 as bh,X5 as bi,m1 as bj,h9 as bk,Vo as bl,G4 as bm,n4 as bn,c9 as bo,G7 as c,o2 as d,r2 as e,j8 as f,k2 as g,s0 as h,Q9 as i,q as j,P2 as k,Q2 as l,R2 as m,r7 as n,r4 as o,_5 as p,s6 as q,wo as r,n as s,co as t,ao as u,e5 as v,I7 as w,_9 as x,F as y,io as z};
16
- //# sourceMappingURL=index-cf9361eb.js.map
15
+ `),S="default-dark",co="default-light",n={blue:{500:"#2f5bc0",400:"#254ba4",600:"#3b6bda",700:"#4c7dee"},red:{600:"#c73f61"},gray:{50:"#1a171a",75:"#211f22",300:"#373438",400:"#403e41",500:"#5b5a5c",600:"#929192",700:"#c0bfbf",800:"#f0f0ee",900:"#fcfcfa"}},ao={"--dh-color-accent-contrast":n.gray[900],"--dh-color-accent-bg":n.blue[600],"--dh-color-accent-hover-bg":n.blue[500],"--dh-color-accent-down-bg":n.blue[400],"--dh-color-accent-key-focus-bg":n.blue[500],"--dh-color-negative-bg":n.red[600],"--dh-color-loading-spinner-primary":n.blue[600],"--dh-color-loading-spinner-secondary":"".concat(n.gray[800],"80"),"--dh-color-bg":n.gray[50],"--dh-color-fg":n.gray[800],"--dh-color-input-bg":n.gray[500],"--dh-color-input-fg":n.gray[800],"--dh-color-input-disabled-bg":n.gray[300],"--dh-color-input-border":n.gray[600],"--dh-color-input-placeholder":n.gray[600],"--dh-color-input-focus-border":"".concat(n.blue[600],"d9"),"--dh-color-text-highlight":"".concat(n.blue[700],"4d"),"--dh-color-login-form-bg":n.gray[400],"--dh-color-login-status-message":n.gray[600],"--dh-color-login-logo-bg":n.gray[900],"--dh-color-login-footer-fg":n.gray[700],"--dh-color-random-area-plot-animation-fg-fill":"".concat(n.blue[600],"14"),"--dh-color-random-area-plot-animation-fg-stroke":"".concat(n.blue[600],"33"),"--dh-color-random-area-plot-animation-bg":n.gray[75],"--dh-color-random-area-plot-animation-grid":n.gray[300]},ho={"--dh-svg-icon-select-indicator":"--dh-color-selector-fg","--dh-svg-icon-select-indicator-hover":"--dh-color-selector-hover-fg","--dh-svg-icon-select-indicator-disabled":"--dh-color-selector-disabled-fg","--dh-svg-icon-error":"--dh-color-form-control-error"},_9="deephaven.themeCache",V=G9.module("ThemeUtils"),Z="var(--",F="dh-tmp",vo=/\S/,T=/\s/;function io(r){var o=j9(document.body,r),l=Object.keys(r).map(e=>"".concat(e,":").concat(o(e)));return":root{".concat(l.join(";"),"}")}function j9(r,o){var l=getComputedStyle(r);return function(c){var a,h=l.getPropertyValue(c);return h!==""?h:(a=o[c])!==null&&a!==void 0?a:""}}function O(r,o){var l=document.createElement("style");l.id=r,l.innerHTML=o,document.head.appendChild(l)}function xo(r){var o=new Set;return Object.values(r).forEach(l=>{q9(l).forEach(e=>{var[c,a]=e,h=l.substring(c,a+1);h.includes(Z)&&o.add(h)})}),o}function No(r,o){var l,e=o.custom.find(h=>h.themeKey===r),c=(l=e==null?void 0:e.baseThemeKey)!==null&&l!==void 0?l:r,a=o.base.find(h=>h.themeKey===c);return a==null&&(V.error("No registered base theme found for theme key: '".concat(c,"'"),"Registered:",o.base.map(h=>h.themeKey),o.custom.map(h=>h.themeKey)),a=o.base.find(h=>h.themeKey===S),r7(a,"Default base theme '".concat(S,"' is not registered"))),V.debug("Applied themes:",a.themeKey,e==null?void 0:e.themeKey),e==null?[a]:[a,e]}function Ao(){return[{name:"Default Dark",themeKey:S,styleContent:J7},{name:"Default Light",themeKey:co,styleContent:eo}]}function no(){var r=localStorage.getItem(_9);try{return r==null?null:JSON.parse(r)}catch{}return null}function q9(r){for(var o,l,e=[],c=(o=(l=vo.exec(r))===null||l===void 0?void 0:l.index)!==null&&o!==void 0?o:0,a=0,h=0;h<r.length;h+=1)if(r[h]==="("?a+=1:r[h]===")"&&(a-=1),h===r.length-1||T.test(r[h+1])&&a===0){for(e.push([c,h]);h<r.length-1&&T.test(r[h+1]);)h+=1;c=h+1}return a!==0?(V.error("Unbalanced parentheses in css var expression",r),[]):e}function so(r,o){return r.replace(/fill='.*?'/,"fill='".concat(encodeURIComponent(o),"'"))}function wo(r){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document.body,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,e=performance.now(),c=document.createElement("div");c.style.display="none";var a=Object.entries(r);a.forEach((s,m)=>{var[,t]=s;c.style.setProperty("--".concat(F,"-").concat(m),t);var z=document.createElement("div");z.style.backgroundColor=t,c.appendChild(z)}),o.appendChild(c);var h=window.getComputedStyle(c),i={};return a.forEach((s,m)=>{var[t,z]=s;if(!z.includes(Z)){i[t]=z;return}var d=h.getPropertyValue("--".concat(F,"-").concat(m));if(!/^#[0-9A-F]{6}[0-9a-f]{0,2}$/i.test(d)&&CSS.supports("color",d)){var H=c.children[m],M=window.getComputedStyle(H),y=M.getPropertyValue("background-color");d=J9.normalizeCssColor(y,l)}i[t]=d}),c.remove(),V.debug("Resolved css variables",performance.now()-e,"ms"),i}function So(r,o){var l=[],e=0;return q9(o).forEach(c=>{var[a,h]=c;e<a&&(l.push(o.substring(e,a)),e+=a-e);var i=o.substring(a,h+1);l.push(i.includes(Z)?r(i):i),e+=h-a+1}),l.length===0?o:l.join("")}function Co(r){localStorage.setItem(_9,JSON.stringify(r))}function ko(r,o){return"".concat(r,"_").concat(o)}function to(){var r,o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ao,l=(r=no())===null||r===void 0?void 0:r.preloadStyleContent,e=io(o);V.debug("Preloading theme content:",{defaultPreloadStyleContent:e,previousPreloadStyleContent:l}),O("theme-preload-defaults",e),l!=null&&O("theme-preload-previous",l)}function Zo(r){var o=j9(document.body,r);Object.entries(ho).forEach(l=>{var[e,c]=l;document.body.style.removeProperty(e);var a=o(e),h=o(c),i=so(a,h);document.body.style.setProperty(e,i)})}function B(r,o,l,e,c,a,h){try{var i=r[a](h),s=i.value}catch(m){l(m);return}i.done?o(s):Promise.resolve(s).then(e,c)}function mo(r){return function(){var o=this,l=arguments;return new Promise(function(e,c){var a=r.apply(o,l);function h(s){B(a,e,c,h,i,"next",s)}function i(s){B(a,e,c,h,i,"throw",s)}h(void 0)})}}var N=G9.module("@deephaven/jsapi-bootstrap.ApiBootstrap"),fo=f.createContext(null);function go(r){var{apiUrl:o,children:l,failureElement:e,setGlobally:c=!1}=r,[a,h]=f.useState(!0),[i,s]=f.useState();return f.useEffect(()=>{function m(){return t.apply(this,arguments)}function t(){return t=mo(function*(){try{var z=(yield C(()=>import(o),[],import.meta.url)).default;N.info("API bootstrapped from",o),s(z),c&&(N.debug("API set globally"),globalThis.dh=z)}catch(d){N.error("Unable to bootstrap API",d)}h(!1)}),t.apply(this,arguments)}m()},[o,c]),a?v.jsx(I9,{}):i==null?e??v.jsxs(B7,{isOpen:!0,className:"modal-dialog-centered",children:[v.jsx(G7,{closeButton:!1,children:"Error: Unable to load API"}),v.jsx(U7,{children:v.jsxs("p",{className:"text-break",children:["Ensure the server is running and you are able to reach ",o,", then refresh the page."]})})]}):v.jsx(fo.Provider,{value:i,children:l})}to();const zo=I.lazy(()=>C(()=>import("./App-97f1a86a.js"),["./App-97f1a86a.js","./vendor-16bda9b1.js","./helpers-de833af9.js","./vendor-44a37a07.css","./useConnection-9a2eabe6.js","./plotly-e9150c9a.js","./useConnection-d95d352e.css","./App-bad0fe82.css"],import.meta.url)),uo=I.lazy(async()=>({default:(await C(()=>import("./index-e435f5c9.js").then(o=>o.i),["./index-e435f5c9.js","./vendor-16bda9b1.js","./helpers-de833af9.js","./vendor-44a37a07.css","./useConnection-9a2eabe6.js","./plotly-e9150c9a.js","./useConnection-d95d352e.css","./index-1884c2f5.css"],import.meta.url)).AppBootstrap})),U=new URL("../../jsapi/dh-core.js",document.baseURI),po=new URL("/js-plugins",document.baseURI);G.render(v.jsx(go,{apiUrl:U.href,setGlobally:!0,children:v.jsx(f.Suspense,{fallback:v.jsx(I9,{}),children:v.jsx(uo,{serverUrl:U.origin,pluginsUrl:po.href,children:v.jsx(zo,{})})})}),document.getElementById("root"));export{J9 as $,j9 as A,O as B,Z as C,S as D,xo as E,No as F,Ao as G,q9 as H,ko as I,no as J,Zo as K,G9 as L,B7 as M,vo as N,to as O,so as P,So as Q,Co as R,ho as S,w as T,J7 as U,eo as V,T as W,fo as X,go as Y,o8 as Z,Mo as _,I9 as a,a3 as a$,k as a0,I4 as a1,Y5 as a2,k6 as a3,o7 as a4,u8 as a5,Lo as a6,yo as a7,x9 as a8,L9 as a9,T5 as aA,O9 as aB,l9 as aC,B5 as aD,g9 as aE,C0 as aF,y4 as aG,t9 as aH,n0 as aI,J2 as aJ,K5 as aK,A6 as aL,Q5 as aM,$5 as aN,S0 as aO,S6 as aP,X3 as aQ,X4 as aR,V6 as aS,S4 as aT,Z9 as aU,B6 as aV,c4 as aW,w0 as aX,v2 as aY,Y as aZ,a9 as a_,c5 as aa,h5 as ab,o4 as ac,M9 as ad,r9 as ae,d4 as af,f9 as ag,i9 as ah,y9 as ai,B9 as aj,v6 as ak,H9 as al,V9 as am,k9 as an,G2 as ao,E9 as ap,F2 as aq,w9 as ar,U4 as as,q5 as at,j5 as au,m8 as av,P3 as aw,E2 as ax,D2 as ay,O5 as az,U7 as b,D9 as b0,S3 as b1,D8 as b2,Y2 as b3,l5 as b4,H8 as b5,V4 as b6,T6 as b7,O6 as b8,l1 as b9,m9 as ba,g0 as bb,C4 as bc,B8 as bd,_2 as be,Q1 as bf,a2 as bg,z9 as bh,X5 as bi,m1 as bj,h9 as bk,Vo as bl,G4 as bm,n4 as bn,c9 as bo,G7 as c,o2 as d,r2 as e,j8 as f,k2 as g,s0 as h,Q9 as i,q as j,P2 as k,Q2 as l,R2 as m,r7 as n,r4 as o,_5 as p,s6 as q,wo as r,n as s,co as t,ao as u,e5 as v,I7 as w,_9 as x,F as y,io as z};
16
+ //# sourceMappingURL=index-9f7f2001.js.map