Description
DatetimeSlider, DateSlider and DatetimeRangeSlider render an empty container when served via pn.serve (Bokeh server): the widget's DOM node exists and the slider title/label renders, but the slider track itself never appears — there is nothing to drag. IntSlider / DiscreteSlider render fine on the same page.
No JS console errors are logged; BokehJS reports Bokeh items were rendered successfully.
Versions tested (all reproduce)
| panel |
bokeh |
python |
OS |
| 1.9.4 |
3.8.1 |
3.12 |
macOS arm64 |
| 1.9.4 |
3.9.2 |
3.12 |
macOS arm64 |
| 1.8.4 |
3.8.1 |
3.12 |
macOS arm64 |
(panel 1.9.4 requires bokeh>=3.7.0,<3.10.0, so bokeh 3.10 is unreachable with current panel.)
Minimal repro
from datetime import datetime
import panel as pn
pn.extension()
slider = pn.widgets.DatetimeSlider(
name="t",
start=datetime(2026, 8, 21, 8, 45),
end=datetime(2026, 8, 21, 13, 30),
value=datetime(2026, 8, 21, 8, 45),
)
pn.serve(slider, port=5203, show=True)
Verification (browser devtools)
// shadow-DOM piercing query:
const collect = (root, out) => {
for (const e of root.querySelectorAll("*")) { out.push(e); if (e.shadowRoot) collect(e.shadowRoot, out); }
return out;
};
const dt = collect(document, []).find(e => typeof e.className === "string" && e.className.includes("-DatetimeSlider"));
dt.children.length // → 0
dt.outerHTML.length // → 66 (just the empty <div class="bk-panel-models-datetime_slider-DatetimeSlider"></div>)
The slider title element (bk-slider-title) does render, which makes the widget look present — but the noUi track/handles are never attached, so it cannot be interacted with.
Expected behavior
An interactive date slider, as IntSlider/DiscreteSlider behave on the same page.
Workaround
DiscreteSlider with string options (e.g. HH:MM labels mapped to timestamps) works correctly.
Description
DatetimeSlider,DateSliderandDatetimeRangeSliderrender an empty container when served viapn.serve(Bokeh server): the widget's DOM node exists and the slider title/label renders, but the slider track itself never appears — there is nothing to drag.IntSlider/DiscreteSliderrender fine on the same page.No JS console errors are logged; BokehJS reports
Bokeh items were rendered successfully.Versions tested (all reproduce)
(panel 1.9.4 requires
bokeh>=3.7.0,<3.10.0, so bokeh 3.10 is unreachable with current panel.)Minimal repro
Verification (browser devtools)
The slider title element (
bk-slider-title) does render, which makes the widget look present — but the noUi track/handles are never attached, so it cannot be interacted with.Expected behavior
An interactive date slider, as
IntSlider/DiscreteSliderbehave on the same page.Workaround
DiscreteSliderwith string options (e.g.HH:MMlabels mapped to timestamps) works correctly.