@holoviz/panel 1.9.3 → 1.9.4-rc.2
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/dist/bundled/deckglplot/@deck.gl/carto@^9.1.14/dist.min.js +10 -10
- package/dist/bundled/notificationarea/panel/1.9.4-rc.2/dist/bundled/font-awesome/css/all.min.css +2 -0
- package/dist/bundled/panel/1.9.4-rc.2/dist/bundled/bootstrap5/css/bootstrap.min.css +2 -0
- package/dist/bundled/panel/1.9.4-rc.2/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +2 -0
- package/dist/bundled/panel/1.9.4-rc.2/dist/bundled/font-awesome/css/all.min.css +2 -0
- package/dist/bundled/panel/1.9.4-rc.2/dist/bundled/jquery/jquery.min.js +2 -0
- package/dist/bundled/theme/fast.css +1 -3
- package/dist/css/loading.css +14 -18
- package/dist/lib/models/feed.js +9 -1
- package/dist/lib/models/feed.js.map +1 -1
- package/dist/lib/models/layout.d.ts +32 -0
- package/dist/lib/models/layout.js +68 -25
- package/dist/lib/models/layout.js.map +1 -1
- package/dist/lib/models/progress.js +3 -0
- package/dist/lib/models/progress.js.map +1 -1
- package/dist/lib/models/react_component.d.ts +7 -0
- package/dist/lib/models/react_component.js +111 -29
- package/dist/lib/models/react_component.js.map +1 -1
- package/dist/lib/models/reactive_esm.d.ts +18 -1
- package/dist/lib/models/reactive_esm.js +31 -1
- package/dist/lib/models/reactive_esm.js.map +1 -1
- package/dist/lib/models/tabulator.d.ts +1 -0
- package/dist/lib/models/tabulator.js +14 -3
- package/dist/lib/models/tabulator.js.map +1 -1
- package/dist/lib/styles/loading.css.js +1 -1
- package/dist/panel.js +284 -103
- package/dist/panel.js.map +1 -1
- package/dist/panel.json +1 -1
- package/dist/panel.min.js +34 -34
- package/package.json +3 -3
- package/dist/bundled/notificationarea/panel/1.9.3/dist/bundled/font-awesome/css/all.min.css +0 -2
- package/dist/bundled/panel/1.9.3/dist/bundled/bootstrap5/css/bootstrap.min.css +0 -2
- package/dist/bundled/panel/1.9.3/dist/bundled/bootstrap5/js/bootstrap.bundle.min.js +0 -2
- package/dist/bundled/panel/1.9.3/dist/bundled/font-awesome/css/all.min.css +0 -2
- package/dist/bundled/panel/1.9.3/dist/bundled/jquery/jquery.min.js +0 -2
package/dist/panel.js
CHANGED
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
__esExport("CustomSelect", customselect_1.CustomSelect);
|
|
83
83
|
var multiselect_1 = require("27b5580835") /* ./multiselect */;
|
|
84
84
|
__esExport("CustomMultiSelect", multiselect_1.CustomMultiSelect);
|
|
85
|
-
var tabulator_1 = require("
|
|
85
|
+
var tabulator_1 = require("e0501f9786") /* ./tabulator */;
|
|
86
86
|
__esExport("DataTabulator", tabulator_1.DataTabulator);
|
|
87
87
|
var datetime_picker_1 = require("100965d6f3") /* ./datetime_picker */;
|
|
88
88
|
__esExport("DatetimePicker", datetime_picker_1.DatetimePicker);
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
__esExport("DiscretePlayer", discrete_player_1.DiscretePlayer);
|
|
95
95
|
var echarts_1 = require("ec1ecef6a0") /* ./echarts */;
|
|
96
96
|
__esExport("ECharts", echarts_1.ECharts);
|
|
97
|
-
var feed_1 = require("
|
|
97
|
+
var feed_1 = require("44a7ecdf96") /* ./feed */;
|
|
98
98
|
__esExport("Feed", feed_1.Feed);
|
|
99
99
|
var file_download_1 = require("84a13dddfb") /* ./file_download */;
|
|
100
100
|
__esExport("FileDownload", file_download_1.FileDownload);
|
|
@@ -124,17 +124,17 @@
|
|
|
124
124
|
__esExport("Player", player_1.Player);
|
|
125
125
|
var plotly_1 = require("59dbae0a77") /* ./plotly */;
|
|
126
126
|
__esExport("PlotlyPlot", plotly_1.PlotlyPlot);
|
|
127
|
-
var progress_1 = require("
|
|
127
|
+
var progress_1 = require("54e5f3767b") /* ./progress */;
|
|
128
128
|
__esExport("Progress", progress_1.Progress);
|
|
129
129
|
var quill_1 = require("a8f2a01dfe") /* ./quill */;
|
|
130
130
|
__esExport("QuillInput", quill_1.QuillInput);
|
|
131
131
|
var radio_button_group_1 = require("25e2d7c208") /* ./radio_button_group */;
|
|
132
132
|
__esExport("RadioButtonGroup", radio_button_group_1.RadioButtonGroup);
|
|
133
|
-
var react_component_1 = require("
|
|
133
|
+
var react_component_1 = require("b2c617bbc6") /* ./react_component */;
|
|
134
134
|
__esExport("ReactComponent", react_component_1.ReactComponent);
|
|
135
135
|
var reactive_html_1 = require("d5752cda5a") /* ./reactive_html */;
|
|
136
136
|
__esExport("ReactiveHTML", reactive_html_1.ReactiveHTML);
|
|
137
|
-
var reactive_esm_1 = require("
|
|
137
|
+
var reactive_esm_1 = require("1e7e12b23e") /* ./reactive_esm */;
|
|
138
138
|
__esExport("ReactiveESM", reactive_esm_1.ReactiveESM);
|
|
139
139
|
var singleselect_1 = require("4155401209") /* ./singleselect */;
|
|
140
140
|
__esExport("SingleSelect", singleselect_1.SingleSelect);
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
var _a;
|
|
175
175
|
__esModule();
|
|
176
176
|
const dom_1 = require("@bokehjs/core/dom");
|
|
177
|
-
const layout_1 = require("
|
|
177
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
178
178
|
const util_1 = require("aa07eb54cc") /* ./util */;
|
|
179
179
|
class AcePlotView extends layout_1.HTMLBoxView {
|
|
180
180
|
connect_signals() {
|
|
@@ -338,15 +338,51 @@
|
|
|
338
338
|
});
|
|
339
339
|
})();
|
|
340
340
|
},
|
|
341
|
-
"
|
|
341
|
+
"84236c2552": /* models/layout.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
342
342
|
__esModule();
|
|
343
|
+
exports.rerender_view = rerender_view;
|
|
343
344
|
exports.set_size = set_size;
|
|
344
345
|
const dom_1 = require("@bokehjs/core/dom");
|
|
345
346
|
const types_1 = require("@bokehjs/core/util/types");
|
|
346
347
|
const assert_1 = require("@bokehjs/core/util/assert");
|
|
347
348
|
const widget_1 = require("@bokehjs/models/widgets/widget");
|
|
348
349
|
const layout_dom_1 = require("@bokehjs/models/layouts/layout_dom");
|
|
350
|
+
/**
|
|
351
|
+
* Re-renders a view, including its layout.
|
|
352
|
+
*
|
|
353
|
+
* Bokeh's own `rerender` runs the whole render walk before `update_layout`,
|
|
354
|
+
* which is wrong for anything that is positioned by the layout: `render`
|
|
355
|
+
* re-parents annotation elements into the canvas layers and it is
|
|
356
|
+
* `update_layout` that moves them into their side panels. Measuring in
|
|
357
|
+
* between therefore caches a bbox for the container the element is about to
|
|
358
|
+
* leave, e.g. a legend measuring the full canvas width instead of its side
|
|
359
|
+
* panel. `compute_layout` then sizes the panel from that stale bbox and can
|
|
360
|
+
* squeeze the frame to zero, which poisons everything derived from it (for
|
|
361
|
+
* tile-based plots, a division by zero width puts NaN into the ranges with no
|
|
362
|
+
* recovery path). Updating the layout first means `after_render` measures
|
|
363
|
+
* elements where they will actually live.
|
|
364
|
+
*/
|
|
365
|
+
function rerender_view(view) {
|
|
366
|
+
if (view instanceof layout_dom_1.LayoutDOMView) {
|
|
367
|
+
view.render();
|
|
368
|
+
view.update_layout();
|
|
369
|
+
view.r_after_render();
|
|
370
|
+
view.compute_layout();
|
|
371
|
+
}
|
|
372
|
+
else if (view.rerender) {
|
|
373
|
+
// Can be removed when Bokeh>3.7 (see https://github.com/holoviz/panel/pull/7815)
|
|
374
|
+
view.rerender();
|
|
375
|
+
}
|
|
376
|
+
else {
|
|
377
|
+
view.render();
|
|
378
|
+
view.r_after_render();
|
|
379
|
+
}
|
|
380
|
+
}
|
|
349
381
|
class PanelMarkupView extends widget_1.WidgetView {
|
|
382
|
+
constructor() {
|
|
383
|
+
super(...arguments);
|
|
384
|
+
this._stylesheets_watcher = null;
|
|
385
|
+
}
|
|
350
386
|
connect_signals() {
|
|
351
387
|
super.connect_signals();
|
|
352
388
|
const { width, height, min_height, max_height, margin, sizing_mode } = this.model.properties;
|
|
@@ -365,36 +401,55 @@
|
|
|
365
401
|
});
|
|
366
402
|
}
|
|
367
403
|
}
|
|
404
|
+
/**
|
|
405
|
+
* Schedules `style_redraw` for when all applied stylesheets have settled.
|
|
406
|
+
*
|
|
407
|
+
* A stylesheet counts as settled once it has loaded *or* failed: views
|
|
408
|
+
* reveal their container from `style_redraw`, so a stylesheet that never
|
|
409
|
+
* arrives must not hide them forever. Listeners registered by a previous
|
|
410
|
+
* call are cancelled, since the elements they watch have been discarded.
|
|
411
|
+
*/
|
|
368
412
|
watch_stylesheets() {
|
|
413
|
+
this._stylesheets_watcher?.abort();
|
|
414
|
+
const { signal } = this._stylesheets_watcher = new AbortController();
|
|
369
415
|
this._initialized_stylesheets = new Map();
|
|
370
416
|
for (const stylesheet of this._applied_stylesheets) {
|
|
371
417
|
// @ts-expect-error: 'el' is protected
|
|
372
418
|
const style_el = stylesheet.el;
|
|
373
419
|
if (style_el instanceof HTMLLinkElement) {
|
|
374
|
-
|
|
375
|
-
|
|
420
|
+
// A link served from cache may already have loaded, and `load` does
|
|
421
|
+
// not fire again for it, so seed from `sheet` instead of assuming
|
|
422
|
+
// every stylesheet is still pending.
|
|
423
|
+
this._initialized_stylesheets.set(style_el.href, style_el.sheet != null);
|
|
424
|
+
const settled = () => {
|
|
376
425
|
this._initialized_stylesheets.set(style_el.href, true);
|
|
377
426
|
if ([...this._initialized_stylesheets.values()].every((v) => v)) {
|
|
378
427
|
requestAnimationFrame(() => this.style_redraw());
|
|
379
428
|
}
|
|
380
|
-
}
|
|
429
|
+
};
|
|
430
|
+
style_el.addEventListener("load", settled, { signal });
|
|
431
|
+
style_el.addEventListener("error", settled, { signal });
|
|
381
432
|
}
|
|
382
433
|
}
|
|
383
|
-
if (this._initialized_stylesheets.
|
|
434
|
+
if ([...this._initialized_stylesheets.values()].every((v) => v)) {
|
|
384
435
|
this.style_redraw();
|
|
385
436
|
}
|
|
386
437
|
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
438
|
+
/**
|
|
439
|
+
* Bokeh recreates the stylesheet elements on every update, discarding the
|
|
440
|
+
* ones `watch_stylesheets` listens on, so the watcher has to be re-armed.
|
|
441
|
+
* Skipped until the view has armed it itself, as the update triggered from
|
|
442
|
+
* `super.render()` precedes the creation of `this.container`.
|
|
443
|
+
*/
|
|
444
|
+
_update_stylesheets() {
|
|
445
|
+
super._update_stylesheets();
|
|
446
|
+
if (this._stylesheets_watcher != null) {
|
|
447
|
+
this.watch_stylesheets();
|
|
396
448
|
}
|
|
397
449
|
}
|
|
450
|
+
rerender_(view = null) {
|
|
451
|
+
rerender_view(view == null ? this : view);
|
|
452
|
+
}
|
|
398
453
|
style_redraw() { }
|
|
399
454
|
has_math_disabled() {
|
|
400
455
|
return this.model.disable_math || !this.contains_tex_string(this.model.text);
|
|
@@ -513,15 +568,7 @@
|
|
|
513
568
|
set_size(this.el, this.model);
|
|
514
569
|
}
|
|
515
570
|
rerender_(view = null) {
|
|
516
|
-
|
|
517
|
-
view = view == null ? this : view;
|
|
518
|
-
if (view.rerender) {
|
|
519
|
-
view.rerender();
|
|
520
|
-
}
|
|
521
|
-
else {
|
|
522
|
-
view.render();
|
|
523
|
-
view.r_after_render();
|
|
524
|
-
}
|
|
571
|
+
rerender_view(view == null ? this : view);
|
|
525
572
|
}
|
|
526
573
|
watch_stylesheets() {
|
|
527
574
|
this._initialized_stylesheets = new Map();
|
|
@@ -538,9 +585,9 @@
|
|
|
538
585
|
});
|
|
539
586
|
}
|
|
540
587
|
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
588
|
+
// Unconditional: subclasses redraw (and reveal themselves) here even when
|
|
589
|
+
// the stylesheets never load, so this is their only guaranteed redraw.
|
|
590
|
+
requestAnimationFrame(() => this.style_redraw());
|
|
544
591
|
}
|
|
545
592
|
style_redraw() { }
|
|
546
593
|
get child_models() {
|
|
@@ -778,7 +825,7 @@
|
|
|
778
825
|
"1f663ffe94": /* models/anywidget_component.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
779
826
|
var _a;
|
|
780
827
|
__esModule();
|
|
781
|
-
const reactive_esm_1 = require("
|
|
828
|
+
const reactive_esm_1 = require("1e7e12b23e") /* ./reactive_esm */;
|
|
782
829
|
class AnyWidgetModelAdapter {
|
|
783
830
|
constructor(model) {
|
|
784
831
|
this.view = null;
|
|
@@ -942,7 +989,7 @@ export default {render}`;
|
|
|
942
989
|
_a.prototype.default_view = AnyWidgetComponentView;
|
|
943
990
|
})();
|
|
944
991
|
},
|
|
945
|
-
"
|
|
992
|
+
"1e7e12b23e": /* models/reactive_esm.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
946
993
|
var _a, _b, _c;
|
|
947
994
|
__esModule();
|
|
948
995
|
exports.model_getter = model_getter;
|
|
@@ -959,17 +1006,18 @@ export default {render}`;
|
|
|
959
1006
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
960
1007
|
};
|
|
961
1008
|
var ESMEvent_1;
|
|
962
|
-
const sucrase_1 = require("
|
|
1009
|
+
const sucrase_1 = require("28a8b14fda") /* sucrase */;
|
|
963
1010
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
964
1011
|
const dom_1 = require("@bokehjs/core/dom");
|
|
965
1012
|
const dom_2 = require("@bokehjs/core/dom");
|
|
1013
|
+
const dom_view_1 = require("@bokehjs/core/dom_view");
|
|
966
1014
|
const kinds_1 = require("@bokehjs/core/kinds");
|
|
967
1015
|
const layout_dom_1 = require("@bokehjs/models/layouts/layout_dom");
|
|
968
1016
|
const types_1 = require("@bokehjs/core/util/types");
|
|
969
1017
|
const ui_element_1 = require("@bokehjs/models/ui/ui_element");
|
|
970
1018
|
const event_to_object_1 = require("a572dba9cd") /* ./event-to-object */;
|
|
971
1019
|
const html_1 = require("4c04683fdc") /* ./html */;
|
|
972
|
-
const layout_1 = require("
|
|
1020
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
973
1021
|
const util_1 = require("aa07eb54cc") /* ./util */;
|
|
974
1022
|
const esm_css_1 = tslib_1.__importDefault(require("727a14f76b") /* ../styles/models/esm.css */);
|
|
975
1023
|
const MODULE_CACHE = new Map();
|
|
@@ -1207,7 +1255,36 @@ export default {render}`;
|
|
|
1207
1255
|
this.model.disconnect_watchers(this);
|
|
1208
1256
|
}
|
|
1209
1257
|
_on_mounted() { }
|
|
1210
|
-
|
|
1258
|
+
/**
|
|
1259
|
+
* Bokeh walks the whole view tree from `r_after_render`, but ESM components
|
|
1260
|
+
* do not render their children themselves: the children are mounted later,
|
|
1261
|
+
* by the component, once it commits. Recursing into a child that has not
|
|
1262
|
+
* been mounted yet would run `after_render` (and with it style updates,
|
|
1263
|
+
* measurement and layout) on a view that is still detached and therefore
|
|
1264
|
+
* measures 0x0, which permanently poisons anything latching onto its first
|
|
1265
|
+
* measurement. Such children are skipped here and walked when they mount.
|
|
1266
|
+
*/
|
|
1267
|
+
r_after_render() {
|
|
1268
|
+
for (const child_view of this.children_views()) {
|
|
1269
|
+
if (child_view instanceof dom_view_1.DOMView && this._is_mountable(child_view)) {
|
|
1270
|
+
child_view.r_after_render();
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
this.after_render();
|
|
1274
|
+
this._was_built = true;
|
|
1275
|
+
}
|
|
1276
|
+
/**
|
|
1277
|
+
* Whether Bokeh's render walk may descend into a child view. Views this
|
|
1278
|
+
* component owns are only walkable once mounted; anything else (e.g. a
|
|
1279
|
+
* context menu) is not ours to defer.
|
|
1280
|
+
*/
|
|
1281
|
+
_is_mountable(child_view) {
|
|
1282
|
+
if (!this._child_views.has(child_view.model)) {
|
|
1283
|
+
return true;
|
|
1284
|
+
}
|
|
1285
|
+
return child_view.el.isConnected;
|
|
1286
|
+
}
|
|
1287
|
+
notify_mount(child, id, remove = false) {
|
|
1211
1288
|
if (!this._mounted.has(child)) {
|
|
1212
1289
|
this._mounted.set(child, new Set());
|
|
1213
1290
|
}
|
|
@@ -1869,7 +1946,7 @@ export default {render}`;
|
|
|
1869
1946
|
}));
|
|
1870
1947
|
})();
|
|
1871
1948
|
},
|
|
1872
|
-
"
|
|
1949
|
+
"28a8b14fda": /* sucrase/dist/esm/index.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
1873
1950
|
__esModule();
|
|
1874
1951
|
exports.getVersion = getVersion;
|
|
1875
1952
|
exports.transform = transform;
|
|
@@ -1889,7 +1966,7 @@ export default {render}`;
|
|
|
1889
1966
|
;
|
|
1890
1967
|
function getVersion() {
|
|
1891
1968
|
/* istanbul ignore next */
|
|
1892
|
-
return "3.35.
|
|
1969
|
+
return "3.35.1";
|
|
1893
1970
|
}
|
|
1894
1971
|
function transform(code, options) {
|
|
1895
1972
|
(0, Options_1.validateOptions)(options);
|
|
@@ -18121,7 +18198,7 @@ ${namesToRegister
|
|
|
18121
18198
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
18122
18199
|
const object_1 = require("@bokehjs/core/util/object");
|
|
18123
18200
|
const markup_1 = require("@bokehjs/models/widgets/markup");
|
|
18124
|
-
const layout_1 = require("
|
|
18201
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
18125
18202
|
const event_to_object_1 = require("a572dba9cd") /* ./event-to-object */;
|
|
18126
18203
|
const util_1 = require("aa07eb54cc") /* ./util */;
|
|
18127
18204
|
const html_css_1 = tslib_1.__importDefault(require("9b8139e439") /* ../styles/models/html.css */);
|
|
@@ -18387,7 +18464,7 @@ ${namesToRegister
|
|
|
18387
18464
|
"fd59c985b3": /* models/audio.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
18388
18465
|
var _a;
|
|
18389
18466
|
__esModule();
|
|
18390
|
-
const layout_1 = require("
|
|
18467
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
18391
18468
|
class AudioView extends layout_1.HTMLBoxView {
|
|
18392
18469
|
initialize() {
|
|
18393
18470
|
super.initialize();
|
|
@@ -19912,7 +19989,7 @@ ${namesToRegister
|
|
|
19912
19989
|
_b.prototype.default_view = CustomMultiSelectView;
|
|
19913
19990
|
})();
|
|
19914
19991
|
},
|
|
19915
|
-
"
|
|
19992
|
+
"e0501f9786": /* models/tabulator.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
19916
19993
|
var _a, _b, _c, _d;
|
|
19917
19994
|
__esModule();
|
|
19918
19995
|
const tslib_1 = require("tslib");
|
|
@@ -19928,7 +20005,7 @@ ${namesToRegister
|
|
|
19928
20005
|
const debounce_1 = require("99a25e6992") /* debounce */;
|
|
19929
20006
|
const comm_manager_1 = require("1bec1b1fcc") /* ./comm_manager */;
|
|
19930
20007
|
const data_1 = require("be689f0377") /* ./data */;
|
|
19931
|
-
const layout_1 = require("
|
|
20008
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
19932
20009
|
const util_1 = require("aa07eb54cc") /* ./util */;
|
|
19933
20010
|
const tabulator_css_1 = tslib_1.__importDefault(require("3d732ff91f") /* ../styles/models/tabulator.css */);
|
|
19934
20011
|
class TableEditEvent extends bokeh_events_1.ModelEvent {
|
|
@@ -20292,8 +20369,8 @@ ${namesToRegister
|
|
|
20292
20369
|
}
|
|
20293
20370
|
connect_signals() {
|
|
20294
20371
|
super.connect_signals();
|
|
20295
|
-
const { configuration, layout, columns, groupby, visible, download, children, expanded, cell_styles, hidden_columns, page_size, page, max_page, frozen_rows, sorters, theme_classes, } = this.model.properties;
|
|
20296
|
-
this.on_change([configuration, layout, groupby], (0, debounce_1.debounce)(() => {
|
|
20372
|
+
const { configuration, layout, columns, groupby, visible, download, children, expanded, cell_styles, hidden_columns, page_size, page, max_page, frozen_rows, movable_columns, sorters, theme_classes, } = this.model.properties;
|
|
20373
|
+
this.on_change([configuration, layout, groupby, movable_columns], (0, debounce_1.debounce)(() => {
|
|
20297
20374
|
this.invalidate_render();
|
|
20298
20375
|
}, 20, false));
|
|
20299
20376
|
this.on_change(visible, () => {
|
|
@@ -20311,6 +20388,13 @@ ${namesToRegister
|
|
|
20311
20388
|
});
|
|
20312
20389
|
this.on_change(children, () => this.renderChildren());
|
|
20313
20390
|
this.on_change(expanded, () => {
|
|
20391
|
+
// A view whose render() has not run, or which has been torn down, has no Tabulator
|
|
20392
|
+
// instance. It can still be subscribed to the model, and throwing here aborts the whole
|
|
20393
|
+
// emit chain, so a sibling view that *is* rendered never gets to draw the row content and
|
|
20394
|
+
// the expand click appears to do nothing. Every other handler in this file guards this way.
|
|
20395
|
+
if (this.tabulator == null) {
|
|
20396
|
+
return;
|
|
20397
|
+
}
|
|
20314
20398
|
// The first cell is the cell of the frozen _index column.
|
|
20315
20399
|
for (const row of this.tabulator.rowManager.getRows()) {
|
|
20316
20400
|
if (row.cells.length > 0) {
|
|
@@ -20691,6 +20775,9 @@ ${namesToRegister
|
|
|
20691
20775
|
break;
|
|
20692
20776
|
}
|
|
20693
20777
|
}
|
|
20778
|
+
if (heights.length === 0) {
|
|
20779
|
+
return;
|
|
20780
|
+
}
|
|
20694
20781
|
if (height < table_height) {
|
|
20695
20782
|
page_size = table.children.length;
|
|
20696
20783
|
const remaining = table_height - height;
|
|
@@ -20758,7 +20845,7 @@ ${namesToRegister
|
|
|
20758
20845
|
...(0, util_1.transformJsPlaceholders)(this.model.configuration),
|
|
20759
20846
|
index: "_index",
|
|
20760
20847
|
nestedFieldSeparator: false,
|
|
20761
|
-
movableColumns:
|
|
20848
|
+
movableColumns: this.model.movable_columns,
|
|
20762
20849
|
selectableRows,
|
|
20763
20850
|
columns: this.getColumns(),
|
|
20764
20851
|
initialSort: this.sorters,
|
|
@@ -21498,6 +21585,7 @@ ${namesToRegister
|
|
|
21498
21585
|
indexes: [List(Str), []],
|
|
21499
21586
|
layout: [exports.TableLayout, "fit_data"],
|
|
21500
21587
|
max_page: [Float, 0],
|
|
21588
|
+
movable_columns: [Bool, false],
|
|
21501
21589
|
pagination: [Nullable(Str), null],
|
|
21502
21590
|
page: [Float, 0],
|
|
21503
21591
|
page_size: [Nullable(Float), null],
|
|
@@ -24560,7 +24648,7 @@ ${namesToRegister
|
|
|
24560
24648
|
const column_data_source_1 = require("@bokehjs/models/sources/column_data_source");
|
|
24561
24649
|
const debounce_1 = require("99a25e6992") /* debounce */;
|
|
24562
24650
|
const data_1 = require("be689f0377") /* ./data */;
|
|
24563
|
-
const layout_1 = require("
|
|
24651
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
24564
24652
|
const lumagl_1 = require("16d69e2b49") /* ./lumagl */;
|
|
24565
24653
|
const tooltips_1 = require("f8f8ea4284") /* ./tooltips */;
|
|
24566
24654
|
function extractClasses() {
|
|
@@ -26531,7 +26619,7 @@ ${namesToRegister
|
|
|
26531
26619
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
26532
26620
|
const dom_1 = require("@bokehjs/core/dom");
|
|
26533
26621
|
const event_to_object_1 = require("a572dba9cd") /* ./event-to-object */;
|
|
26534
|
-
const layout_1 = require("
|
|
26622
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
26535
26623
|
const util_1 = require("aa07eb54cc") /* ./util */;
|
|
26536
26624
|
const mouse_events = [
|
|
26537
26625
|
"click", "dblclick", "mousedown", "mousemove", "mouseup", "mouseover", "mouseout",
|
|
@@ -26775,7 +26863,7 @@ ${namesToRegister
|
|
|
26775
26863
|
}));
|
|
26776
26864
|
})();
|
|
26777
26865
|
},
|
|
26778
|
-
"
|
|
26866
|
+
"44a7ecdf96": /* models/feed.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
26779
26867
|
var _a, _b;
|
|
26780
26868
|
__esModule();
|
|
26781
26869
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -26830,6 +26918,14 @@ ${namesToRegister
|
|
|
26830
26918
|
initialize() {
|
|
26831
26919
|
super.initialize();
|
|
26832
26920
|
this._sync = true;
|
|
26921
|
+
// The Feed only clips its children when it is a scroll container, whose css
|
|
26922
|
+
// classes (see _SCROLL_MAPPING) all start with "scroll". Otherwise it grows
|
|
26923
|
+
// to fit its content and an ancestor (e.g. the page) scrolls, so visibility
|
|
26924
|
+
// must be measured against the viewport; rooting on this.el would treat
|
|
26925
|
+
// every rendered child - including the load_buffer - as visible and expand
|
|
26926
|
+
// visible_range until all objects load (#8661).
|
|
26927
|
+
const is_scroll_container = this.model.css_classes.some((cls) => cls.startsWith("scroll"));
|
|
26928
|
+
const root = is_scroll_container ? this.el : null;
|
|
26833
26929
|
this._intersection_observer = new IntersectionObserver((entries) => {
|
|
26834
26930
|
const visible = [...this.model.visible_children];
|
|
26835
26931
|
const nodes = this.node_map;
|
|
@@ -26856,7 +26952,7 @@ ${namesToRegister
|
|
|
26856
26952
|
this._last_visible = null;
|
|
26857
26953
|
}
|
|
26858
26954
|
}, {
|
|
26859
|
-
root
|
|
26955
|
+
root,
|
|
26860
26956
|
threshold: 0.01,
|
|
26861
26957
|
});
|
|
26862
26958
|
}
|
|
@@ -27524,7 +27620,7 @@ ${namesToRegister
|
|
|
27524
27620
|
var _a;
|
|
27525
27621
|
__esModule();
|
|
27526
27622
|
const dom_1 = require("@bokehjs/core/dom");
|
|
27527
|
-
const layout_1 = require("
|
|
27623
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
27528
27624
|
const Jupyter = window.Jupyter;
|
|
27529
27625
|
class IPyWidgetView extends layout_1.HTMLBoxView {
|
|
27530
27626
|
initialize() {
|
|
@@ -27613,7 +27709,7 @@ ${namesToRegister
|
|
|
27613
27709
|
const kinds_1 = require("@bokehjs/core/kinds");
|
|
27614
27710
|
const markup_1 = require("@bokehjs/models/widgets/markup");
|
|
27615
27711
|
const json_formatter_js_1 = tslib_1.__importDefault(require("ec9d1ffc2e") /* json-formatter-js */);
|
|
27616
|
-
const layout_1 = require("
|
|
27712
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
27617
27713
|
class JSONView extends layout_1.PanelMarkupView {
|
|
27618
27714
|
connect_signals() {
|
|
27619
27715
|
super.connect_signals();
|
|
@@ -27771,7 +27867,7 @@ ${namesToRegister
|
|
|
27771
27867
|
const tslib_1 = require("tslib");
|
|
27772
27868
|
const dom_1 = require("@bokehjs/core/dom");
|
|
27773
27869
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
27774
|
-
const layout_1 = require("
|
|
27870
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
27775
27871
|
const jsoneditor_css_1 = tslib_1.__importDefault(require("317a12d360") /* ../styles/models/jsoneditor.css */);
|
|
27776
27872
|
class JSONEditEvent extends bokeh_events_1.ModelEvent {
|
|
27777
27873
|
constructor(data) {
|
|
@@ -27882,7 +27978,7 @@ ${namesToRegister
|
|
|
27882
27978
|
var _a;
|
|
27883
27979
|
__esModule();
|
|
27884
27980
|
const markup_1 = require("@bokehjs/models/widgets/markup");
|
|
27885
|
-
const layout_1 = require("
|
|
27981
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
27886
27982
|
class KaTeXView extends layout_1.PanelMarkupView {
|
|
27887
27983
|
connect_signals() {
|
|
27888
27984
|
super.connect_signals();
|
|
@@ -28039,7 +28135,7 @@ ${namesToRegister
|
|
|
28039
28135
|
var _a;
|
|
28040
28136
|
__esModule();
|
|
28041
28137
|
const markup_1 = require("@bokehjs/models/widgets/markup");
|
|
28042
|
-
const layout_1 = require("
|
|
28138
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
28043
28139
|
class MathJaxView extends layout_1.PanelMarkupView {
|
|
28044
28140
|
connect_signals() {
|
|
28045
28141
|
super.connect_signals();
|
|
@@ -28246,7 +28342,7 @@ ${namesToRegister
|
|
|
28246
28342
|
var _a;
|
|
28247
28343
|
__esModule();
|
|
28248
28344
|
const markup_1 = require("@bokehjs/models/widgets/markup");
|
|
28249
|
-
const layout_1 = require("
|
|
28345
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
28250
28346
|
const html_1 = require("4c04683fdc") /* ./html */;
|
|
28251
28347
|
class PDFView extends layout_1.PanelMarkupView {
|
|
28252
28348
|
connect_signals() {
|
|
@@ -28310,7 +28406,7 @@ ${namesToRegister
|
|
|
28310
28406
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
28311
28407
|
const dom_1 = require("@bokehjs/core/dom");
|
|
28312
28408
|
const column_data_source_1 = require("@bokehjs/models/sources/column_data_source");
|
|
28313
|
-
const layout_1 = require("
|
|
28409
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
28314
28410
|
const perspective_css_1 = tslib_1.__importDefault(require("2e2913ea54") /* ../styles/models/perspective.css */);
|
|
28315
28411
|
const THEMES = {
|
|
28316
28412
|
"pro-dark": "Pro Dark",
|
|
@@ -28647,7 +28743,7 @@ ${namesToRegister
|
|
|
28647
28743
|
const eq_1 = require("@bokehjs/core/util/eq");
|
|
28648
28744
|
const column_data_source_1 = require("@bokehjs/models/sources/column_data_source");
|
|
28649
28745
|
const debounce_1 = require("99a25e6992") /* debounce */;
|
|
28650
|
-
const layout_1 = require("
|
|
28746
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
28651
28747
|
const util_1 = require("aa07eb54cc") /* ./util */;
|
|
28652
28748
|
const plotly_css_1 = tslib_1.__importDefault(require("3d56c75186") /* ../styles/models/plotly.css */);
|
|
28653
28749
|
const FORBIDDEN_KEYS = new Set(["__proto__", "prototype", "constructor"]);
|
|
@@ -29124,11 +29220,11 @@ ${namesToRegister
|
|
|
29124
29220
|
__esModule();
|
|
29125
29221
|
exports.default = `.js-plotly-plot .plotly,.js-plotly-plot .plotly div{direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;}.js-plotly-plot .plotly input,.js-plotly-plot .plotly button{font-family:'Open Sans', verdana, arial, sans-serif;}.js-plotly-plot .plotly input:focus,.js-plotly-plot .plotly button:focus{outline:none;}.js-plotly-plot .plotly a{text-decoration:none;}.js-plotly-plot .plotly a:hover{text-decoration:none;}.js-plotly-plot .plotly .crisp{shape-rendering:crispEdges;}.js-plotly-plot .plotly .user-select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;}.js-plotly-plot .plotly svg{overflow:hidden;}.js-plotly-plot .plotly svg a{fill:#447adb;}.js-plotly-plot .plotly svg a:hover{fill:#3c6dc5;}.js-plotly-plot .plotly .main-svg{position:absolute;top:0;left:0;pointer-events:none;}.js-plotly-plot .plotly .main-svg .draglayer{pointer-events:all;}.js-plotly-plot .plotly .cursor-default{cursor:default;}.js-plotly-plot .plotly .cursor-pointer{cursor:pointer;}.js-plotly-plot .plotly .cursor-crosshair{cursor:crosshair;}.js-plotly-plot .plotly .cursor-move{cursor:move;}.js-plotly-plot .plotly .cursor-col-resize{cursor:col-resize;}.js-plotly-plot .plotly .cursor-row-resize{cursor:row-resize;}.js-plotly-plot .plotly .cursor-ns-resize{cursor:ns-resize;}.js-plotly-plot .plotly .cursor-ew-resize{cursor:ew-resize;}.js-plotly-plot .plotly .cursor-sw-resize{cursor:sw-resize;}.js-plotly-plot .plotly .cursor-s-resize{cursor:s-resize;}.js-plotly-plot .plotly .cursor-se-resize{cursor:se-resize;}.js-plotly-plot .plotly .cursor-w-resize{cursor:w-resize;}.js-plotly-plot .plotly .cursor-e-resize{cursor:e-resize;}.js-plotly-plot .plotly .cursor-nw-resize{cursor:nw-resize;}.js-plotly-plot .plotly .cursor-n-resize{cursor:n-resize;}.js-plotly-plot .plotly .cursor-ne-resize{cursor:ne-resize;}.js-plotly-plot .plotly .cursor-grab{cursor:-webkit-grab;cursor:grab;}.js-plotly-plot .plotly .modebar{position:absolute;top:2px;right:2px;}.js-plotly-plot .plotly .ease-bg{-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;}.js-plotly-plot .plotly .modebar--hover > :not(.watermark){opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;}.js-plotly-plot .plotly:hover .modebar--hover .modebar-group{opacity:1;}.js-plotly-plot .plotly .modebar-group{float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;}.js-plotly-plot .plotly .modebar-btn{fill:var(--plotly-icon-color);background-color:unset;border:none;position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;}.js-plotly-plot .plotly .modebar-btn.active{fill:var(--plotly-active-icon-color);}.js-plotly-plot .plotly .modebar-btn svg{position:relative;top:2px;}.js-plotly-plot .plotly .modebar.vertical{display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;}.js-plotly-plot .plotly .modebar.vertical svg{top:-1px;}.js-plotly-plot .plotly .modebar.vertical .modebar-group{display:block;float:none;padding-left:0px;padding-bottom:8px;}.js-plotly-plot .plotly .modebar.vertical .modebar-group .modebar-btn{display:block;text-align:center;}.js-plotly-plot .plotly [data-title]{}.js-plotly-plot .plotly [data-title]:before,.js-plotly-plot .plotly [data-title]:after{position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;}.js-plotly-plot .plotly [data-title]:hover:before,.js-plotly-plot .plotly [data-title]:hover:after{display:block;opacity:1;}.js-plotly-plot .plotly [data-title]:before{content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;}.js-plotly-plot .plotly [data-title]:after{content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;}.js-plotly-plot .plotly .vertical [data-title]:before,.js-plotly-plot .plotly .vertical [data-title]:after{top:0%;right:200%;}.js-plotly-plot .plotly .vertical [data-title]:before{border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;}.plotly-notifier{font-family:'Open Sans', verdana, arial, sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;}.plotly-notifier p{margin:0;}.plotly-notifier .notifier-note{min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140, 151, 175, 0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;}.plotly-notifier .notifier-close{color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;}.plotly-notifier .notifier-close:hover{color:#444;text-decoration:none;cursor:pointer;}`;
|
|
29126
29222
|
},
|
|
29127
|
-
"
|
|
29223
|
+
"54e5f3767b": /* models/progress.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
29128
29224
|
var _a;
|
|
29129
29225
|
__esModule();
|
|
29130
29226
|
const dom_1 = require("@bokehjs/core/dom");
|
|
29131
|
-
const layout_1 = require("
|
|
29227
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
29132
29228
|
class ProgressView extends layout_1.HTMLBoxView {
|
|
29133
29229
|
connect_signals() {
|
|
29134
29230
|
super.connect_signals();
|
|
@@ -29141,6 +29237,9 @@ ${namesToRegister
|
|
|
29141
29237
|
render() {
|
|
29142
29238
|
super.render();
|
|
29143
29239
|
const style = { ...this.model.styles, display: "inline-block" };
|
|
29240
|
+
if (this.model.height != null) {
|
|
29241
|
+
style.height = `${this.model.height}px`;
|
|
29242
|
+
}
|
|
29144
29243
|
this.progressEl = document.createElement("progress");
|
|
29145
29244
|
this.setValue();
|
|
29146
29245
|
this.setMax();
|
|
@@ -29208,7 +29307,7 @@ ${namesToRegister
|
|
|
29208
29307
|
var _a;
|
|
29209
29308
|
__esModule();
|
|
29210
29309
|
const dom_1 = require("@bokehjs/core/dom");
|
|
29211
|
-
const layout_1 = require("
|
|
29310
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
29212
29311
|
class QuillInputView extends layout_1.HTMLBoxView {
|
|
29213
29312
|
connect_signals() {
|
|
29214
29313
|
super.connect_signals();
|
|
@@ -29526,7 +29625,7 @@ ${namesToRegister
|
|
|
29526
29625
|
}));
|
|
29527
29626
|
})();
|
|
29528
29627
|
},
|
|
29529
|
-
"
|
|
29628
|
+
"b2c617bbc6": /* models/react_component.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
29530
29629
|
var _a;
|
|
29531
29630
|
__esModule();
|
|
29532
29631
|
const build_views_1 = require("@bokehjs/core/build_views");
|
|
@@ -29534,7 +29633,7 @@ ${namesToRegister
|
|
|
29534
29633
|
const array_1 = require("@bokehjs/core/util/array");
|
|
29535
29634
|
const assert_1 = require("@bokehjs/core/util/assert");
|
|
29536
29635
|
const types_1 = require("@bokehjs/core/util/types");
|
|
29537
|
-
const reactive_esm_1 = require("
|
|
29636
|
+
const reactive_esm_1 = require("1e7e12b23e") /* ./reactive_esm */;
|
|
29538
29637
|
class HostedStyleSheet extends dom_1.InlineStyleSheet {
|
|
29539
29638
|
constructor(css, id, persistent = false, host_id = "") {
|
|
29540
29639
|
super(css, id, persistent);
|
|
@@ -29612,7 +29711,7 @@ ${namesToRegister
|
|
|
29612
29711
|
return this.model.use_shadow_dom || !(this.parent instanceof ReactComponentView);
|
|
29613
29712
|
}
|
|
29614
29713
|
render_esm() {
|
|
29615
|
-
if (this.model.compiled === null || this.model.render_module === null) {
|
|
29714
|
+
if (this.model.compiled === null || this.model.render_module === null || this.container == null) {
|
|
29616
29715
|
return;
|
|
29617
29716
|
}
|
|
29618
29717
|
this._rendered = false;
|
|
@@ -29634,10 +29733,37 @@ ${namesToRegister
|
|
|
29634
29733
|
this._mounted_resolve = resolve;
|
|
29635
29734
|
});
|
|
29636
29735
|
this.model.render_module.then((mod) => {
|
|
29736
|
+
if (this.container == null) {
|
|
29737
|
+
// Nothing will mount, so the ready promise has to be settled here or
|
|
29738
|
+
// the view never finishes and the document never goes idle.
|
|
29739
|
+
this._resolve_mounted();
|
|
29740
|
+
return;
|
|
29741
|
+
}
|
|
29637
29742
|
this.react_root = mod.default.render(this.model.id);
|
|
29743
|
+
}).catch((e) => {
|
|
29744
|
+
this._resolve_mounted();
|
|
29745
|
+
throw e;
|
|
29638
29746
|
});
|
|
29639
29747
|
this._await_ready(mounted_promise);
|
|
29640
29748
|
}
|
|
29749
|
+
render_error(error) {
|
|
29750
|
+
// A component that errored will never mount and so never settles its
|
|
29751
|
+
// promise via `after_rendered`.
|
|
29752
|
+
this._resolve_mounted();
|
|
29753
|
+
super.render_error(error);
|
|
29754
|
+
}
|
|
29755
|
+
/**
|
|
29756
|
+
* Settles the promise handed to `_await_ready` by `render_esm`. Safe to call
|
|
29757
|
+
* more than once; only the first call has an effect.
|
|
29758
|
+
*/
|
|
29759
|
+
_resolve_mounted() {
|
|
29760
|
+
const resolve = this._mounted_resolve;
|
|
29761
|
+
if (resolve == null) {
|
|
29762
|
+
return;
|
|
29763
|
+
}
|
|
29764
|
+
this._mounted_resolve = null;
|
|
29765
|
+
resolve();
|
|
29766
|
+
}
|
|
29641
29767
|
on_force_update(cb) {
|
|
29642
29768
|
this._force_update_callbacks.push(cb);
|
|
29643
29769
|
}
|
|
@@ -29649,13 +29775,13 @@ ${namesToRegister
|
|
|
29649
29775
|
remove() {
|
|
29650
29776
|
this._force_update_callbacks = [];
|
|
29651
29777
|
this.mounted = false;
|
|
29778
|
+
// A view removed before it mounted still owes a resolution to the promise
|
|
29779
|
+
// handed to `_await_ready`, otherwise the root never reaches idle.
|
|
29780
|
+
this._resolve_mounted();
|
|
29652
29781
|
if (this.react_root && this.use_shadow_dom) {
|
|
29653
29782
|
super.remove();
|
|
29654
29783
|
this.react_root.then((root) => root && root.unmount());
|
|
29655
|
-
|
|
29656
|
-
view.remove();
|
|
29657
|
-
}
|
|
29658
|
-
this._scheduled_removals = [];
|
|
29784
|
+
this.flush_scheduled_removals();
|
|
29659
29785
|
}
|
|
29660
29786
|
else {
|
|
29661
29787
|
this._applied_stylesheets.forEach((stylesheet) => stylesheet.uninstall());
|
|
@@ -29666,6 +29792,7 @@ ${namesToRegister
|
|
|
29666
29792
|
this._child_rendered.clear();
|
|
29667
29793
|
this._mounted.clear();
|
|
29668
29794
|
}
|
|
29795
|
+
this.react_root = null;
|
|
29669
29796
|
}
|
|
29670
29797
|
get root_view() {
|
|
29671
29798
|
let root = this;
|
|
@@ -29679,21 +29806,40 @@ ${namesToRegister
|
|
|
29679
29806
|
}
|
|
29680
29807
|
_apply_stylesheets(stylesheets) {
|
|
29681
29808
|
const resolved_stylesheets = stylesheets.map((style) => (0, types_1.isString)(style) ? new dom_1.InlineStyleSheet(style) : style);
|
|
29682
|
-
const
|
|
29683
|
-
const
|
|
29809
|
+
const root_view = this.root_view;
|
|
29810
|
+
const target = root_view.shadow_el;
|
|
29811
|
+
// When shadow DOM is disabled every component in the tree installs its
|
|
29812
|
+
// stylesheets into the same root, so the existing CSS is indexed once and
|
|
29813
|
+
// looked up by value. Scanning the root per stylesheet made this quadratic
|
|
29814
|
+
// in the number of components times the number of stylesheets each.
|
|
29815
|
+
const installed_css = new Set();
|
|
29816
|
+
const installed_hrefs = new Set();
|
|
29817
|
+
if (!this.use_shadow_dom) {
|
|
29818
|
+
for (const style of target.querySelectorAll("style")) {
|
|
29819
|
+
installed_css.add(style.textContent);
|
|
29820
|
+
}
|
|
29821
|
+
for (const link of target.querySelectorAll("link")) {
|
|
29822
|
+
installed_hrefs.add(link.href);
|
|
29823
|
+
}
|
|
29824
|
+
}
|
|
29684
29825
|
resolved_stylesheets.forEach((stylesheet) => {
|
|
29685
29826
|
if (!this.use_shadow_dom) {
|
|
29686
|
-
if (stylesheet instanceof dom_1.InlineStyleSheet
|
|
29687
|
-
|
|
29688
|
-
|
|
29827
|
+
if (stylesheet instanceof dom_1.InlineStyleSheet) {
|
|
29828
|
+
if (installed_css.has(stylesheet.css)) {
|
|
29829
|
+
return;
|
|
29830
|
+
}
|
|
29831
|
+
installed_css.add(stylesheet.css);
|
|
29689
29832
|
}
|
|
29690
|
-
if (stylesheet instanceof dom_1.ImportedStyleSheet
|
|
29691
|
-
|
|
29692
|
-
|
|
29833
|
+
else if (stylesheet instanceof dom_1.ImportedStyleSheet) {
|
|
29834
|
+
const { href } = stylesheet.el;
|
|
29835
|
+
if (installed_hrefs.has(href)) {
|
|
29836
|
+
return;
|
|
29837
|
+
}
|
|
29838
|
+
installed_hrefs.add(href);
|
|
29693
29839
|
}
|
|
29694
29840
|
}
|
|
29695
29841
|
this._applied_stylesheets.push(stylesheet);
|
|
29696
|
-
stylesheet.install(
|
|
29842
|
+
stylesheet.install(target);
|
|
29697
29843
|
});
|
|
29698
29844
|
}
|
|
29699
29845
|
render() {
|
|
@@ -29702,6 +29848,9 @@ ${namesToRegister
|
|
|
29702
29848
|
}
|
|
29703
29849
|
this._force_update_callbacks = [];
|
|
29704
29850
|
this.mounted = false;
|
|
29851
|
+
// `super.render()` calls `render_esm`, which installs a fresh promise, so
|
|
29852
|
+
// settle any promise the previous render left outstanding first.
|
|
29853
|
+
this._resolve_mounted();
|
|
29705
29854
|
super.render();
|
|
29706
29855
|
}
|
|
29707
29856
|
r_after_render() {
|
|
@@ -29772,6 +29921,19 @@ ${namesToRegister
|
|
|
29772
29921
|
}
|
|
29773
29922
|
}
|
|
29774
29923
|
this._update_children();
|
|
29924
|
+
// Removals are normally drained by the replacement child once it mounts,
|
|
29925
|
+
// but a child that never mounts would leak the old views, so flush any
|
|
29926
|
+
// that are still pending after React has had a chance to commit.
|
|
29927
|
+
setTimeout(() => this.flush_scheduled_removals(), 0);
|
|
29928
|
+
}
|
|
29929
|
+
flush_scheduled_removals() {
|
|
29930
|
+
const removals = this._scheduled_removals;
|
|
29931
|
+
this._scheduled_removals = [];
|
|
29932
|
+
for (const view of removals) {
|
|
29933
|
+
if (!view.is_destroyed) {
|
|
29934
|
+
view.remove();
|
|
29935
|
+
}
|
|
29936
|
+
}
|
|
29775
29937
|
}
|
|
29776
29938
|
_on_mounted() {
|
|
29777
29939
|
this.invalidate_layout();
|
|
@@ -29798,17 +29960,15 @@ ${namesToRegister
|
|
|
29798
29960
|
}
|
|
29799
29961
|
this._rendered = true;
|
|
29800
29962
|
if (this._mounted_resolve) {
|
|
29801
|
-
const resolve = this._mounted_resolve;
|
|
29802
|
-
this._mounted_resolve = null;
|
|
29803
29963
|
const child_ready = [];
|
|
29804
29964
|
for (const child_view of this.child_views) {
|
|
29805
29965
|
child_ready.push(child_view.ready);
|
|
29806
29966
|
}
|
|
29807
29967
|
if (child_ready.length > 0) {
|
|
29808
|
-
Promise.all(child_ready).then(() =>
|
|
29968
|
+
Promise.all(child_ready).then(() => this._resolve_mounted());
|
|
29809
29969
|
}
|
|
29810
29970
|
else {
|
|
29811
|
-
|
|
29971
|
+
this._resolve_mounted();
|
|
29812
29972
|
}
|
|
29813
29973
|
}
|
|
29814
29974
|
this.finish();
|
|
@@ -29887,6 +30047,18 @@ async function render(id) {
|
|
|
29887
30047
|
super(props)
|
|
29888
30048
|
this.render_callback = null
|
|
29889
30049
|
this.containerRef = React.createRef()
|
|
30050
|
+
// Registers the child as tracked but not yet rendered. React's render
|
|
30051
|
+
// phase has to stay free of side effects, since a render may be
|
|
30052
|
+
// discarded without ever committing, so the flag is only ever flipped
|
|
30053
|
+
// here and from getSnapshotBeforeUpdate.
|
|
30054
|
+
this._mark_stale()
|
|
30055
|
+
}
|
|
30056
|
+
|
|
30057
|
+
_mark_stale() {
|
|
30058
|
+
const view = this.view
|
|
30059
|
+
if (view) {
|
|
30060
|
+
this.props.parent._child_rendered.set(view, false)
|
|
30061
|
+
}
|
|
29890
30062
|
}
|
|
29891
30063
|
|
|
29892
30064
|
updateElement() {
|
|
@@ -29922,15 +30094,13 @@ async function render(id) {
|
|
|
29922
30094
|
}
|
|
29923
30095
|
this.updateElement()
|
|
29924
30096
|
if (this.use_shadow_dom) {
|
|
29925
|
-
|
|
29926
|
-
this.props.parent._scheduled_removals = []
|
|
30097
|
+
this.props.parent.flush_scheduled_removals()
|
|
29927
30098
|
this.props.parent.rerender_(view)
|
|
29928
30099
|
this.props.parent._child_rendered.set(view, true)
|
|
29929
30100
|
} else {
|
|
29930
30101
|
view.patch_container(this.containerRef.current)
|
|
29931
30102
|
view.model.render_module.then(async (mod) => {
|
|
29932
|
-
|
|
29933
|
-
this.props.parent._scheduled_removals = []
|
|
30103
|
+
this.props.parent.flush_scheduled_removals()
|
|
29934
30104
|
this.setState(
|
|
29935
30105
|
{rendered: await mod.default.render(view.model.id)},
|
|
29936
30106
|
() => {
|
|
@@ -29944,8 +30114,7 @@ async function render(id) {
|
|
|
29944
30114
|
}
|
|
29945
30115
|
this.props.parent.on_child_render(this.props.name, this.render_callback)
|
|
29946
30116
|
if (view == null) { return }
|
|
29947
|
-
|
|
29948
|
-
this.props.parent._scheduled_removals = []
|
|
30117
|
+
this.props.parent.flush_scheduled_removals()
|
|
29949
30118
|
if (this.use_shadow_dom) {
|
|
29950
30119
|
this.updateElement()
|
|
29951
30120
|
this.props.parent.rerender_(view)
|
|
@@ -29970,11 +30139,22 @@ async function render(id) {
|
|
|
29970
30139
|
if (this.render_callback) {
|
|
29971
30140
|
this.props.parent.remove_on_child_render(this.props.name, this.render_callback)
|
|
29972
30141
|
}
|
|
29973
|
-
|
|
29974
|
-
|
|
30142
|
+
// The mount bookkeeping lives on the parent, and the view may already be
|
|
30143
|
+
// gone by the time React unmounts us, so fall back to the model id prop.
|
|
30144
|
+
const id = this.view?.model.id ?? this.props.id
|
|
30145
|
+
if (id != null) {
|
|
30146
|
+
this.props.parent.notify_mount(this.props.name, id, true)
|
|
29975
30147
|
}
|
|
29976
30148
|
}
|
|
29977
30149
|
|
|
30150
|
+
getSnapshotBeforeUpdate() {
|
|
30151
|
+
// Commit-phase equivalent of the constructor's registration: the view
|
|
30152
|
+
// this Child renders may have been swapped out, so the incoming one is
|
|
30153
|
+
// registered as stale here rather than during render.
|
|
30154
|
+
this._mark_stale()
|
|
30155
|
+
return null
|
|
30156
|
+
}
|
|
30157
|
+
|
|
29978
30158
|
componentDidUpdate() {
|
|
29979
30159
|
if (this.use_shadow_dom) {
|
|
29980
30160
|
this.updateElement()
|
|
@@ -29983,9 +30163,6 @@ async function render(id) {
|
|
|
29983
30163
|
|
|
29984
30164
|
render() {
|
|
29985
30165
|
const child = this.state.rendered
|
|
29986
|
-
if (this.view) {
|
|
29987
|
-
this.props.parent._child_rendered.set(this.view, false)
|
|
29988
|
-
}
|
|
29989
30166
|
const class_name = (this.use_shadow_dom ?
|
|
29990
30167
|
"child-wrapper" : this.view.model.class_name.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()
|
|
29991
30168
|
)
|
|
@@ -30141,6 +30318,9 @@ async function render(id) {
|
|
|
30141
30318
|
container.id = view.model.root_node.replace("#", "")
|
|
30142
30319
|
document.body.append(container)
|
|
30143
30320
|
}
|
|
30321
|
+
} else if (view.container == null) {
|
|
30322
|
+
view._resolve_mounted()
|
|
30323
|
+
return null
|
|
30144
30324
|
} else {
|
|
30145
30325
|
container = view.container
|
|
30146
30326
|
}
|
|
@@ -30148,6 +30328,7 @@ async function render(id) {
|
|
|
30148
30328
|
try {
|
|
30149
30329
|
root.render(rendered)
|
|
30150
30330
|
} catch(e) {
|
|
30331
|
+
view._resolve_mounted()
|
|
30151
30332
|
view.render_error(e)
|
|
30152
30333
|
}
|
|
30153
30334
|
return root
|
|
@@ -30205,7 +30386,7 @@ ${compiled}`;
|
|
|
30205
30386
|
const data_1 = require("be689f0377") /* ./data */;
|
|
30206
30387
|
const event_to_object_1 = require("a572dba9cd") /* ./event-to-object */;
|
|
30207
30388
|
const html_1 = require("4c04683fdc") /* ./html */;
|
|
30208
|
-
const layout_1 = require("
|
|
30389
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
30209
30390
|
const util_1 = require("aa07eb54cc") /* ./util */;
|
|
30210
30391
|
function serialize_attrs(attrs) {
|
|
30211
30392
|
const serialized = {};
|
|
@@ -31263,7 +31444,7 @@ ${compiled}`;
|
|
|
31263
31444
|
"5ac2cab0ab": /* models/speech_to_text.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
31264
31445
|
var _a;
|
|
31265
31446
|
__esModule();
|
|
31266
|
-
const layout_1 = require("
|
|
31447
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
31267
31448
|
const iconStarted = `<svg xmlns="http://www.w3.org/2000/svg" height="22px" style="vertical-align: middle;" fill="currentColor" class="bi bi-mic" viewBox="0 0 16 16">
|
|
31268
31449
|
<path fill-rule="evenodd" d="M3.5 6.5A.5.5 0 0 1 4 7v1a4 4 0 0 0 8 0V7a.5.5 0 0 1 1 0v1a5 5 0 0 1-4.5 4.975V15h3a.5.5 0 0 1 0 1h-7a.5.5 0 0 1 0-1h3v-2.025A5 5 0 0 1 3 8V7a.5.5 0 0 1 .5-.5z"/>
|
|
31269
31450
|
<path fill-rule="evenodd" d="M10 8V3a2 2 0 1 0-4 0v5a2 2 0 1 0 4 0zM8 0a3 3 0 0 0-3 3v5a3 3 0 0 0 6 0V3a3 3 0 0 0-3-3z"/>
|
|
@@ -31696,7 +31877,7 @@ ${compiled}`;
|
|
|
31696
31877
|
__esModule();
|
|
31697
31878
|
const dom_1 = require("@bokehjs/core/dom");
|
|
31698
31879
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
31699
|
-
const layout_1 = require("
|
|
31880
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
31700
31881
|
class KeystrokeEvent extends bokeh_events_1.ModelEvent {
|
|
31701
31882
|
constructor(key) {
|
|
31702
31883
|
super();
|
|
@@ -31867,7 +32048,7 @@ ${compiled}`;
|
|
|
31867
32048
|
"a04eb51988": /* models/text_to_speech.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
31868
32049
|
var _a;
|
|
31869
32050
|
__esModule();
|
|
31870
|
-
const layout_1 = require("
|
|
32051
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
31871
32052
|
function toVoicesList(voices) {
|
|
31872
32053
|
const voicesList = [];
|
|
31873
32054
|
for (const voice of voices) {
|
|
@@ -32182,7 +32363,7 @@ ${compiled}`;
|
|
|
32182
32363
|
"29d55a28a9": /* models/trend.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
32183
32364
|
var _a;
|
|
32184
32365
|
__esModule();
|
|
32185
|
-
const layout_1 = require("
|
|
32366
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
32186
32367
|
const build_views_1 = require("@bokehjs/core/build_views");
|
|
32187
32368
|
const plots_1 = require("@bokehjs/models/plots");
|
|
32188
32369
|
const glyphs_1 = require("@bokehjs/models/glyphs");
|
|
@@ -32406,7 +32587,7 @@ ${compiled}`;
|
|
|
32406
32587
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
32407
32588
|
const types_1 = require("@bokehjs/core/util/types");
|
|
32408
32589
|
const layout_dom_1 = require("@bokehjs/models/layouts/layout_dom");
|
|
32409
|
-
const layout_1 = require("
|
|
32590
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
32410
32591
|
const debounce_1 = require("99a25e6992") /* debounce */;
|
|
32411
32592
|
class VegaEvent extends bokeh_events_1.ModelEvent {
|
|
32412
32593
|
constructor(data) {
|
|
@@ -32592,7 +32773,7 @@ ${compiled}`;
|
|
|
32592
32773
|
__esModule();
|
|
32593
32774
|
const tslib_1 = require("tslib");
|
|
32594
32775
|
const dom_1 = require("@bokehjs/core/dom");
|
|
32595
|
-
const layout_1 = require("
|
|
32776
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
32596
32777
|
const video_css_1 = tslib_1.__importDefault(require("dfe21e6f1b") /* ../styles/models/video.css */);
|
|
32597
32778
|
class VideoView extends layout_1.HTMLBoxView {
|
|
32598
32779
|
constructor() {
|
|
@@ -32757,7 +32938,7 @@ ${compiled}`;
|
|
|
32757
32938
|
"f8afc4e661": /* models/videostream.js */ function _(require, module, exports, __esModule, __esExport) {
|
|
32758
32939
|
var _a;
|
|
32759
32940
|
__esModule();
|
|
32760
|
-
const layout_1 = require("
|
|
32941
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
32761
32942
|
class VideoStreamView extends layout_1.HTMLBoxView {
|
|
32762
32943
|
constructor() {
|
|
32763
32944
|
super(...arguments);
|
|
@@ -32882,7 +33063,7 @@ ${compiled}`;
|
|
|
32882
33063
|
const column_data_source_1 = require("@bokehjs/models/sources/column_data_source");
|
|
32883
33064
|
const bokeh_events_1 = require("@bokehjs/core/bokeh_events");
|
|
32884
33065
|
const debounce_1 = require("99a25e6992") /* debounce */;
|
|
32885
|
-
const layout_1 = require("
|
|
33066
|
+
const layout_1 = require("84236c2552") /* ./layout */;
|
|
32886
33067
|
class VizzuEvent extends bokeh_events_1.ModelEvent {
|
|
32887
33068
|
constructor(data) {
|
|
32888
33069
|
super();
|
|
@@ -33155,7 +33336,7 @@ ${compiled}`;
|
|
|
33155
33336
|
const object_1 = require("@bokehjs/core/util/object");
|
|
33156
33337
|
const color_mapper_1 = require("@bokehjs/models/mappers/color_mapper");
|
|
33157
33338
|
const kinds_1 = require("@bokehjs/core/kinds");
|
|
33158
|
-
const layout_1 = require("
|
|
33339
|
+
const layout_1 = require("84236c2552") /* ../layout */;
|
|
33159
33340
|
const util_1 = require("df9946ff52") /* ./util */;
|
|
33160
33341
|
const vtkcolorbar_1 = require("b1d68776a9") /* ./vtkcolorbar */;
|
|
33161
33342
|
const vtkaxes_1 = require("0379dcf1cd") /* ./vtkaxes */;
|
|
@@ -41373,5 +41554,5 @@ ${compiled}`;
|
|
|
41373
41554
|
util_1.vtkns.FullScreenRenderWindowSynchronized = FullScreenRenderWindowSynchronized;
|
|
41374
41555
|
}
|
|
41375
41556
|
},
|
|
41376
|
-
}, "4e90918c0a", {"index":"4e90918c0a","models/index":"2fe1822b2b","models/ace":"5fa2fb81b3","models/layout":"
|
|
41557
|
+
}, "4e90918c0a", {"index":"4e90918c0a","models/index":"2fe1822b2b","models/ace":"5fa2fb81b3","models/layout":"84236c2552","models/util":"aa07eb54cc","models/anywidget_component":"1f663ffe94","models/reactive_esm":"1e7e12b23e","models/event-to-object":"a572dba9cd","models/html":"4c04683fdc","styles/models/html.css":"9b8139e439","styles/models/esm.css":"727a14f76b","models/audio":"fd59c985b3","models/browser":"5a16cc23e6","models/button":"1db93211cd","models/button_icon":"1738ddeb3a","models/icon":"6c7fbea0ef","models/card":"31556103c8","models/column":"b273e5b2fb","styles/models/card.css":"6342ac8e26","models/checkbox_button_group":"51fbe9e2d0","models/chatarea_input":"27a077673d","models/textarea_input":"b7d595d74a","models/comm_manager":"1bec1b1fcc","models/customselect":"92bbd30bd1","models/multiselect":"27b5580835","models/tabulator":"e0501f9786","models/data":"be689f0377","styles/models/tabulator.css":"3d732ff91f","models/datetime_picker":"100965d6f3","models/datetime_slider":"c97cc0eade","models/deckgl":"d58ba73420","models/lumagl":"16d69e2b49","models/tooltips":"f8f8ea4284","models/discrete_player":"0dca2cd4f6","models/player":"96e805ccb5","models/echarts":"ec1ecef6a0","models/feed":"44a7ecdf96","models/file_download":"84a13dddfb","models/file_dropper":"8531319d94","styles/models/filedropper.css":"c03dd3c931","models/ipywidget":"8a8089cbf3","models/json":"245cd3cfde","models/jsoneditor":"33e664043e","styles/models/jsoneditor.css":"317a12d360","models/katex":"f672d71a9f","models/location":"9012b81346","models/mathjax":"d889a68424","models/modal":"9a342a6757","styles/models/modal.css":"be4b4352c6","models/pdf":"f87ad1873c","models/perspective":"29a0b0da9a","styles/models/perspective.css":"2e2913ea54","models/plotly":"59dbae0a77","styles/models/plotly.css":"3d56c75186","models/progress":"54e5f3767b","models/quill":"a8f2a01dfe","models/radio_button_group":"25e2d7c208","models/react_component":"b2c617bbc6","models/reactive_html":"d5752cda5a","models/singleselect":"4155401209","models/speech_to_text":"5ac2cab0ab","models/state":"92822cb73a","models/tabs":"fffb4344f7","models/terminal":"a961b5ae5e","models/text_input":"8be416b160","models/text_to_speech":"a04eb51988","models/time_picker":"1afcab4e45","models/toggle_icon":"ad985f285e","models/tooltip_icon":"ae3a172647","models/trend":"29d55a28a9","models/vega":"22dbf7c070","models/video":"79dc37b888","styles/models/video.css":"dfe21e6f1b","models/videostream":"f8afc4e661","models/vizzu":"1f7bc1f95b","models/vtk/index":"c51f25e2a7","models/vtk/vtkjs":"ac55912dc1","models/vtk/vtklayout":"b06d05fa3e","models/vtk/util":"df9946ff52","models/vtk/vtkcolorbar":"b1d68776a9","models/vtk/vtkaxes":"0379dcf1cd","models/vtk/vtkvolume":"18592eecef","models/vtk/vtksynchronized":"a4e5946204","models/vtk/panel_fullscreen_renwin_sync":"5e89c7b3eb"}, {});});
|
|
41377
41558
|
//# sourceMappingURL=panel.js.map
|