@deephaven/code-studio 0.49.2-theme-plugins.43 → 0.50.0

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.
Files changed (30) hide show
  1. package/build/assets/AppRoot-594f9ef9.js +6 -0
  2. package/build/assets/AppRoot-594f9ef9.js.map +1 -0
  3. package/build/assets/ControlType-739cf14a.js +21 -0
  4. package/build/assets/ControlType-739cf14a.js.map +1 -0
  5. package/build/assets/ControlType-f220a027.css +1 -0
  6. package/build/assets/index-07ade726.js +12 -0
  7. package/build/assets/index-07ade726.js.map +1 -0
  8. package/build/assets/{index-60ed25f6.js → index-22fa6865.js} +2 -2
  9. package/build/assets/{index-60ed25f6.js.map → index-22fa6865.js.map} +1 -1
  10. package/build/assets/{index-2305b98a.js → index-4d662ebf.js} +11 -11
  11. package/build/assets/index-4d662ebf.js.map +1 -0
  12. package/build/assets/{index-00aa0fe7.css → index-824ffbc8.css} +1 -1
  13. package/build/assets/index-d04a1c67.css +1 -0
  14. package/build/assets/{useConnection-b51df52b.js → useConnection-c5e2e341.js} +4 -4
  15. package/build/assets/{useConnection-b51df52b.js.map → useConnection-c5e2e341.js.map} +1 -1
  16. package/build/assets/{useLoadTablePlugin-28d22b5e.js → useLoadTablePlugin-6c4802c1.js} +2 -2
  17. package/build/assets/{useLoadTablePlugin-28d22b5e.js.map → useLoadTablePlugin-6c4802c1.js.map} +1 -1
  18. package/build/assets/{useUser-581de0b9.js → useUser-99bf68df.js} +2 -2
  19. package/build/assets/{useUser-581de0b9.js.map → useUser-99bf68df.js.map} +1 -1
  20. package/build/index.html +3 -3
  21. package/package.json +31 -31
  22. package/build/assets/AppRoot-adc47cb5.js +0 -6
  23. package/build/assets/AppRoot-adc47cb5.js.map +0 -1
  24. package/build/assets/ControlType-0020d068.css +0 -1
  25. package/build/assets/ControlType-a78a6083.js +0 -21
  26. package/build/assets/ControlType-a78a6083.js.map +0 -1
  27. package/build/assets/index-2305b98a.js.map +0 -1
  28. package/build/assets/index-6984d53f.js +0 -8
  29. package/build/assets/index-6984d53f.js.map +0 -1
  30. package/build/assets/index-cb5a2514.css +0 -1
