@datalayer/jupyter-react 1.1.5 → 1.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.js +3 -5
- package/lib/components/notebook/cell/sidebar/CellSidebarExtension.js.map +1 -1
- package/lib/examples/NotebookThemeColormode.js +2 -2
- package/lib/examples/NotebookThemeColormode.js.map +1 -1
- package/lib/state/JupyterReactState.d.ts +9 -0
- package/lib/state/JupyterReactState.js +6 -0
- package/lib/state/JupyterReactState.js.map +1 -1
- package/lib/theme/JupyterPalette.d.ts +1 -0
- package/lib/theme/JupyterPalette.js +22 -0
- package/lib/theme/JupyterPalette.js.map +1 -0
- package/lib/theme/JupyterReactTheme.d.ts +9 -1
- package/lib/theme/JupyterReactTheme.js +62 -10
- package/lib/theme/JupyterReactTheme.js.map +1 -1
- package/lib/theme/index.d.ts +1 -0
- package/lib/theme/index.js +4 -1
- package/lib/theme/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -9,7 +9,6 @@ class CellSidebarFactory {
|
|
|
9
9
|
nbgrader;
|
|
10
10
|
sidebarWidth;
|
|
11
11
|
factory;
|
|
12
|
-
colormode;
|
|
13
12
|
_isDisposed = false;
|
|
14
13
|
_sidebars = new WeakMap();
|
|
15
14
|
/**
|
|
@@ -22,13 +21,12 @@ class CellSidebarFactory {
|
|
|
22
21
|
* @param factory React component factory
|
|
23
22
|
* @param colormode Color mode for the theme
|
|
24
23
|
*/
|
|
25
|
-
constructor(panel, commands, nbgrader = false, sidebarWidth = 120, factory = CellSidebar
|
|
24
|
+
constructor(panel, commands, nbgrader = false, sidebarWidth = 120, factory = CellSidebar) {
|
|
26
25
|
this.panel = panel;
|
|
27
26
|
this.commands = commands;
|
|
28
27
|
this.nbgrader = nbgrader;
|
|
29
28
|
this.sidebarWidth = sidebarWidth;
|
|
30
29
|
this.factory = factory;
|
|
31
|
-
this.colormode = colormode;
|
|
32
30
|
this._onModelChanged(panel.content);
|
|
33
31
|
panel.content.modelChanged.connect(this._onModelChanged, this);
|
|
34
32
|
}
|
|
@@ -48,7 +46,7 @@ class CellSidebarFactory {
|
|
|
48
46
|
const cell = this._getCell(model);
|
|
49
47
|
if (cell) {
|
|
50
48
|
const SidebarFactory = this.factory;
|
|
51
|
-
const sidebar = ReactWidget.create(_jsx(JupyterReactTheme, {
|
|
49
|
+
const sidebar = ReactWidget.create(_jsx(JupyterReactTheme, { children: _jsx(SidebarFactory, { commands: this.commands, model: model, nbgrader: this.nbgrader }) }));
|
|
52
50
|
// Position sidebar wrapper
|
|
53
51
|
sidebar.node.style.width = `${this.sidebarWidth}px`;
|
|
54
52
|
sidebar.node.style.position = 'absolute';
|
|
@@ -116,7 +114,7 @@ export class CellSidebarExtension {
|
|
|
116
114
|
// We assume the extension was either created within JupyterLab passing
|
|
117
115
|
// the app commands registry or through Datalayer workflow that set it
|
|
118
116
|
// when calling `init`.
|
|
119
|
-
const sidebar = new CellSidebarFactory(panel, this.commands, this.nbgrader, this.sidebarWidth, this.factory
|
|
117
|
+
const sidebar = new CellSidebarFactory(panel, this.commands, this.nbgrader, this.sidebarWidth, this.factory);
|
|
120
118
|
return sidebar;
|
|
121
119
|
}
|
|
122
120
|
init(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CellSidebarExtension.js","sourceRoot":"","sources":["../../../../../src/components/notebook/cell/sidebar/CellSidebarExtension.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOnD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAA0B,MAAM,eAAe,CAAC;AAKpE,OAAO,EAAE,iBAAiB,EAAa,MAAM,mBAAmB,CAAC;AAEjE,MAAM,kBAAkB;IAeV;IACA;IACA;IACA;IACA;
|
|
1
|
+
{"version":3,"file":"CellSidebarExtension.js","sourceRoot":"","sources":["../../../../../src/components/notebook/cell/sidebar/CellSidebarExtension.tsx"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ const NotebookThemeColormode = () => {
|
|
|
19
19
|
const [theme, setTheme] = useState(jupyterLabTheme);
|
|
20
20
|
const [isThemeOn, setIsThemeOn] = useState(false);
|
|
21
21
|
const [isOn, setIsOn] = useState(false);
|
|
22
|
-
const extensions = useMemo(() => [new CellSidebarExtension(
|
|
22
|
+
const extensions = useMemo(() => [new CellSidebarExtension()], [colormode]);
|
|
23
23
|
useEffect(() => {
|
|
24
24
|
if (isThemeOn) {
|
|
25
25
|
setTheme(primerTheme);
|
|
@@ -48,7 +48,7 @@ const NotebookThemeColormode = () => {
|
|
|
48
48
|
const handleSwitchChange = useCallback((on) => {
|
|
49
49
|
setIsOn(on);
|
|
50
50
|
}, []);
|
|
51
|
-
return (_jsx(_Fragment, { children: _jsxs(JupyterReactTheme, { theme: theme,
|
|
51
|
+
return (_jsx(_Fragment, { children: _jsxs(JupyterReactTheme, { theme: theme, children: [_jsxs(Box, { display: "flex", children: [_jsxs(Box, { mr: 3, children: [_jsx(Text, { fontSize: 2, fontWeight: "bold", id: "switch-label", display: "block", mb: 1, children: "Primer Theme" }), _jsx(ToggleSwitch, { size: "small", onClick: onThemeClick, onChange: handleThemeSwitchChange, checked: isThemeOn, statusLabelPosition: "end", "aria-labelledby": "switch-label-theme" })] }), _jsxs(Box, { children: [_jsxs(Text, { fontSize: 2, fontWeight: "bold", id: "switch-label", display: "block", mb: 1, children: [colormode === 'light' ? 'Light' : 'Dark', " Mode"] }), _jsx(ToggleSwitch, { size: "small", onClick: onClick, onChange: handleSwitchChange, checked: isOn, statusLabelPosition: "end", "aria-labelledby": "switch-label-color-mode" })] })] }), serviceManager && (_jsx(Notebook2, { nbformat: nbformat, serviceManager: serviceManager, startDefaultKernel: true, id: "notebook-model-id", height: "calc(100vh - 2.6rem)" // (Height - Toolbar Height).
|
|
52
52
|
, extensions: extensions, Toolbar: NotebookToolbar }))] }) }));
|
|
53
53
|
};
|
|
54
54
|
const div = document.createElement('div');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NotebookThemeColormode.js","sourceRoot":"","sources":["../../src/examples/NotebookThemeColormode.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAE/D,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAC;IACxC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAM,eAAe,CAAC,CAAC;IACzD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"NotebookThemeColormode.js","sourceRoot":"","sources":["../../src/examples/NotebookThemeColormode.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ServiceManager, Kernel as JupyterKernel, Session } from '@jupyterlab/services';
|
|
2
2
|
import { JupyterPropsType } from '../jupyter';
|
|
3
|
+
import { JupyterLabAppAdapter } from '../components/jupyterlab';
|
|
3
4
|
import { Kernel } from '../jupyter/kernel/Kernel';
|
|
4
5
|
import { IJupyterConfig } from '../jupyter/JupyterConfig';
|
|
5
6
|
import { CellsState } from '../components/cell/CellState';
|
|
@@ -24,6 +25,14 @@ export type JupyterReactState = {
|
|
|
24
25
|
terminalStore: TerminalState;
|
|
25
26
|
version: string;
|
|
26
27
|
colormode: Colormode;
|
|
28
|
+
/**
|
|
29
|
+
* JupyterLabApp adapter.
|
|
30
|
+
*/
|
|
31
|
+
jupyterLabAdapter?: JupyterLabAppAdapter;
|
|
32
|
+
/**
|
|
33
|
+
* Set the JupyterLabAdapter.
|
|
34
|
+
*/
|
|
35
|
+
setJupyterLabAdapter: (jupyterLabAdapter: JupyterLabAppAdapter) => void;
|
|
27
36
|
setJupyterConfig: (configuration?: IJupyterConfig) => void;
|
|
28
37
|
setServiceManager: (serviceManager?: ServiceManager.IManager) => void;
|
|
29
38
|
setVersion: (version: string) => void;
|
|
@@ -7,6 +7,7 @@ import { useEffect, useState, useMemo } from 'react';
|
|
|
7
7
|
import { createStore } from 'zustand/vanilla';
|
|
8
8
|
import { useStore } from 'zustand';
|
|
9
9
|
import { ServiceManager, } from '@jupyterlab/services';
|
|
10
|
+
import { setupPrimerPortals } from '@datalayer/primer-addons';
|
|
10
11
|
import { getJupyterServerUrl, createLiteServiceManager, ensureJupyterAuth, createServerSettings, DEFAULT_KERNEL_NAME, } from '../jupyter';
|
|
11
12
|
import { ServiceManagerLess } from '../jupyter/services';
|
|
12
13
|
import { Kernel } from '../jupyter/kernel/Kernel';
|
|
@@ -19,6 +20,7 @@ import { terminalStore, } from '../components/terminal/TerminalState';
|
|
|
19
20
|
export const jupyterReactStore = createStore((set, get) => ({
|
|
20
21
|
collaborative: false,
|
|
21
22
|
version: '',
|
|
23
|
+
jupyterLabAdapter: undefined,
|
|
22
24
|
jupyterConfig: undefined,
|
|
23
25
|
kernelIsLoading: true,
|
|
24
26
|
kernel: undefined,
|
|
@@ -30,6 +32,9 @@ export const jupyterReactStore = createStore((set, get) => ({
|
|
|
30
32
|
outputStore: outputsStore.getState(),
|
|
31
33
|
terminalStore: terminalStore.getState(),
|
|
32
34
|
colormode: 'light',
|
|
35
|
+
setJupyterLabAdapter: (jupyterLabAdapter) => {
|
|
36
|
+
set(state => ({ jupyterLabAdapter }));
|
|
37
|
+
},
|
|
33
38
|
setJupyterConfig: (jupyterConfig) => {
|
|
34
39
|
set(state => ({ jupyterConfig }));
|
|
35
40
|
},
|
|
@@ -42,6 +47,7 @@ export const jupyterReactStore = createStore((set, get) => ({
|
|
|
42
47
|
}
|
|
43
48
|
},
|
|
44
49
|
setColormode: colormode => {
|
|
50
|
+
setupPrimerPortals(colormode);
|
|
45
51
|
set(state => ({ colormode }));
|
|
46
52
|
},
|
|
47
53
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterReactState.js","sourceRoot":"","sources":["../../src/state/JupyterReactState.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,cAAc,GAGf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EAEpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"JupyterReactState.js","sourceRoot":"","sources":["../../src/state/JupyterReactState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const jpCssToColor: (cssVariableName: string) => any;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
3
|
+
*
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
/*
|
|
7
|
+
* Copyright (c) 2023-2025 Datalayer, Inc.
|
|
8
|
+
* Distributed under the terms of the Modified BSD License.
|
|
9
|
+
*/
|
|
10
|
+
const JUPYTERLAB_COLLABORATORS_COLORS = {
|
|
11
|
+
'--jp-collaborator-color1': '#ffad8e',
|
|
12
|
+
'--jp-collaborator-color2': '#dac83d',
|
|
13
|
+
'--jp-collaborator-color3': '#72dd76',
|
|
14
|
+
'--jp-collaborator-color4': '#00e4d0',
|
|
15
|
+
'--jp-collaborator-color5': '#45d4ff',
|
|
16
|
+
'--jp-collaborator-color6': '#e2b1ff',
|
|
17
|
+
'--jp-collaborator-color7': '#ff9de6',
|
|
18
|
+
};
|
|
19
|
+
export const jpCssToColor = (cssVariableName) => {
|
|
20
|
+
return JUPYTERLAB_COLLABORATORS_COLORS[cssVariableName.replaceAll('var(', '').replaceAll(')', '')];
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=JupyterPalette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JupyterPalette.js","sourceRoot":"","sources":["../../src/theme/JupyterPalette.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AAEH,MAAM,+BAA+B,GAAG;IACtC,0BAA0B,EAAE,SAAS;IACrC,0BAA0B,EAAE,SAAS;IACrC,0BAA0B,EAAE,SAAS;IACrC,0BAA0B,EAAE,SAAS;IACrC,0BAA0B,EAAE,SAAS;IACrC,0BAA0B,EAAE,SAAS;IACrC,0BAA0B,EAAE,SAAS;CACtC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,eAAuB,EAAE,EAAE;IACtD,OAAQ,+BAAuC,CAC7C,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAC3D,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { CSSProperties } from 'react';
|
|
2
2
|
import { Colormode } from '../theme';
|
|
3
3
|
import '@primer/primitives/dist/css/functional/themes/light.css';
|
|
4
4
|
import '@primer/primitives/dist/css/functional/themes/dark.css';
|
|
@@ -15,6 +15,14 @@ type IJupyterLabThemeProps = {
|
|
|
15
15
|
colormode?: Colormode;
|
|
16
16
|
loadJupyterLabCss?: boolean;
|
|
17
17
|
theme?: Record<string, any>;
|
|
18
|
+
/**
|
|
19
|
+
* Base styles
|
|
20
|
+
*/
|
|
21
|
+
baseStyles?: CSSProperties;
|
|
18
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* ThemeProvider component changing color mode with JupyterLab theme
|
|
25
|
+
* if embedded in Jupyter or with the browser color scheme preference.
|
|
26
|
+
*/
|
|
19
27
|
export declare function JupyterReactTheme(props: React.PropsWithChildren<IJupyterLabThemeProps>): JSX.Element;
|
|
20
28
|
export default JupyterReactTheme;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
/*
|
|
3
3
|
* Copyright (c) 2021-2023 Datalayer, Inc.
|
|
4
4
|
*
|
|
5
5
|
* MIT License
|
|
6
6
|
*/
|
|
7
|
-
import { createContext, useContext, useEffect, useState } from 'react';
|
|
7
|
+
import { createContext, useContext, useEffect, useState, } from 'react';
|
|
8
8
|
import { BaseStyles, ThemeProvider } from '@primer/react';
|
|
9
|
+
import { setupPrimerPortals } from '@datalayer/primer-addons';
|
|
9
10
|
import { JupyterLabCss, jupyterLabTheme } from '../theme';
|
|
11
|
+
import { loadJupyterConfig } from '../jupyter';
|
|
10
12
|
import { useJupyterReactStore } from '../state';
|
|
11
13
|
import '@primer/primitives/dist/css/functional/themes/light.css';
|
|
12
14
|
import '@primer/primitives/dist/css/functional/themes/dark.css';
|
|
@@ -28,21 +30,71 @@ export function useJupyterReactColormode() {
|
|
|
28
30
|
}
|
|
29
31
|
return colormode;
|
|
30
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* ThemeProvider component changing color mode with JupyterLab theme
|
|
35
|
+
* if embedded in Jupyter or with the browser color scheme preference.
|
|
36
|
+
*/
|
|
31
37
|
export function JupyterReactTheme(props) {
|
|
32
|
-
const { children, colormode: colormodeProps = 'light', loadJupyterLabCss = true, theme = jupyterLabTheme, } = props;
|
|
38
|
+
const { children, colormode: colormodeProps = 'light', loadJupyterLabCss = true, theme = jupyterLabTheme, ...rest } = props;
|
|
39
|
+
const { colormode: colormodeFromStore, jupyterLabAdapter } = useJupyterReactStore();
|
|
33
40
|
const [colormode, setColormode] = useState(colormodeProps);
|
|
34
|
-
const
|
|
41
|
+
const [inJupyterLab, setInJupterLab] = useState(undefined);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
const { insideJupyterLab } = loadJupyterConfig();
|
|
44
|
+
setInJupterLab(insideJupyterLab);
|
|
45
|
+
}, []);
|
|
35
46
|
useEffect(() => {
|
|
36
|
-
|
|
37
|
-
|
|
47
|
+
if (colormodeFromStore !== colormode) {
|
|
48
|
+
setColormode(colormodeFromStore);
|
|
49
|
+
}
|
|
50
|
+
}, [colormodeFromStore, inJupyterLab]);
|
|
38
51
|
useEffect(() => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
52
|
+
if (inJupyterLab !== undefined) {
|
|
53
|
+
function colorSchemeFromMedia({ matches }) {
|
|
54
|
+
/*
|
|
55
|
+
// TODO manage the case where user change the colormode
|
|
56
|
+
const colormode = matches ? 'dark' : 'light';
|
|
57
|
+
setColormode(colormode);
|
|
58
|
+
setupPrimerPortals(colormode);
|
|
59
|
+
*/
|
|
60
|
+
}
|
|
61
|
+
function updateColorMode(themeManager) {
|
|
62
|
+
const colormode = themeManager.theme && !themeManager.isLight(themeManager.theme)
|
|
63
|
+
? 'dark'
|
|
64
|
+
: 'light';
|
|
65
|
+
setColormode(colormode);
|
|
66
|
+
setupPrimerPortals(colormode);
|
|
67
|
+
}
|
|
68
|
+
if (inJupyterLab) {
|
|
69
|
+
const themeManager = jupyterLabAdapter?.service('@jupyterlab/apputils-extension:themes');
|
|
70
|
+
if (themeManager) {
|
|
71
|
+
updateColorMode(themeManager);
|
|
72
|
+
themeManager.themeChanged.connect(updateColorMode);
|
|
73
|
+
return () => {
|
|
74
|
+
themeManager.themeChanged.disconnect(updateColorMode);
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
colorSchemeFromMedia({
|
|
80
|
+
matches: window.matchMedia('(prefers-color-scheme: dark)').matches,
|
|
81
|
+
});
|
|
82
|
+
window
|
|
83
|
+
.matchMedia('(prefers-color-scheme: dark)')
|
|
84
|
+
.addEventListener('change', colorSchemeFromMedia);
|
|
85
|
+
return () => {
|
|
86
|
+
window
|
|
87
|
+
.matchMedia('(prefers-color-scheme: dark)')
|
|
88
|
+
.removeEventListener('change', colorSchemeFromMedia);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}, [inJupyterLab, jupyterLabAdapter]);
|
|
93
|
+
return inJupyterLab !== undefined ? (_jsxs(JupyterReactColormodeContext.Provider, { value: colormode, children: [loadJupyterLabCss && _jsx(JupyterLabCss, { colormode: colormode }), _jsx(ThemeProvider, { colorMode: colormode, theme: theme, dayScheme: "light", nightScheme: "dark", children: _jsx(BaseStyles, { style: {
|
|
42
94
|
backgroundColor: 'var(--bgColor-default)',
|
|
43
95
|
color: 'var(--fgColor-default)',
|
|
44
96
|
fontSize: 'var(--text-body-size-medium)',
|
|
45
|
-
}, children: children }) })] }));
|
|
97
|
+
}, ...rest, children: children }) })] })) : (_jsx(_Fragment, {}));
|
|
46
98
|
}
|
|
47
99
|
export default JupyterReactTheme;
|
|
48
100
|
//# sourceMappingURL=JupyterReactTheme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JupyterReactTheme.js","sourceRoot":"","sources":["../../src/theme/JupyterReactTheme.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,
|
|
1
|
+
{"version":3,"file":"JupyterReactTheme.js","sourceRoot":"","sources":["../../src/theme/JupyterReactTheme.tsx"],"names":[],"mappings":"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"}
|
package/lib/theme/index.d.ts
CHANGED
package/lib/theme/index.js
CHANGED
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
export * from './themes';
|
|
7
|
-
// export * from './JupyterLabCssImports'; // Leave this commented otherwise webpack may break in consumers.
|
|
8
7
|
export * from './JupyterLabColormode';
|
|
9
8
|
export * from './JupyterLabCss';
|
|
9
|
+
export * from './JupyterPalette';
|
|
10
10
|
export * from './JupyterReactTheme';
|
|
11
|
+
// Do NOT export JupyterLabCssImports here...
|
|
12
|
+
// !!! Leave this export commented otherwise webpack may break in consumers
|
|
13
|
+
// export * from './JupyterLabCssImports';
|
|
11
14
|
//# sourceMappingURL=index.js.map
|
package/lib/theme/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AAEzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AAEpC,6CAA6C;AAC7C,2EAA2E;AAC3E,0CAA0C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@datalayer/jupyter-react",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "Jupyter React - React.js components 100% compatible with Jupyter.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"@codemirror/lang-python": "^6.0.1",
|
|
70
70
|
"@codemirror/state": "^6.2.0",
|
|
71
71
|
"@codemirror/view": "^6.7.0",
|
|
72
|
-
"@datalayer/primer-addons": "^1.0.
|
|
72
|
+
"@datalayer/primer-addons": "^1.0.4",
|
|
73
73
|
"@jupyter-widgets/base": "^6.0.0",
|
|
74
74
|
"@jupyter-widgets/controls": "^5.0.0",
|
|
75
75
|
"@jupyter-widgets/html-manager": "^1.0.0",
|