Skip to content

Commit 076d50d

Browse files
committed
Changes for marimo
1 parent abc1c73 commit 076d50d

File tree

3 files changed

+249
-14
lines changed

3 files changed

+249
-14
lines changed

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ linting = []
9090
notebook = [
9191
'spatialdata>=0.3.0',
9292
'dask[dataframe]==2024.11.1',
93+
'marimo',
94+
'starlette>=0.42.0',
9395
]
9496
demos = [
9597
"pulp==2.7.0",
@@ -115,9 +117,7 @@ dev = [
115117

116118
[tool.uv]
117119
default-groups = ["dev"]
118-
override-dependencies = [
119-
'starlette==0.14.0'
120-
]
120+
override-dependencies = []
121121

122122
[tool.hatch.build]
123123
exclude = [".github", "docs", "demos", "binder"]

src/vitessce/widget.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ def get_uid_str(uid):
416416
}
417417
418418
function VitessceWidget(props) {
419-
const { model } = props;
419+
const { model, styleContainer } = props;
420420
421421
const [config, setConfig] = React.useState(prependBaseUrl(model.get('config'), model.get('proxy'), model.get('has_host_name')));
422422
const [validateConfig, setValidateConfig] = React.useState(true);
@@ -480,7 +480,7 @@ def get_uid_str(uid):
480480
height, theme, config, onConfigChange, validateConfig,
481481
pluginViewTypes, pluginCoordinationTypes,
482482
pluginFileTypes,pluginJointFileTypes, pluginAsyncFunctions,
483-
remountOnUidChange, stores, pageMode,
483+
remountOnUidChange, stores, pageMode, styleContainer,
484484
};
485485
486486
return e('div', { ref: divRef, style: { height: height + 'px' } },
@@ -495,7 +495,10 @@ def get_uid_str(uid):
495495
}
496496
497497
const root = createRoot(view.el);
498-
root.render(e(VitessceWidget, { model: view.model }));
498+
// Marimo puts AnyWidgets in a Shadow Root, so we need to tell Emotion to
499+
// insert styles within the Shadow DOM.
500+
const styleContainer = view.el.getRootNode();
501+
root.render(e(VitessceWidget, { model: view.model, styleContainer }));
499502
500503
return () => {
501504
// Re-enable scrolling.

0 commit comments

Comments
 (0)