@@ -13,6 +13,7 @@ import {
13
13
DOMUtils ,
14
14
ICommandPalette ,
15
15
ISanitizer ,
16
+ ISplashScreen ,
16
17
IToolbarWidgetRegistry ,
17
18
} from '@jupyterlab/apputils' ;
18
19
@@ -393,6 +394,35 @@ const shell: JupyterFrontEndPlugin<INotebookShell> = {
393
394
provides : INotebookShell ,
394
395
} ;
395
396
397
+ /**
398
+ * The default splash screen provider.
399
+ */
400
+ const splash : JupyterFrontEndPlugin < ISplashScreen > = {
401
+ id : '@jupyter-notebook/application-extension:splash' ,
402
+ description : 'Provides an empty splash screen.' ,
403
+ autoStart : true ,
404
+ provides : ISplashScreen ,
405
+ activate : ( app : JupyterFrontEnd ) => {
406
+ const { restored } = app ;
407
+ const splash = document . createElement ( 'div' ) ;
408
+ splash . style . position = 'absolute' ;
409
+ splash . style . width = '100%' ;
410
+ splash . style . height = '100%' ;
411
+ splash . style . zIndex = '10' ;
412
+
413
+ return {
414
+ show : ( light = true ) => {
415
+ splash . style . backgroundColor = light ? 'white' : '#111111' ;
416
+ document . body . appendChild ( splash ) ;
417
+ return new DisposableDelegate ( async ( ) => {
418
+ await restored ;
419
+ document . body . removeChild ( splash ) ;
420
+ } ) ;
421
+ } ,
422
+ } ;
423
+ } ,
424
+ } ;
425
+
396
426
/**
397
427
* The default JupyterLab application status provider.
398
428
*/
@@ -1005,6 +1035,7 @@ const plugins: JupyterFrontEndPlugin<any>[] = [
1005
1035
rendermime ,
1006
1036
shell ,
1007
1037
sidePanelVisibility ,
1038
+ splash ,
1008
1039
status ,
1009
1040
tabTitle ,
1010
1041
title ,
0 commit comments