@deephaven/embed-grid 0.63.1-beta.5 → 0.63.1-beta.8

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 s,C as d}from"./vendor-c87e2acb.js";import{u as P,a as $,I as D,C as F,b as U,f as B}from"./useUser-c6d09143.js";import{L,a as N}from"./index-36afd023.js";import"./helpers-de833af9.js";import"./monaco-0b69f16f.js";var{dh:O}=globalThis;const a=O;L.setLogLevel(parseInt("2",10));const c=L.module("EmbedGrid.App"),k=[a.VariableType.TABLE,a.VariableType.TREETABLE,a.VariableType.HIERARCHICALTABLE,a.VariableType.PANDAS,a.VariableType.PARTITIONEDTABLE];async function G(r,i){c.info(`Fetching table ${i}...`);const e=await B(r,i);if(!k.includes(e.type))throw new Error(`Unsupported type '${e.type}' for variable named '${i}'`);return await r.getObject(e)}function J(){const r=P(),i=$(),[e,E]=s.useState(),[y,C]=s.useState(),[T,h]=s.useState(),[A,v]=s.useState(),[S,I]=s.useState(!0),g=s.useMemo(()=>new URLSearchParams(window.location.search),[]),{permissions:V}=i,{canCopy:x,canDownloadCsv:j}=V;s.useEffect(function(){async function l(){try{const t=g.get("name");if(t==null)throw new Error("No name param provided");c.debug("Loading table",t,"...");const p=await G(r,t);c.debug("Creating model...");const u=await U.makeModel(a,p);E(u),c.debug("Table successfully loaded!")}catch(t){c.error("Unable to load table",t),C(`${t}`)}I(!1)}l()},[r,g]),s.useEffect(function(){function l(t){const{command:p,value:u}=t.data;switch(p){case"filter":{const f=u.map(({name:o,value:b})=>{const n=e==null?void 0:e.columns.find(w=>w.name===o);if(n==null)throw new Error(`Could not find column named ${o}`);return{name:o,value:b,type:n.type}});h(f);break}case"sort":{const f=u.map(({name:o,direction:b})=>{const n=e==null?void 0:e.columns.find(w=>w.name===o);if(n==null)throw new Error(`Could not find column named ${o}`);return b==="DESC"?n.sort().desc():n.sort().asc()});v(f);break}}}return window.addEventListener("message",l),()=>{window.removeEventListener("message",l)}},[e]);const m=e!=null;return d.jsxs("div",{className:"App",children:[m&&d.jsx(D,{canCopy:x,canDownloadCsv:j,model:e,inputFilters:T,sorts:A}),!m&&d.jsx(N,{isLoaded:m,isLoading:S,errorMessage:y??null}),d.jsx(F,{})]})}export{J as default};
2
- //# sourceMappingURL=App-8e2baa3d.js.map
1
+ import{r as s,C as d}from"./vendor-c87e2acb.js";import{u as P,a as $,I as D,C as F,b as U,f as B}from"./useUser-75ea4bfc.js";import{L,a as N}from"./index-885889f7.js";import"./helpers-de833af9.js";import"./monaco-0b69f16f.js";var{dh:O}=globalThis;const a=O;L.setLogLevel(parseInt("2",10));const c=L.module("EmbedGrid.App"),k=[a.VariableType.TABLE,a.VariableType.TREETABLE,a.VariableType.HIERARCHICALTABLE,a.VariableType.PANDAS,a.VariableType.PARTITIONEDTABLE];async function G(r,i){c.info(`Fetching table ${i}...`);const e=await B(r,i);if(!k.includes(e.type))throw new Error(`Unsupported type '${e.type}' for variable named '${i}'`);return await r.getObject(e)}function J(){const r=P(),i=$(),[e,E]=s.useState(),[y,C]=s.useState(),[T,h]=s.useState(),[A,v]=s.useState(),[S,I]=s.useState(!0),g=s.useMemo(()=>new URLSearchParams(window.location.search),[]),{permissions:V}=i,{canCopy:x,canDownloadCsv:j}=V;s.useEffect(function(){async function l(){try{const t=g.get("name");if(t==null)throw new Error("No name param provided");c.debug("Loading table",t,"...");const p=await G(r,t);c.debug("Creating model...");const u=await U.makeModel(a,p);E(u),c.debug("Table successfully loaded!")}catch(t){c.error("Unable to load table",t),C(`${t}`)}I(!1)}l()},[r,g]),s.useEffect(function(){function l(t){const{command:p,value:u}=t.data;switch(p){case"filter":{const f=u.map(({name:o,value:b})=>{const n=e==null?void 0:e.columns.find(w=>w.name===o);if(n==null)throw new Error(`Could not find column named ${o}`);return{name:o,value:b,type:n.type}});h(f);break}case"sort":{const f=u.map(({name:o,direction:b})=>{const n=e==null?void 0:e.columns.find(w=>w.name===o);if(n==null)throw new Error(`Could not find column named ${o}`);return b==="DESC"?n.sort().desc():n.sort().asc()});v(f);break}}}return window.addEventListener("message",l),()=>{window.removeEventListener("message",l)}},[e]);const m=e!=null;return d.jsxs("div",{className:"App",children:[m&&d.jsx(D,{canCopy:x,canDownloadCsv:j,model:e,inputFilters:T,sorts:A}),!m&&d.jsx(N,{isLoaded:m,isLoading:S,errorMessage:y??null}),d.jsx(F,{})]})}export{J as default};
2
+ //# sourceMappingURL=App-d414e79d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App-8e2baa3d.js","sources":["../../../jsapi-shim/dist/dh.js","../../src/App.tsx"],"sourcesContent":["// The Deephaven API script isn't packaged as a module (yet), and is just included in index.html, exported to the global namespace\n// This include file is simply a wrapper so that it behaves like a module, and can be mocked easily for unit tests\n\nvar {\n dh\n} = globalThis;\nexport default dh;\n//# sourceMappingURL=dh.js.map","import React, { useEffect, useMemo, useState } from 'react';\nimport { useConnection, useUser } from '@deephaven/app-utils';\nimport { ContextMenuRoot, LoadingOverlay } from '@deephaven/components'; // Use the loading spinner from the Deephaven components package\nimport {\n InputFilter,\n IrisGrid,\n IrisGridModel,\n IrisGridModelFactory,\n} from '@deephaven/iris-grid'; // iris-grid is used to display Deephaven tables\nimport dh from '@deephaven/jsapi-shim'; // Import the shim to use the JS API\nimport type { IdeConnection, Sort, Table } from '@deephaven/jsapi-types';\nimport { fetchVariableDefinition } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport './App.scss'; // Styles for in this app\n\nLog.setLogLevel(parseInt(import.meta.env.VITE_LOG_LEVEL ?? '', 10));\n\nconst log = Log.module('EmbedGrid.App');\n\nconst SUPPORTED_TYPES: string[] = [\n dh.VariableType.TABLE,\n dh.VariableType.TREETABLE,\n dh.VariableType.HIERARCHICALTABLE,\n dh.VariableType.PANDAS,\n dh.VariableType.PARTITIONEDTABLE,\n];\n\nexport type Command = 'filter' | 'sort';\n\n/** Input value for filter commands */\nexport type FilterCommandType = {\n name: string;\n value: string;\n};\n\nexport type SortCommandType = {\n name: string;\n direction?: 'ASC' | 'DESC';\n};\n\n/**\n * Load an existing Deephaven table with the connection provided\n * @param connection The Deephaven session object\n * @param name Name of the table to load\n * @param type The type of table to load\n * @returns Deephaven table\n */\nasync function loadTable(\n connection: IdeConnection,\n name: string\n): Promise<Table> {\n log.info(`Fetching table ${name}...`);\n\n const definition = await fetchVariableDefinition(connection, name);\n if (!SUPPORTED_TYPES.includes(definition.type)) {\n throw new Error(\n `Unsupported type '${definition.type}' for variable named '${name}'`\n );\n }\n const object = await connection.getObject(definition);\n return object as Table;\n}\n\n/**\n * A functional React component that displays a Deephaven table in an IrisGrid using the @deephaven/iris-grid package.\n * It will attempt to open and display the table specified with the `name` parameter, expecting it to be present on the server.\n * E.g. http://localhost:3000/?name=myTable will attempt to open a table `myTable`\n * If no query param is provided, it will attempt to open a new session and create a basic time table and display that.\n * By default, tries to connect to the server defined in the VITE_CORE_API_URL variable, which is set to http://localhost:1000/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 connection = useConnection();\n const user = useUser();\n const [model, setModel] = useState<IrisGridModel>();\n const [error, setError] = useState<string>();\n const [inputFilters, setInputFilters] = useState<InputFilter[]>();\n const [sorts, setSorts] = useState<Sort[]>();\n const [isLoading, setIsLoading] = useState(true);\n const searchParams = useMemo(\n () => new URLSearchParams(window.location.search),\n []\n );\n const { permissions } = user;\n const { canCopy, canDownloadCsv } = permissions;\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 if (name == null) {\n throw new Error('No name param provided');\n }\n log.debug('Loading table', name, '...');\n // Load the table up.\n const table = await loadTable(connection, name);\n // Create the `IrisGridModel` for use with the `IrisGrid` component\n log.debug(`Creating model...`);\n const newModel = await IrisGridModelFactory.makeModel(dh, table);\n setModel(newModel);\n log.debug('Table successfully loaded!');\n } catch (e: unknown) {\n log.error('Unable to load table', e);\n setError(`${e}`);\n }\n setIsLoading(false);\n }\n initApp();\n },\n [connection, searchParams]\n );\n\n useEffect(\n function initCommandListener() {\n function receiveMessage(e: MessageEvent): void {\n const { command, value } = e.data as {\n command: Command;\n value: unknown;\n };\n switch (command) {\n case 'filter': {\n const filterCommandValues = value as FilterCommandType[];\n const newInputFilters = filterCommandValues.map(\n ({ name, value: filterValue }) => {\n const column = model?.columns.find(c => c.name === name);\n if (column == null) {\n throw new Error(`Could not find column named ${name}`);\n }\n return {\n name,\n value: filterValue,\n type: column.type,\n };\n }\n );\n setInputFilters(newInputFilters);\n break;\n }\n case 'sort': {\n const sortCommandValues = value as SortCommandType[];\n const newSorts = sortCommandValues.map(({ name, direction }) => {\n const column = model?.columns.find(c => c.name === name);\n if (column == null) {\n throw new Error(`Could not find column named ${name}`);\n }\n return direction === 'DESC'\n ? column.sort().desc()\n : column.sort().asc();\n });\n setSorts(newSorts);\n break;\n }\n }\n }\n window.addEventListener('message', receiveMessage);\n\n return () => {\n window.removeEventListener('message', receiveMessage);\n };\n },\n [model]\n );\n\n const isLoaded = model != null;\n\n return (\n <div className=\"App\">\n {isLoaded && (\n <IrisGrid\n canCopy={canCopy}\n canDownloadCsv={canDownloadCsv}\n model={model}\n inputFilters={inputFilters}\n sorts={sorts}\n />\n )}\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":["dh","shim","Log","log","SUPPORTED_TYPES","loadTable","connection","name","definition","fetchVariableDefinition","App","useConnection","user","useUser","model","setModel","useState","error","setError","inputFilters","setInputFilters","sorts","setSorts","isLoading","setIsLoading","searchParams","useMemo","permissions","canCopy","canDownloadCsv","useEffect","initApp","table","newModel","IrisGridModelFactory","e","receiveMessage","command","value","newInputFilters","filterValue","column","c","newSorts","direction","isLoaded","jsxs","jsx","IrisGrid","LoadingOverlay","ContextMenuRoot"],"mappings":"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"}
1
+ {"version":3,"file":"App-d414e79d.js","sources":["../../../jsapi-shim/dist/dh.js","../../src/App.tsx"],"sourcesContent":["// The Deephaven API script isn't packaged as a module (yet), and is just included in index.html, exported to the global namespace\n// This include file is simply a wrapper so that it behaves like a module, and can be mocked easily for unit tests\n\nvar {\n dh\n} = globalThis;\nexport default dh;\n//# sourceMappingURL=dh.js.map","import React, { useEffect, useMemo, useState } from 'react';\nimport { useConnection, useUser } from '@deephaven/app-utils';\nimport { ContextMenuRoot, LoadingOverlay } from '@deephaven/components'; // Use the loading spinner from the Deephaven components package\nimport {\n InputFilter,\n IrisGrid,\n IrisGridModel,\n IrisGridModelFactory,\n} from '@deephaven/iris-grid'; // iris-grid is used to display Deephaven tables\nimport dh from '@deephaven/jsapi-shim'; // Import the shim to use the JS API\nimport type { IdeConnection, Sort, Table } from '@deephaven/jsapi-types';\nimport { fetchVariableDefinition } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport './App.scss'; // Styles for in this app\n\nLog.setLogLevel(parseInt(import.meta.env.VITE_LOG_LEVEL ?? '', 10));\n\nconst log = Log.module('EmbedGrid.App');\n\nconst SUPPORTED_TYPES: string[] = [\n dh.VariableType.TABLE,\n dh.VariableType.TREETABLE,\n dh.VariableType.HIERARCHICALTABLE,\n dh.VariableType.PANDAS,\n dh.VariableType.PARTITIONEDTABLE,\n];\n\nexport type Command = 'filter' | 'sort';\n\n/** Input value for filter commands */\nexport type FilterCommandType = {\n name: string;\n value: string;\n};\n\nexport type SortCommandType = {\n name: string;\n direction?: 'ASC' | 'DESC';\n};\n\n/**\n * Load an existing Deephaven table with the connection provided\n * @param connection The Deephaven session object\n * @param name Name of the table to load\n * @param type The type of table to load\n * @returns Deephaven table\n */\nasync function loadTable(\n connection: IdeConnection,\n name: string\n): Promise<Table> {\n log.info(`Fetching table ${name}...`);\n\n const definition = await fetchVariableDefinition(connection, name);\n if (!SUPPORTED_TYPES.includes(definition.type)) {\n throw new Error(\n `Unsupported type '${definition.type}' for variable named '${name}'`\n );\n }\n const object = await connection.getObject(definition);\n return object as Table;\n}\n\n/**\n * A functional React component that displays a Deephaven table in an IrisGrid using the @deephaven/iris-grid package.\n * It will attempt to open and display the table specified with the `name` parameter, expecting it to be present on the server.\n * E.g. http://localhost:3000/?name=myTable will attempt to open a table `myTable`\n * If no query param is provided, it will attempt to open a new session and create a basic time table and display that.\n * By default, tries to connect to the server defined in the VITE_CORE_API_URL variable, which is set to http://localhost:1000/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 connection = useConnection();\n const user = useUser();\n const [model, setModel] = useState<IrisGridModel>();\n const [error, setError] = useState<string>();\n const [inputFilters, setInputFilters] = useState<InputFilter[]>();\n const [sorts, setSorts] = useState<Sort[]>();\n const [isLoading, setIsLoading] = useState(true);\n const searchParams = useMemo(\n () => new URLSearchParams(window.location.search),\n []\n );\n const { permissions } = user;\n const { canCopy, canDownloadCsv } = permissions;\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 if (name == null) {\n throw new Error('No name param provided');\n }\n log.debug('Loading table', name, '...');\n // Load the table up.\n const table = await loadTable(connection, name);\n // Create the `IrisGridModel` for use with the `IrisGrid` component\n log.debug(`Creating model...`);\n const newModel = await IrisGridModelFactory.makeModel(dh, table);\n setModel(newModel);\n log.debug('Table successfully loaded!');\n } catch (e: unknown) {\n log.error('Unable to load table', e);\n setError(`${e}`);\n }\n setIsLoading(false);\n }\n initApp();\n },\n [connection, searchParams]\n );\n\n useEffect(\n function initCommandListener() {\n function receiveMessage(e: MessageEvent): void {\n const { command, value } = e.data as {\n command: Command;\n value: unknown;\n };\n switch (command) {\n case 'filter': {\n const filterCommandValues = value as FilterCommandType[];\n const newInputFilters = filterCommandValues.map(\n ({ name, value: filterValue }) => {\n const column = model?.columns.find(c => c.name === name);\n if (column == null) {\n throw new Error(`Could not find column named ${name}`);\n }\n return {\n name,\n value: filterValue,\n type: column.type,\n };\n }\n );\n setInputFilters(newInputFilters);\n break;\n }\n case 'sort': {\n const sortCommandValues = value as SortCommandType[];\n const newSorts = sortCommandValues.map(({ name, direction }) => {\n const column = model?.columns.find(c => c.name === name);\n if (column == null) {\n throw new Error(`Could not find column named ${name}`);\n }\n return direction === 'DESC'\n ? column.sort().desc()\n : column.sort().asc();\n });\n setSorts(newSorts);\n break;\n }\n }\n }\n window.addEventListener('message', receiveMessage);\n\n return () => {\n window.removeEventListener('message', receiveMessage);\n };\n },\n [model]\n );\n\n const isLoaded = model != null;\n\n return (\n <div className=\"App\">\n {isLoaded && (\n <IrisGrid\n canCopy={canCopy}\n canDownloadCsv={canDownloadCsv}\n model={model}\n inputFilters={inputFilters}\n sorts={sorts}\n />\n )}\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":["dh","shim","Log","log","SUPPORTED_TYPES","loadTable","connection","name","definition","fetchVariableDefinition","App","useConnection","user","useUser","model","setModel","useState","error","setError","inputFilters","setInputFilters","sorts","setSorts","isLoading","setIsLoading","searchParams","useMemo","permissions","canCopy","canDownloadCsv","useEffect","initApp","table","newModel","IrisGridModelFactory","e","receiveMessage","command","value","newInputFilters","filterValue","column","c","newSorts","direction","isLoaded","jsxs","jsx","IrisGrid","LoadingOverlay","ContextMenuRoot"],"mappings":"kOAGA,GAAI,CACF,GAAAA,CACF,EAAI,WACJ,MAAAC,EAAeD,ECSfE,EAAI,YAAY,SAAS,IAAsC,EAAE,CAAC,EAElE,MAAMC,EAAMD,EAAI,OAAO,eAAe,EAEhCE,EAA4B,CAChCJ,EAAG,aAAa,MAChBA,EAAG,aAAa,UAChBA,EAAG,aAAa,kBAChBA,EAAG,aAAa,OAChBA,EAAG,aAAa,gBAClB,EAsBA,eAAeK,EACbC,EACAC,EACgB,CACZJ,EAAA,KAAK,kBAAkBI,CAAI,KAAK,EAEpC,MAAMC,EAAa,MAAMC,EAAwBH,EAAYC,CAAI,EACjE,GAAI,CAACH,EAAgB,SAASI,EAAW,IAAI,EAC3C,MAAM,IAAI,MACR,qBAAqBA,EAAW,IAAI,yBAAyBD,CAAI,GAAA,EAI9D,OADQ,MAAMD,EAAW,UAAUE,CAAU,CAEtD,CAUA,SAASE,GAAmB,CAC1B,MAAMJ,EAAaK,IACbC,EAAOC,IACP,CAACC,EAAOC,CAAQ,EAAIC,EAAwB,SAAA,EAC5C,CAACC,EAAOC,CAAQ,EAAIF,EAAiB,SAAA,EACrC,CAACG,EAAcC,CAAe,EAAIJ,EAAwB,SAAA,EAC1D,CAACK,EAAOC,CAAQ,EAAIN,EAAiB,SAAA,EACrC,CAACO,EAAWC,CAAY,EAAIR,WAAS,EAAI,EACzCS,EAAeC,EAAA,QACnB,IAAM,IAAI,gBAAgB,OAAO,SAAS,MAAM,EAChD,CAAC,CAAA,EAEG,CAAE,YAAAC,CAAgB,EAAAf,EAClB,CAAE,QAAAgB,EAAS,eAAAC,CAAmB,EAAAF,EAEpCG,EAAA,UACE,UAAyB,CACvB,eAAeC,GAAyB,CAClC,GAAA,CAEI,MAAAxB,EAAOkB,EAAa,IAAI,MAAM,EACpC,GAAIlB,GAAQ,KACJ,MAAA,IAAI,MAAM,wBAAwB,EAEtCJ,EAAA,MAAM,gBAAiBI,EAAM,KAAK,EAEtC,MAAMyB,EAAQ,MAAM3B,EAAUC,EAAYC,CAAI,EAE9CJ,EAAI,MAAM,mBAAmB,EAC7B,MAAM8B,EAAW,MAAMC,EAAqB,UAAUlC,EAAIgC,CAAK,EAC/DjB,EAASkB,CAAQ,EACjB9B,EAAI,MAAM,4BAA4B,QAC/BgC,EAAY,CACfhC,EAAA,MAAM,uBAAwBgC,CAAC,EAC1BjB,EAAA,GAAGiB,CAAC,EAAE,CACjB,CACAX,EAAa,EAAK,CACpB,CACQO,GACV,EACA,CAACzB,EAAYmB,CAAY,CAAA,EAG3BK,EAAA,UACE,UAA+B,CAC7B,SAASM,EAAeD,EAAuB,CAC7C,KAAM,CAAE,QAAAE,EAAS,MAAAC,GAAUH,EAAE,KAI7B,OAAQE,EAAS,CACf,IAAK,SAAU,CAEb,MAAME,EADsBD,EACgB,IAC1C,CAAC,CAAE,KAAA/B,EAAM,MAAOiC,KAAkB,CAChC,MAAMC,EAAS3B,GAAA,YAAAA,EAAO,QAAQ,KAAU4B,GAAAA,EAAE,OAASnC,GACnD,GAAIkC,GAAU,KACZ,MAAM,IAAI,MAAM,+BAA+BlC,CAAI,EAAE,EAEhD,MAAA,CACL,KAAAA,EACA,MAAOiC,EACP,KAAMC,EAAO,IAAA,CAEjB,CAAA,EAEFrB,EAAgBmB,CAAe,EAC/B,KACF,CACA,IAAK,OAAQ,CAEX,MAAMI,EADoBL,EACS,IAAI,CAAC,CAAE,KAAA/B,EAAM,UAAAqC,KAAgB,CAC9D,MAAMH,EAAS3B,GAAA,YAAAA,EAAO,QAAQ,KAAU4B,GAAAA,EAAE,OAASnC,GACnD,GAAIkC,GAAU,KACZ,MAAM,IAAI,MAAM,+BAA+BlC,CAAI,EAAE,EAEhD,OAAAqC,IAAc,OACjBH,EAAO,KAAK,EAAE,KACd,EAAAA,EAAO,OAAO,KAAI,CACvB,EACDnB,EAASqB,CAAQ,EACjB,KACF,CACF,CACF,CACO,cAAA,iBAAiB,UAAWP,CAAc,EAE1C,IAAM,CACJ,OAAA,oBAAoB,UAAWA,CAAc,CAAA,CAExD,EACA,CAACtB,CAAK,CAAA,EAGR,MAAM+B,EAAW/B,GAAS,KAGxB,OAAAgC,EAAA,KAAC,MAAI,CAAA,UAAU,MACZ,SAAA,CACCD,GAAAE,EAAA,IAACC,EAAA,CACC,QAAApB,EACA,eAAAC,EACA,MAAAf,EACA,aAAAK,EACA,MAAAE,CAAA,CACF,EAED,CAACwB,GACAE,EAAA,IAACE,EAAA,CACC,SAAAJ,EACA,UAAAtB,EACA,aAAcN,GAAS,IAAA,CACzB,QAEDiC,EAAgB,EAAA,CACnB,CAAA,CAAA,CAEJ"}
@@ -1,2 +1,2 @@
1
- import{r as s,C as n,aU as l,aV as d,aW as u,G as m}from"./vendor-c87e2acb.js";import{aJ as c}from"./useUser-c6d09143.js";import{C as f}from"./index-4911b203.js";import"./helpers-de833af9.js";import"./index-36afd023.js";import"./monaco-0b69f16f.js";import"./plotly-37fd1df1.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 i=t.call(e,r||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var v=e=>{var{children:r,className:t}=e,i=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return n.jsx("pre",{children:n.jsx("code",{children:n.jsx(f,{language:i,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:i}=this.props;return n.jsx("div",{className:"markdown-editor-container",ref:a=>{this.container=a},children:r?n.jsx(c,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:i}):n.jsx(l,{components:{code:v},remarkPlugins:[d],rehypePlugins:[u],children:t})})}}o(h,"defaultProps",{isEditing:!1,content:""});export{h as default};
2
- //# sourceMappingURL=MarkdownEditor-6705e587.js.map
1
+ import{r as s,C as n,aU as l,aV as d,aW as u,G as m}from"./vendor-c87e2acb.js";import{aJ as c}from"./useUser-75ea4bfc.js";import{C as f}from"./index-9d8fc0a6.js";import"./helpers-de833af9.js";import"./index-885889f7.js";import"./monaco-0b69f16f.js";import"./plotly-37fd1df1.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 i=t.call(e,r||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(e)}var v=e=>{var{children:r,className:t}=e,i=t!=null&&t!==void 0&&t.startsWith("language-")?t.substring(9):"plaintext";return n.jsx("pre",{children:n.jsx("code",{children:n.jsx(f,{language:i,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:i}=this.props;return n.jsx("div",{className:"markdown-editor-container",ref:a=>{this.container=a},children:r?n.jsx(c,{settings:{language:"markdown",value:t,lineNumbers:"off"},onEditorInitialized:i}):n.jsx(l,{components:{code:v},remarkPlugins:[d],rehypePlugins:[u],children:t})})}}o(h,"defaultProps",{isEditing:!1,content:""});export{h as default};
2
+ //# sourceMappingURL=MarkdownEditor-183fa371.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor-6705e587.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":"sRAAA,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-183fa371.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":"sRAAA,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 L,G as C,C as s,E as g,aU as R,aX as w,aV as N,aW as j}from"./vendor-c87e2acb.js";import{j as E,ae as S}from"./index-36afd023.js";import{B as b}from"./useUser-c6d09143.js";import{C as P}from"./index-4911b203.js";import"./helpers-de833af9.js";import"./monaco-0b69f16f.js";import"./plotly-37fd1df1.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 L.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),h=(t=this.codeElements.get(l))===null||t===void 0?void 0:t.current,o=h==null||(n=h.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;E(u);var{start:h}=u,{line:o}=h,c=p[0].value,v=C.createRef(),k=this.commands.size===0,x=l===o||k&&l==null&&!d,y=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:m=>{m.stopPropagation(),m.preventDefault(),this.runCode(c),this.setState({nextStartLine:o})},tooltip:"Run code"}),s.jsx("code",{children:s.jsx(P,{language:y,children:C.Children.map(t,m=>typeof m=="string"?m.trim():m)})})]}))}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(R,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[w,N],rehypePlugins:[j],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}f(I,"defaultProps",{onRunCode:()=>{}});export{I as MarkdownNotebook,I as default};
2
- //# sourceMappingURL=MarkdownNotebook-73af6364.js.map
1
+ import{r as L,G as C,C as s,E as g,aU as R,aX as w,aV as N,aW as j}from"./vendor-c87e2acb.js";import{j as E,ae as S}from"./index-885889f7.js";import{B as b}from"./useUser-75ea4bfc.js";import{C as P}from"./index-9d8fc0a6.js";import"./helpers-de833af9.js";import"./monaco-0b69f16f.js";import"./plotly-37fd1df1.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 L.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),h=(t=this.codeElements.get(l))===null||t===void 0?void 0:t.current,o=h==null||(n=h.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;E(u);var{start:h}=u,{line:o}=h,c=p[0].value,v=C.createRef(),k=this.commands.size===0,x=l===o||k&&l==null&&!d,y=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:m=>{m.stopPropagation(),m.preventDefault(),this.runCode(c),this.setState({nextStartLine:o})},tooltip:"Run code"}),s.jsx("code",{children:s.jsx(P,{language:y,children:C.Children.map(t,m=>typeof m=="string"?m.trim():m)})})]}))}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(R,{components:{code:this.renderCodeBlock,a:this.renderLink},linkTarget:"_blank",remarkPlugins:[w,N],rehypePlugins:[j],transformLinkUri:n,transformImageUri:t,includeElementIndex:!0,children:e})})]})}}f(I,"defaultProps",{onRunCode:()=>{}});export{I as MarkdownNotebook,I as default};
2
+ //# sourceMappingURL=MarkdownNotebook-eea72e62.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownNotebook-73af6364.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-eea72e62.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{_ as C}from"./monaco-0b69f16f.js";import{r as f,R as G,C as v,D as A,E as
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 No(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 Ao(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 wo(){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 So(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 Co(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 ko(r){localStorage.setItem(_9,JSON.stringify(r))}function Zo(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 Do(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-8e2baa3d.js"),["./App-8e2baa3d.js","./vendor-c87e2acb.js","./helpers-de833af9.js","./vendor-e1f37c45.css","./useUser-c6d09143.js","./monaco-0b69f16f.js","./monaco-0e9455f6.css","./useUser-5b7483c1.css","./App-bad0fe82.css"],import.meta.url)),uo=I.lazy(async()=>({default:(await C(()=>import("./index-4911b203.js").then(o=>o.i),["./index-4911b203.js","./vendor-c87e2acb.js","./helpers-de833af9.js","./vendor-e1f37c45.css","./useUser-c6d09143.js","./monaco-0b69f16f.js","./monaco-0e9455f6.css","./useUser-5b7483c1.css","./plotly-37fd1df1.js","./index-fdd711d7.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{n0 as $,wo as A,q9 as B,Z as C,S as D,Zo as E,no as F,Do as G,to as H,so as I,Co as J,ko as K,G9 as L,B7 as M,vo as N,J7 as O,eo as P,fo as Q,go as R,ho as S,w as T,o8 as U,J9 as V,T as W,B9 as X,n4 as Y,c9 as Z,t9 as _,I9 as a,j5 as a$,k9 as a0,c5 as a1,h5 as a2,J2 as a3,K5 as a4,A6 as a5,Q5 as a6,$5 as a7,k as a8,S0 as a9,h9 as aA,s0 as aB,yo as aC,r2 as aD,j8 as aE,G4 as aF,xo as aG,Y5 as aH,k6 as aI,o7 as aJ,u8 as aK,Mo as aL,Lo as aM,x9 as aN,L9 as aO,o4 as aP,M9 as aQ,r9 as aR,d4 as aS,y9 as aT,H9 as aU,V9 as aV,E9 as aW,F2 as aX,w9 as aY,U4 as aZ,q5 as a_,G2 as aa,o2 as ab,S6 as ac,X3 as ad,X4 as ae,V6 as af,S4 as ag,Z9 as ah,B6 as ai,I4 as aj,T6 as ak,O6 as al,l1 as am,m9 as an,g0 as ao,C4 as ap,B8 as aq,_2 as ar,v6 as as,f9 as at,Q1 as au,i9 as av,a2 as aw,z9 as ax,X5 as ay,m1 as az,U7 as b,m8 as b0,P3 as b1,E2 as b2,D2 as b3,O5 as b4,T5 as b5,O9 as b6,l9 as b7,B5 as b8,g9 as b9,C0 as ba,y4 as bb,c4 as bc,w0 as bd,v2 as be,Y as bf,a9 as bg,a3 as bh,D9 as bi,S3 as bj,D8 as bk,Y2 as bl,l5 as bm,H8 as bn,V4 as bo,G7 as c,k2 as d,q as e,Q2 as f,R2 as g,P2 as h,Q9 as i,r7 as j,r4 as k,_5 as l,s6 as m,n,co as o,ao as p,I7 as q,So as r,_9 as s,F as t,io as u,e5 as v,j9 as w,O as x,No as y,Ao as z};
16
- //# sourceMappingURL=index-36afd023.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 No(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 Ao(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 wo(){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 So(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 Co(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 ko(r){localStorage.setItem(_9,JSON.stringify(r))}function Zo(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 Do(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-d414e79d.js"),["./App-d414e79d.js","./vendor-c87e2acb.js","./helpers-de833af9.js","./vendor-e1f37c45.css","./useUser-75ea4bfc.js","./monaco-0b69f16f.js","./monaco-0e9455f6.css","./useUser-5b7483c1.css","./App-bad0fe82.css"],import.meta.url)),uo=I.lazy(async()=>({default:(await C(()=>import("./index-9d8fc0a6.js").then(o=>o.i),["./index-9d8fc0a6.js","./vendor-c87e2acb.js","./helpers-de833af9.js","./vendor-e1f37c45.css","./useUser-75ea4bfc.js","./monaco-0b69f16f.js","./monaco-0e9455f6.css","./useUser-5b7483c1.css","./plotly-37fd1df1.js","./index-fdd711d7.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{n0 as $,wo as A,q9 as B,Z as C,S as D,Zo as E,no as F,Do as G,to as H,so as I,Co as J,ko as K,G9 as L,B7 as M,vo as N,J7 as O,eo as P,fo as Q,go as R,ho as S,w as T,o8 as U,J9 as V,T as W,B9 as X,n4 as Y,c9 as Z,t9 as _,I9 as a,j5 as a$,k9 as a0,c5 as a1,h5 as a2,J2 as a3,K5 as a4,A6 as a5,Q5 as a6,$5 as a7,k as a8,S0 as a9,h9 as aA,s0 as aB,yo as aC,r2 as aD,j8 as aE,G4 as aF,xo as aG,Y5 as aH,k6 as aI,o7 as aJ,u8 as aK,Mo as aL,Lo as aM,x9 as aN,L9 as aO,o4 as aP,M9 as aQ,r9 as aR,d4 as aS,y9 as aT,H9 as aU,V9 as aV,E9 as aW,F2 as aX,w9 as aY,U4 as aZ,q5 as a_,G2 as aa,o2 as ab,S6 as ac,X3 as ad,X4 as ae,V6 as af,S4 as ag,Z9 as ah,B6 as ai,I4 as aj,T6 as ak,O6 as al,l1 as am,m9 as an,g0 as ao,C4 as ap,B8 as aq,_2 as ar,v6 as as,f9 as at,Q1 as au,i9 as av,a2 as aw,z9 as ax,X5 as ay,m1 as az,U7 as b,m8 as b0,P3 as b1,E2 as b2,D2 as b3,O5 as b4,T5 as b5,O9 as b6,l9 as b7,B5 as b8,g9 as b9,C0 as ba,y4 as bb,c4 as bc,w0 as bd,v2 as be,Y as bf,a9 as bg,a3 as bh,D9 as bi,S3 as bj,D8 as bk,Y2 as bl,l5 as bm,H8 as bn,V4 as bo,G7 as c,k2 as d,q as e,Q2 as f,R2 as g,P2 as h,Q9 as i,r7 as j,r4 as k,_5 as l,s6 as m,n,co as o,ao as p,I7 as q,So as r,_9 as s,F as t,io as u,e5 as v,j9 as w,O as x,No as y,Ao as z};
16
+ //# sourceMappingURL=index-885889f7.js.map