@@ -1,2 +1,2 @@
1
- import{r as t,C as n,Z as p}from"./vendor-c6a8042a.js";import{G as m}from"./index-6984d53f.js";import{J as y,L,m as U,M as B,N as M,Q as S,R,y as w,U as C,V as E,W as F,X as O,Y as _,Z as T,_ as N,$ as b,a0 as k,a1 as G,a2 as V,a3 as I,a4 as q,a5 as D}from"./useConnection-b51df52b.js";import{a6 as ve,aa as pe,a8 as me,a7 as Ce,a9 as xe,z as Pe,A as Ae}from"./useConnection-b51df52b.js";import{u as H,S as J}from"./useUser-581de0b9.js";import{a as ye}from"./useUser-581de0b9.js";import{u as Ue}from"./useLoadTablePlugin-28d22b5e.js";import"./helpers-042e6b4d.js";import"./monaco-3857fcdf.js";var x=t.createContext(!1);function Z(e){var{fontClassNames:s=["fira-sans-regular","fira-sans-semibold","fira-mono"],children:r}=e,[a,o]=t.useState(!1);return t.useEffect(function(){document.fonts.ready.then(()=>{o(!0)})},[]),n.jsxs(n.Fragment,{children:[n.jsx(x.Provider,{value:a,children:r}),n.jsx("div",{id:"preload-fonts",style:{visibility:"hidden",position:"absolute",top:-1e4},children:s.map(i=>n.jsx("p",{className:i,children:"preload"},i))})]})}var $=p.createRequires(()=>y),z=p.createRemoteComponent({requires:$});const de=z;function Q(){var e=L();return t.useEffect(function(){e.postMessage(U(B))},[e]),null}function v(e,s,r,a,o,i,u){try{var d=e[i](u),l=d.value}catch(c){r(c);return}d.done?s(l):Promise.resolve(l).then(a,o)}function W(e){return function(){var s=this,r=arguments;return new Promise(function(a,o){var i=e.apply(s,r);function u(l){v(i,a,o,u,d,"next",l)}function d(l){v(i,a,o,u,d,"throw",l)}u(void 0)})}}var X=new Map([["@deephaven/auth-plugins.AuthPluginParent",{AuthPlugin:M}],["@deephaven/auth-plugins.AuthPluginPsk",{AuthPlugin:S}],["@deephaven/auth-plugins.AuthPluginAnonymous",{AuthPlugin:R}]]);function Y(e){var{children:s}=e,r=w(),a=t.useContext(C),[o,i]=t.useState(),[u,d]=t.useState();t.useEffect(function(){var h=!1;function P(){return g.apply(this,arguments)}function g(){return g=W(function*(){try{var A=yield r.getAuthConfigValues();h||i(new Map(A))}catch(j){h||d(j)}}),g.apply(this,arguments)}return P(),()=>{h=!0}},[r]);var l=t.useMemo(()=>{if(!(a==null||o==null))try{return E(a,o,X)}catch(f){d(f)}},[o,a]),c=l==null||o==null;return c||u!=null?n.jsx(m,{isLoading:c&&u==null,errorMessage:F(u)}):n.jsx(l,{authConfigValues:o,children:n.jsxs(n.Fragment,{children:[n.jsx(Q,{}),s]})})}function ce(e){return new URL(e,"".concat(window.location))}function K(){var e=new URLSearchParams(window.location.search);return e.get("envoyPrefix")}function ee(){var e=K();return e!=null?{headers:{"envoy-prefix":e}}:{headers:{}}}function ne(e){var{children:s}=e,r=t.useContext(x);return r?n.jsx(n.Fragment,{children:s}):n.jsx(m,{"data-testid":"fonts-loaded-loading"})}function re(e){var{children:s}=e,r=H(),a=t.useContext(O),o=t.useContext(_),i=T(r,a,o);return n.jsx(N.Provider,{value:i,children:s})}function te(e){var{children:s}=e,r=t.useContext(C),a=t.useMemo(()=>r==null?null:b(r),[r]);return n.jsx(k,{themes:a,children:s})}function he(e){var{fontClassNames:s,pluginsUrl:r,getCorePlugins:a,serverUrl:o,children:i}=e,u=t.useMemo(()=>ee(),[]),[d,l]=t.useState(0),c=t.useCallback(()=>{},[]),f=t.useCallback(()=>{l(h=>h+1)},[]);return G(c,f),n.jsx(Z,{fontClassNames:s,children:n.jsx(V,{getCorePlugins:a,pluginsUrl:r,children:n.jsx(te,{children:n.jsx(I,{serverUrl:o,options:u,children:n.jsx(q,{children:n.jsx(Y,{children:n.jsx(J,{children:n.jsx(re,{children:n.jsx(D,{children:n.jsx(ne,{children:i})})})})})})},d)})})})}export{he as AppBootstrap,Y as AuthBootstrap,D as ConnectionBootstrap,ve as ConnectionContext,Z as FontBootstrap,ne as FontsLoaded,x as FontsLoadedContext,V as PluginsBootstrap,C as PluginsContext,de as RemoteComponent,te as ThemeBootstrap,pe as getAuthHandlers,E as getAuthPluginComponent,ce as getBaseUrl,ee as getConnectOptions,K as getEnvoyPrefix,b as getThemeDataFromPlugins,me as loadJson,Ce as loadModulePlugin,xe as loadModulePlugins,Pe as useConnection,Ue as useLoadTablePlugin,Ae as usePlugins,H as useServerConfig,ye as useUser};
2
- //# sourceMappingURL=index-60ed25f6.js.map
1
+ import{r as t,C as n,Z as p}from"./vendor-c6a8042a.js";import{G as m}from"./index-07ade726.js";import{J as y,L,m as U,M as B,N as M,Q as S,R,y as w,U as C,V as E,W as F,X as O,Y as _,Z as T,_ as N,$ as b,a0 as k,a1 as G,a2 as V,a3 as I,a4 as q,a5 as D}from"./useConnection-c5e2e341.js";import{a6 as ve,aa as pe,a8 as me,a7 as Ce,a9 as xe,z as Pe,A as Ae}from"./useConnection-c5e2e341.js";import{u as H,S as J}from"./useUser-99bf68df.js";import{a as ye}from"./useUser-99bf68df.js";import{u as Ue}from"./useLoadTablePlugin-6c4802c1.js";import"./helpers-042e6b4d.js";import"./monaco-3857fcdf.js";var x=t.createContext(!1);function Z(e){var{fontClassNames:s=["fira-sans-regular","fira-sans-semibold","fira-mono"],children:r}=e,[a,o]=t.useState(!1);return t.useEffect(function(){document.fonts.ready.then(()=>{o(!0)})},[]),n.jsxs(n.Fragment,{children:[n.jsx(x.Provider,{value:a,children:r}),n.jsx("div",{id:"preload-fonts",style:{visibility:"hidden",position:"absolute",top:-1e4},children:s.map(i=>n.jsx("p",{className:i,children:"preload"},i))})]})}var $=p.createRequires(()=>y),z=p.createRemoteComponent({requires:$});const de=z;function Q(){var e=L();return t.useEffect(function(){e.postMessage(U(B))},[e]),null}function v(e,s,r,a,o,i,u){try{var d=e[i](u),l=d.value}catch(c){r(c);return}d.done?s(l):Promise.resolve(l).then(a,o)}function W(e){return function(){var s=this,r=arguments;return new Promise(function(a,o){var i=e.apply(s,r);function u(l){v(i,a,o,u,d,"next",l)}function d(l){v(i,a,o,u,d,"throw",l)}u(void 0)})}}var X=new Map([["@deephaven/auth-plugins.AuthPluginParent",{AuthPlugin:M}],["@deephaven/auth-plugins.AuthPluginPsk",{AuthPlugin:S}],["@deephaven/auth-plugins.AuthPluginAnonymous",{AuthPlugin:R}]]);function Y(e){var{children:s}=e,r=w(),a=t.useContext(C),[o,i]=t.useState(),[u,d]=t.useState();t.useEffect(function(){var h=!1;function P(){return g.apply(this,arguments)}function g(){return g=W(function*(){try{var A=yield r.getAuthConfigValues();h||i(new Map(A))}catch(j){h||d(j)}}),g.apply(this,arguments)}return P(),()=>{h=!0}},[r]);var l=t.useMemo(()=>{if(!(a==null||o==null))try{return E(a,o,X)}catch(f){d(f)}},[o,a]),c=l==null||o==null;return c||u!=null?n.jsx(m,{isLoading:c&&u==null,errorMessage:F(u)}):n.jsx(l,{authConfigValues:o,children:n.jsxs(n.Fragment,{children:[n.jsx(Q,{}),s]})})}function ce(e){return new URL(e,"".concat(window.location))}function K(){var e=new URLSearchParams(window.location.search);return e.get("envoyPrefix")}function ee(){var e=K();return e!=null?{headers:{"envoy-prefix":e}}:{headers:{}}}function ne(e){var{children:s}=e,r=t.useContext(x);return r?n.jsx(n.Fragment,{children:s}):n.jsx(m,{"data-testid":"fonts-loaded-loading"})}function re(e){var{children:s}=e,r=H(),a=t.useContext(O),o=t.useContext(_),i=T(r,a,o);return n.jsx(N.Provider,{value:i,children:s})}function te(e){var{children:s}=e,r=t.useContext(C),a=t.useMemo(()=>r==null?null:b(r),[r]);return n.jsx(k,{themes:a,children:s})}function he(e){var{fontClassNames:s,pluginsUrl:r,getCorePlugins:a,serverUrl:o,children:i}=e,u=t.useMemo(()=>ee(),[]),[d,l]=t.useState(0),c=t.useCallback(()=>{},[]),f=t.useCallback(()=>{l(h=>h+1)},[]);return G(c,f),n.jsx(Z,{fontClassNames:s,children:n.jsx(V,{getCorePlugins:a,pluginsUrl:r,children:n.jsx(te,{children:n.jsx(I,{serverUrl:o,options:u,children:n.jsx(q,{children:n.jsx(Y,{children:n.jsx(J,{children:n.jsx(re,{children:n.jsx(D,{children:n.jsx(ne,{children:i})})})})})})},d)})})})}export{he as AppBootstrap,Y as AuthBootstrap,D as ConnectionBootstrap,ve as ConnectionContext,Z as FontBootstrap,ne as FontsLoaded,x as FontsLoadedContext,V as PluginsBootstrap,C as PluginsContext,de as RemoteComponent,te as ThemeBootstrap,pe as getAuthHandlers,E as getAuthPluginComponent,ce as getBaseUrl,ee as getConnectOptions,K as getEnvoyPrefix,b as getThemeDataFromPlugins,me as loadJson,Ce as loadModulePlugin,xe as loadModulePlugins,Pe as useConnection,Ue as useLoadTablePlugin,Ae as usePlugins,H as useServerConfig,ye as useUser};
2
+ //# sourceMappingURL=index-22fa6865.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-60ed25f6.js","sources":["../../../app-utils/dist/components/FontBootstrap.js","../../../app-utils/dist/plugins/RemoteComponent.js","../../../app-utils/dist/components/LoginNotifier.js","../../../app-utils/dist/components/AuthBootstrap.js","../../../app-utils/dist/utils/ConnectUtils.js","../../../app-utils/dist/components/FontsLoaded.js","../../../app-utils/dist/components/UserBootstrap.js","../../../app-utils/dist/components/ThemeBootstrap.js","../../../app-utils/dist/components/AppBootstrap.js"],"sourcesContent":["import React, { createContext, useEffect, useState } from 'react';\nimport 'fira';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var FontsLoadedContext = /*#__PURE__*/createContext(false);\n/**\n * FontBootstrap component. Handles preloading fonts.\n */\nexport function FontBootstrap(_ref) {\n var {\n fontClassNames = ['fira-sans-regular', 'fira-sans-semibold', 'fira-mono'],\n children\n } = _ref;\n var [isLoaded, setIsLoaded] = useState(false);\n useEffect(function initFonts() {\n document.fonts.ready.then(() => {\n setIsLoaded(true);\n });\n }, []);\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(FontsLoadedContext.Provider, {\n value: isLoaded,\n children: children\n }), /*#__PURE__*/_jsx(\"div\", {\n id: \"preload-fonts\",\n style: {\n visibility: 'hidden',\n position: 'absolute',\n top: -10000\n },\n children: fontClassNames.map(className => /*#__PURE__*/_jsx(\"p\", {\n className: className,\n children: \"preload\"\n }, className))\n })]\n });\n}\nexport default FontBootstrap;\n//# sourceMappingURL=FontBootstrap.js.map","import { createRemoteComponent, createRequires } from '@paciolan/remote-component';\nimport { resolve } from \"./remote-component.config.js\";\nvar requires = createRequires(() => resolve);\nexport var RemoteComponent = createRemoteComponent({\n requires\n});\nexport default RemoteComponent;\n//# sourceMappingURL=RemoteComponent.js.map","import { useBroadcastChannel } from '@deephaven/jsapi-components';\nimport { BROADCAST_LOGIN_MESSAGE, makeMessage } from '@deephaven/jsapi-utils';\nimport { useEffect } from 'react';\n\n/**\n * Component that broadcasts a message when mounted. Should be mounted after the user has logged in.\n */\nexport function LoginNotifier() {\n var channel = useBroadcastChannel();\n useEffect(function notifyLogin() {\n channel.postMessage(makeMessage(BROADCAST_LOGIN_MESSAGE));\n }, [channel]);\n return null;\n}\nexport default LoginNotifier;\n//# sourceMappingURL=LoginNotifier.js.map","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { AuthPluginAnonymous, AuthPluginParent, AuthPluginPsk } from '@deephaven/auth-plugins';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { useClient } from '@deephaven/jsapi-bootstrap';\nimport { getErrorMessage } from '@deephaven/utils';\nimport { PluginsContext } from \"./PluginsBootstrap.js\";\nimport { getAuthPluginComponent } from \"../plugins/index.js\";\nimport LoginNotifier from \"./LoginNotifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n/** Core auth plugins that are always loaded */\nvar CORE_AUTH_PLUGINS = new Map([['@deephaven/auth-plugins.AuthPluginParent', {\n AuthPlugin: AuthPluginParent\n}], ['@deephaven/auth-plugins.AuthPluginPsk', {\n AuthPlugin: AuthPluginPsk\n}], ['@deephaven/auth-plugins.AuthPluginAnonymous', {\n AuthPlugin: AuthPluginAnonymous\n}]]);\n\n/**\n * AuthBootstrap component. Handles displaying the auth plugin and authenticating.\n */\nexport function AuthBootstrap(_ref) {\n var {\n children\n } = _ref;\n var client = useClient();\n // `useContext` instead of `usePlugins` so that we don't have to wait for the plugins to load\n // We want to load the auth config values in parallel with the plugins\n var plugins = useContext(PluginsContext);\n var [authConfig, setAuthConfig] = useState();\n var [error, setError] = useState();\n useEffect(function initAuthConfigValues() {\n var isCanceled = false;\n function loadAuthConfigValues() {\n return _loadAuthConfigValues.apply(this, arguments);\n }\n function _loadAuthConfigValues() {\n _loadAuthConfigValues = _asyncToGenerator(function* () {\n try {\n var newAuthConfigValues = yield client.getAuthConfigValues();\n if (!isCanceled) {\n setAuthConfig(new Map(newAuthConfigValues));\n }\n } catch (e) {\n if (!isCanceled) {\n setError(e);\n }\n }\n });\n return _loadAuthConfigValues.apply(this, arguments);\n }\n loadAuthConfigValues();\n return () => {\n isCanceled = true;\n };\n }, [client]);\n var AuthComponent = useMemo(() => {\n if (plugins == null || authConfig == null) {\n return undefined;\n }\n try {\n return getAuthPluginComponent(plugins, authConfig, CORE_AUTH_PLUGINS);\n } catch (e) {\n setError(e);\n }\n }, [authConfig, plugins]);\n var isLoading = AuthComponent == null || authConfig == null;\n if (isLoading || error != null) {\n return /*#__PURE__*/_jsx(LoadingOverlay, {\n isLoading: isLoading && error == null,\n errorMessage: getErrorMessage(error)\n });\n }\n return /*#__PURE__*/_jsx(AuthComponent, {\n authConfigValues: authConfig,\n children: /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(LoginNotifier, {}), children]\n })\n });\n}\nexport default AuthBootstrap;\n//# sourceMappingURL=AuthBootstrap.js.map","/**\n * Get the base URL of the API\n * @param apiUrl API URL\n * @returns URL for the base of the API\n */\nexport function getBaseUrl(apiUrl) {\n return new URL(apiUrl, \"\".concat(window.location));\n}\n\n/**\n * Get the Envoy prefix header value\n * @returns Envoy prefix header value\n */\nexport function getEnvoyPrefix() {\n var searchParams = new URLSearchParams(window.location.search);\n return searchParams.get('envoyPrefix');\n}\nexport function getConnectOptions() {\n var envoyPrefix = getEnvoyPrefix();\n return envoyPrefix != null ? {\n headers: {\n 'envoy-prefix': envoyPrefix\n }\n } : {\n headers: {}\n };\n}\n//# sourceMappingURL=ConnectUtils.js.map","import React, { useContext } from 'react';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { FontsLoadedContext } from \"./FontBootstrap.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nexport function FontsLoaded(_ref) {\n var {\n children\n } = _ref;\n var isFontsLoaded = useContext(FontsLoadedContext);\n if (!isFontsLoaded) {\n return /*#__PURE__*/_jsx(LoadingOverlay, {\n \"data-testid\": \"fonts-loaded-loading\"\n });\n }\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children\n });\n}\nexport default FontsLoaded;\n//# sourceMappingURL=FontsLoaded.js.map","import React, { useContext } from 'react';\nimport { UserContext, UserOverrideContext, UserPermissionsOverrideContext, getUserFromConfig } from '@deephaven/auth-plugins';\nimport useServerConfig from \"./useServerConfig.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * UserBootstrap component. Derives the UserContext from the ServerConfigContext, UserOverrideContext, and UserPermissionsOverrideContext.\n */\nexport function UserBootstrap(_ref) {\n var {\n children\n } = _ref;\n var serverConfig = useServerConfig();\n var overrides = useContext(UserOverrideContext);\n var permissionsOverrides = useContext(UserPermissionsOverrideContext);\n var user = getUserFromConfig(serverConfig, overrides, permissionsOverrides);\n return /*#__PURE__*/_jsx(UserContext.Provider, {\n value: user,\n children: children\n });\n}\nexport default UserBootstrap;\n//# sourceMappingURL=UserBootstrap.js.map","import { ThemeProvider } from '@deephaven/components';\nimport { useContext, useMemo } from 'react';\nimport { getThemeDataFromPlugins } from \"../plugins/index.js\";\nimport { PluginsContext } from \"./PluginsBootstrap.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function ThemeBootstrap(_ref) {\n var {\n children\n } = _ref;\n // The `usePlugins` hook throws if the context value is null. Since this is\n // the state while plugins load asynchronously, we are using `useContext`\n // directly to avoid the exception.\n var pluginModules = useContext(PluginsContext);\n var themes = useMemo(() => pluginModules == null ? null : getThemeDataFromPlugins(pluginModules), [pluginModules]);\n return /*#__PURE__*/_jsx(ThemeProvider, {\n themes: themes,\n children: children\n });\n}\nexport default ThemeBootstrap;\n//# sourceMappingURL=ThemeBootstrap.js.map","import React, { useCallback, useMemo, useState } from 'react';\nimport '@deephaven/components/scss/BaseStyleSheet.scss';\nimport { ClientBootstrap } from '@deephaven/jsapi-bootstrap';\nimport { RefreshTokenBootstrap, useBroadcastLoginListener } from '@deephaven/jsapi-components';\nimport FontBootstrap from \"./FontBootstrap.js\";\nimport PluginsBootstrap from \"./PluginsBootstrap.js\";\nimport AuthBootstrap from \"./AuthBootstrap.js\";\nimport ConnectionBootstrap from \"./ConnectionBootstrap.js\";\nimport { getConnectOptions } from \"../utils/index.js\";\nimport FontsLoaded from \"./FontsLoaded.js\";\nimport UserBootstrap from \"./UserBootstrap.js\";\nimport ServerConfigBootstrap from \"./ServerConfigBootstrap.js\";\nimport ThemeBootstrap from \"./ThemeBootstrap.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * AppBootstrap component. Handles loading the fonts, client, and authentication.\n * Will display the children when everything is loaded and authenticated.\n */\nexport function AppBootstrap(_ref) {\n var {\n fontClassNames,\n pluginsUrl,\n getCorePlugins,\n serverUrl,\n children\n } = _ref;\n var clientOptions = useMemo(() => getConnectOptions(), []);\n\n // On logout, we reset the client and have user login again\n var [logoutCount, setLogoutCount] = useState(0);\n var onLogin = useCallback(() => undefined, []);\n var onLogout = useCallback(() => {\n setLogoutCount(value => value + 1);\n }, []);\n useBroadcastLoginListener(onLogin, onLogout);\n return /*#__PURE__*/_jsx(FontBootstrap, {\n fontClassNames: fontClassNames,\n children: /*#__PURE__*/_jsx(PluginsBootstrap, {\n getCorePlugins: getCorePlugins,\n pluginsUrl: pluginsUrl,\n children: /*#__PURE__*/_jsx(ThemeBootstrap, {\n children: /*#__PURE__*/_jsx(ClientBootstrap, {\n serverUrl: serverUrl,\n options: clientOptions,\n children: /*#__PURE__*/_jsx(RefreshTokenBootstrap, {\n children: /*#__PURE__*/_jsx(AuthBootstrap, {\n children: /*#__PURE__*/_jsx(ServerConfigBootstrap, {\n children: /*#__PURE__*/_jsx(UserBootstrap, {\n children: /*#__PURE__*/_jsx(ConnectionBootstrap, {\n children: /*#__PURE__*/_jsx(FontsLoaded, {\n children: children\n })\n })\n })\n })\n })\n })\n }, logoutCount)\n })\n })\n });\n}\nexport default AppBootstrap;\n//# sourceMappingURL=AppBootstrap.js.map"],"names":["FontsLoadedContext","createContext","FontBootstrap","_ref","fontClassNames","children","isLoaded","setIsLoaded","useState","useEffect","_jsxs","_Fragment","_jsx","className","requires","createRequires","resolve","RemoteComponent","createRemoteComponent","RemoteComponent$1","LoginNotifier","channel","useBroadcastChannel","makeMessage","BROADCAST_LOGIN_MESSAGE","asyncGeneratorStep","gen","reject","_next","_throw","key","arg","info","value","error","_asyncToGenerator","fn","self","args","err","CORE_AUTH_PLUGINS","AuthPluginParent","AuthPluginPsk","AuthPluginAnonymous","AuthBootstrap","client","useClient","plugins","useContext","PluginsContext","authConfig","setAuthConfig","setError","isCanceled","loadAuthConfigValues","_loadAuthConfigValues","newAuthConfigValues","e","AuthComponent","useMemo","getAuthPluginComponent","isLoading","LoadingOverlay","getErrorMessage","getBaseUrl","apiUrl","getEnvoyPrefix","searchParams","getConnectOptions","envoyPrefix","FontsLoaded","isFontsLoaded","UserBootstrap","serverConfig","useServerConfig","overrides","UserOverrideContext","permissionsOverrides","UserPermissionsOverrideContext","user","getUserFromConfig","UserContext","ThemeBootstrap","pluginModules","themes","getThemeDataFromPlugins","ThemeProvider","AppBootstrap","pluginsUrl","getCorePlugins","serverUrl","clientOptions","logoutCount","setLogoutCount","onLogin","useCallback","onLogout","useBroadcastLoginListener","PluginsBootstrap","ClientBootstrap","RefreshTokenBootstrap","ServerConfigBootstrap","ConnectionBootstrap"],"mappings":"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"}
1
+ {"version":3,"file":"index-22fa6865.js","sources":["../../../app-utils/dist/components/FontBootstrap.js","../../../app-utils/dist/plugins/RemoteComponent.js","../../../app-utils/dist/components/LoginNotifier.js","../../../app-utils/dist/components/AuthBootstrap.js","../../../app-utils/dist/utils/ConnectUtils.js","../../../app-utils/dist/components/FontsLoaded.js","../../../app-utils/dist/components/UserBootstrap.js","../../../app-utils/dist/components/ThemeBootstrap.js","../../../app-utils/dist/components/AppBootstrap.js"],"sourcesContent":["import React, { createContext, useEffect, useState } from 'react';\nimport 'fira';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nexport var FontsLoadedContext = /*#__PURE__*/createContext(false);\n/**\n * FontBootstrap component. Handles preloading fonts.\n */\nexport function FontBootstrap(_ref) {\n var {\n fontClassNames = ['fira-sans-regular', 'fira-sans-semibold', 'fira-mono'],\n children\n } = _ref;\n var [isLoaded, setIsLoaded] = useState(false);\n useEffect(function initFonts() {\n document.fonts.ready.then(() => {\n setIsLoaded(true);\n });\n }, []);\n return /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(FontsLoadedContext.Provider, {\n value: isLoaded,\n children: children\n }), /*#__PURE__*/_jsx(\"div\", {\n id: \"preload-fonts\",\n style: {\n visibility: 'hidden',\n position: 'absolute',\n top: -10000\n },\n children: fontClassNames.map(className => /*#__PURE__*/_jsx(\"p\", {\n className: className,\n children: \"preload\"\n }, className))\n })]\n });\n}\nexport default FontBootstrap;\n//# sourceMappingURL=FontBootstrap.js.map","import { createRemoteComponent, createRequires } from '@paciolan/remote-component';\nimport { resolve } from \"./remote-component.config.js\";\nvar requires = createRequires(() => resolve);\nexport var RemoteComponent = createRemoteComponent({\n requires\n});\nexport default RemoteComponent;\n//# sourceMappingURL=RemoteComponent.js.map","import { useBroadcastChannel } from '@deephaven/jsapi-components';\nimport { BROADCAST_LOGIN_MESSAGE, makeMessage } from '@deephaven/jsapi-utils';\nimport { useEffect } from 'react';\n\n/**\n * Component that broadcasts a message when mounted. Should be mounted after the user has logged in.\n */\nexport function LoginNotifier() {\n var channel = useBroadcastChannel();\n useEffect(function notifyLogin() {\n channel.postMessage(makeMessage(BROADCAST_LOGIN_MESSAGE));\n }, [channel]);\n return null;\n}\nexport default LoginNotifier;\n//# sourceMappingURL=LoginNotifier.js.map","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { AuthPluginAnonymous, AuthPluginParent, AuthPluginPsk } from '@deephaven/auth-plugins';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { useClient } from '@deephaven/jsapi-bootstrap';\nimport { getErrorMessage } from '@deephaven/utils';\nimport { PluginsContext } from \"./PluginsBootstrap.js\";\nimport { getAuthPluginComponent } from \"../plugins/index.js\";\nimport LoginNotifier from \"./LoginNotifier.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n/** Core auth plugins that are always loaded */\nvar CORE_AUTH_PLUGINS = new Map([['@deephaven/auth-plugins.AuthPluginParent', {\n AuthPlugin: AuthPluginParent\n}], ['@deephaven/auth-plugins.AuthPluginPsk', {\n AuthPlugin: AuthPluginPsk\n}], ['@deephaven/auth-plugins.AuthPluginAnonymous', {\n AuthPlugin: AuthPluginAnonymous\n}]]);\n\n/**\n * AuthBootstrap component. Handles displaying the auth plugin and authenticating.\n */\nexport function AuthBootstrap(_ref) {\n var {\n children\n } = _ref;\n var client = useClient();\n // `useContext` instead of `usePlugins` so that we don't have to wait for the plugins to load\n // We want to load the auth config values in parallel with the plugins\n var plugins = useContext(PluginsContext);\n var [authConfig, setAuthConfig] = useState();\n var [error, setError] = useState();\n useEffect(function initAuthConfigValues() {\n var isCanceled = false;\n function loadAuthConfigValues() {\n return _loadAuthConfigValues.apply(this, arguments);\n }\n function _loadAuthConfigValues() {\n _loadAuthConfigValues = _asyncToGenerator(function* () {\n try {\n var newAuthConfigValues = yield client.getAuthConfigValues();\n if (!isCanceled) {\n setAuthConfig(new Map(newAuthConfigValues));\n }\n } catch (e) {\n if (!isCanceled) {\n setError(e);\n }\n }\n });\n return _loadAuthConfigValues.apply(this, arguments);\n }\n loadAuthConfigValues();\n return () => {\n isCanceled = true;\n };\n }, [client]);\n var AuthComponent = useMemo(() => {\n if (plugins == null || authConfig == null) {\n return undefined;\n }\n try {\n return getAuthPluginComponent(plugins, authConfig, CORE_AUTH_PLUGINS);\n } catch (e) {\n setError(e);\n }\n }, [authConfig, plugins]);\n var isLoading = AuthComponent == null || authConfig == null;\n if (isLoading || error != null) {\n return /*#__PURE__*/_jsx(LoadingOverlay, {\n isLoading: isLoading && error == null,\n errorMessage: getErrorMessage(error)\n });\n }\n return /*#__PURE__*/_jsx(AuthComponent, {\n authConfigValues: authConfig,\n children: /*#__PURE__*/_jsxs(_Fragment, {\n children: [/*#__PURE__*/_jsx(LoginNotifier, {}), children]\n })\n });\n}\nexport default AuthBootstrap;\n//# sourceMappingURL=AuthBootstrap.js.map","/**\n * Get the base URL of the API\n * @param apiUrl API URL\n * @returns URL for the base of the API\n */\nexport function getBaseUrl(apiUrl) {\n return new URL(apiUrl, \"\".concat(window.location));\n}\n\n/**\n * Get the Envoy prefix header value\n * @returns Envoy prefix header value\n */\nexport function getEnvoyPrefix() {\n var searchParams = new URLSearchParams(window.location.search);\n return searchParams.get('envoyPrefix');\n}\nexport function getConnectOptions() {\n var envoyPrefix = getEnvoyPrefix();\n return envoyPrefix != null ? {\n headers: {\n 'envoy-prefix': envoyPrefix\n }\n } : {\n headers: {}\n };\n}\n//# sourceMappingURL=ConnectUtils.js.map","import React, { useContext } from 'react';\nimport { LoadingOverlay } from '@deephaven/components';\nimport { FontsLoadedContext } from \"./FontBootstrap.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Fragment as _Fragment } from \"react/jsx-runtime\";\nexport function FontsLoaded(_ref) {\n var {\n children\n } = _ref;\n var isFontsLoaded = useContext(FontsLoadedContext);\n if (!isFontsLoaded) {\n return /*#__PURE__*/_jsx(LoadingOverlay, {\n \"data-testid\": \"fonts-loaded-loading\"\n });\n }\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return /*#__PURE__*/_jsx(_Fragment, {\n children: children\n });\n}\nexport default FontsLoaded;\n//# sourceMappingURL=FontsLoaded.js.map","import React, { useContext } from 'react';\nimport { UserContext, UserOverrideContext, UserPermissionsOverrideContext, getUserFromConfig } from '@deephaven/auth-plugins';\nimport useServerConfig from \"./useServerConfig.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * UserBootstrap component. Derives the UserContext from the ServerConfigContext, UserOverrideContext, and UserPermissionsOverrideContext.\n */\nexport function UserBootstrap(_ref) {\n var {\n children\n } = _ref;\n var serverConfig = useServerConfig();\n var overrides = useContext(UserOverrideContext);\n var permissionsOverrides = useContext(UserPermissionsOverrideContext);\n var user = getUserFromConfig(serverConfig, overrides, permissionsOverrides);\n return /*#__PURE__*/_jsx(UserContext.Provider, {\n value: user,\n children: children\n });\n}\nexport default UserBootstrap;\n//# sourceMappingURL=UserBootstrap.js.map","import { ThemeProvider } from '@deephaven/components';\nimport { useContext, useMemo } from 'react';\nimport { getThemeDataFromPlugins } from \"../plugins/index.js\";\nimport { PluginsContext } from \"./PluginsBootstrap.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function ThemeBootstrap(_ref) {\n var {\n children\n } = _ref;\n // The `usePlugins` hook throws if the context value is null. Since this is\n // the state while plugins load asynchronously, we are using `useContext`\n // directly to avoid the exception.\n var pluginModules = useContext(PluginsContext);\n var themes = useMemo(() => pluginModules == null ? null : getThemeDataFromPlugins(pluginModules), [pluginModules]);\n return /*#__PURE__*/_jsx(ThemeProvider, {\n themes: themes,\n children: children\n });\n}\nexport default ThemeBootstrap;\n//# sourceMappingURL=ThemeBootstrap.js.map","import React, { useCallback, useMemo, useState } from 'react';\nimport '@deephaven/components/scss/BaseStyleSheet.scss';\nimport { ClientBootstrap } from '@deephaven/jsapi-bootstrap';\nimport { RefreshTokenBootstrap, useBroadcastLoginListener } from '@deephaven/jsapi-components';\nimport FontBootstrap from \"./FontBootstrap.js\";\nimport PluginsBootstrap from \"./PluginsBootstrap.js\";\nimport AuthBootstrap from \"./AuthBootstrap.js\";\nimport ConnectionBootstrap from \"./ConnectionBootstrap.js\";\nimport { getConnectOptions } from \"../utils/index.js\";\nimport FontsLoaded from \"./FontsLoaded.js\";\nimport UserBootstrap from \"./UserBootstrap.js\";\nimport ServerConfigBootstrap from \"./ServerConfigBootstrap.js\";\nimport ThemeBootstrap from \"./ThemeBootstrap.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * AppBootstrap component. Handles loading the fonts, client, and authentication.\n * Will display the children when everything is loaded and authenticated.\n */\nexport function AppBootstrap(_ref) {\n var {\n fontClassNames,\n pluginsUrl,\n getCorePlugins,\n serverUrl,\n children\n } = _ref;\n var clientOptions = useMemo(() => getConnectOptions(), []);\n\n // On logout, we reset the client and have user login again\n var [logoutCount, setLogoutCount] = useState(0);\n var onLogin = useCallback(() => undefined, []);\n var onLogout = useCallback(() => {\n setLogoutCount(value => value + 1);\n }, []);\n useBroadcastLoginListener(onLogin, onLogout);\n return /*#__PURE__*/_jsx(FontBootstrap, {\n fontClassNames: fontClassNames,\n children: /*#__PURE__*/_jsx(PluginsBootstrap, {\n getCorePlugins: getCorePlugins,\n pluginsUrl: pluginsUrl,\n children: /*#__PURE__*/_jsx(ThemeBootstrap, {\n children: /*#__PURE__*/_jsx(ClientBootstrap, {\n serverUrl: serverUrl,\n options: clientOptions,\n children: /*#__PURE__*/_jsx(RefreshTokenBootstrap, {\n children: /*#__PURE__*/_jsx(AuthBootstrap, {\n children: /*#__PURE__*/_jsx(ServerConfigBootstrap, {\n children: /*#__PURE__*/_jsx(UserBootstrap, {\n children: /*#__PURE__*/_jsx(ConnectionBootstrap, {\n children: /*#__PURE__*/_jsx(FontsLoaded, {\n children: children\n })\n })\n })\n })\n })\n })\n }, logoutCount)\n })\n })\n });\n}\nexport default AppBootstrap;\n//# sourceMappingURL=AppBootstrap.js.map"],"names":["FontsLoadedContext","createContext","FontBootstrap","_ref","fontClassNames","children","isLoaded","setIsLoaded","useState","useEffect","_jsxs","_Fragment","_jsx","className","requires","createRequires","resolve","RemoteComponent","createRemoteComponent","RemoteComponent$1","LoginNotifier","channel","useBroadcastChannel","makeMessage","BROADCAST_LOGIN_MESSAGE","asyncGeneratorStep","gen","reject","_next","_throw","key","arg","info","value","error","_asyncToGenerator","fn","self","args","err","CORE_AUTH_PLUGINS","AuthPluginParent","AuthPluginPsk","AuthPluginAnonymous","AuthBootstrap","client","useClient","plugins","useContext","PluginsContext","authConfig","setAuthConfig","setError","isCanceled","loadAuthConfigValues","_loadAuthConfigValues","newAuthConfigValues","e","AuthComponent","useMemo","getAuthPluginComponent","isLoading","LoadingOverlay","getErrorMessage","getBaseUrl","apiUrl","getEnvoyPrefix","searchParams","getConnectOptions","envoyPrefix","FontsLoaded","isFontsLoaded","UserBootstrap","serverConfig","useServerConfig","overrides","UserOverrideContext","permissionsOverrides","UserPermissionsOverrideContext","user","getUserFromConfig","UserContext","ThemeBootstrap","pluginModules","themes","getThemeDataFromPlugins","ThemeProvider","AppBootstrap","pluginsUrl","getCorePlugins","serverUrl","clientOptions","logoutCount","setLogoutCount","onLogin","useCallback","onLogout","useBroadcastLoginListener","PluginsBootstrap","ClientBootstrap","RefreshTokenBootstrap","ServerConfigBootstrap","ConnectionBootstrap"],"mappings":"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"}