solara 1.24.0__py2.py3-none-any.whl → 1.25.1__py2.py3-none-any.whl

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.
Files changed (44) hide show
  1. solara/__init__.py +1 -1
  2. solara/__main__.py +4 -1
  3. solara/cache.py +9 -4
  4. solara/checks.py +9 -4
  5. solara/lab/components/__init__.py +1 -0
  6. solara/lab/components/chat.py +203 -0
  7. solara/minisettings.py +1 -1
  8. solara/server/assets/style.css +1545 -0
  9. solara/server/flask.py +1 -1
  10. solara/server/kernel.py +3 -3
  11. solara/server/patch.py +2 -0
  12. solara/server/reload.py +1 -1
  13. solara/server/server.py +58 -0
  14. solara/server/settings.py +1 -0
  15. solara/server/starlette.py +32 -13
  16. solara/server/static/solara_bootstrap.py +1 -1
  17. solara/server/telemetry.py +8 -3
  18. solara/server/templates/loader-plain.html +1 -1
  19. solara/server/templates/loader-solara.html +1 -1
  20. solara/server/templates/solara.html.j2 +20 -25
  21. solara/util.py +15 -2
  22. solara/website/components/notebook.py +44 -1
  23. solara/website/pages/__init__.py +3 -0
  24. solara/website/pages/api/__init__.py +1 -0
  25. solara/website/pages/api/chat.py +109 -0
  26. solara/website/pages/apps/jupyter-dashboard-1.py +116 -0
  27. solara/website/pages/apps/scatter.py +4 -4
  28. solara/website/pages/doc_use_download.py +1 -1
  29. solara/website/pages/docs/content/04-tutorial/00-overview.md +1 -0
  30. solara/website/pages/docs/content/04-tutorial/60-jupyter-dashboard-part1.py +18 -1
  31. solara/website/pages/docs/content/04-tutorial/_jupyter_dashboard_1.ipynb +607 -14
  32. solara/website/pages/docs/content/10-howto/ipywidget_libraries.md +1 -1
  33. solara/website/pages/docs/content/95-changelog.md +31 -0
  34. solara/website/pages/examples/ai/chatbot.py +96 -0
  35. solara/website/public/success.html +16 -7
  36. solara/website/templates/index.html.j2 +16 -15
  37. {solara-1.24.0.dist-info → solara-1.25.1.dist-info}/METADATA +9 -8
  38. {solara-1.24.0.dist-info → solara-1.25.1.dist-info}/RECORD +43 -40
  39. {solara-1.24.0.dist-info → solara-1.25.1.dist-info}/WHEEL +1 -1
  40. solara/server/assets/index.css +0 -14480
  41. {solara-1.24.0.data → solara-1.25.1.data}/data/prefix/etc/jupyter/jupyter_notebook_config.d/solara.json +0 -0
  42. {solara-1.24.0.data → solara-1.25.1.data}/data/prefix/etc/jupyter/jupyter_server_config.d/solara.json +0 -0
  43. {solara-1.24.0.dist-info → solara-1.25.1.dist-info}/entry_points.txt +0 -0
  44. {solara-1.24.0.dist-info → solara-1.25.1.dist-info}/licenses/LICENSE +0 -0
@@ -113,3 +113,1548 @@ div.highlight {
113
113
  .solara-autorouter-content {
114
114
  height: 100%;
115
115
  }
116
+
117
+ /* originally from index.css */
118
+
119
+ .p-Widget, /* </DEPRECATED> */
120
+ .lm-Widget {
121
+ position: relative;
122
+ overflow: hidden;
123
+ cursor: default;
124
+ }
125
+
126
+ body {
127
+ font-size:14px;
128
+ font-weight:400;
129
+ letter-spacing:0;
130
+ line-height:1.28581;
131
+ text-transform:none;
132
+ color:#182026;
133
+ font-family:-apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", "Icons16", sans-serif;
134
+ }
135
+
136
+ body {
137
+ font-family: var(--jp-ui-font-family);
138
+ }
139
+
140
+
141
+ :root {
142
+ --jp-warn-color0: var(--md-orange-700);
143
+ }
144
+
145
+ p {
146
+ margin-top: unset;
147
+ margin-bottom: unset;
148
+ }
149
+
150
+ small {
151
+ font-size: unset;
152
+ }
153
+
154
+ strong {
155
+ font-weight: unset;
156
+ }
157
+
158
+ /* Override Blueprint's _typography.scss styles */
159
+ a {
160
+ text-decoration: unset;
161
+ color: unset;
162
+ }
163
+
164
+ a:hover {
165
+ text-decoration: unset;
166
+ color: unset;
167
+ }
168
+
169
+ /* Override Blueprint's _accessibility.scss styles */
170
+ :focus {
171
+ outline: unset;
172
+ outline-offset: unset;
173
+ -moz-outline-radius: unset;
174
+ }
175
+
176
+
177
+ /** manually stripped down version of the nbconvert css
178
+ * only contains css for the mime renderer and output area
179
+ * and things I (MB) wasn't sure about.
180
+ **/
181
+ /**
182
+ * google-material-color v1.2.6
183
+ * https://github.com/danlevan/google-material-color
184
+ */
185
+ :root {
186
+ --md-red-50: #ffebee;
187
+ --md-red-100: #ffcdd2;
188
+ --md-red-200: #ef9a9a;
189
+ --md-red-300: #e57373;
190
+ --md-red-400: #ef5350;
191
+ --md-red-500: #f44336;
192
+ --md-red-600: #e53935;
193
+ --md-red-700: #d32f2f;
194
+ --md-red-800: #c62828;
195
+ --md-red-900: #b71c1c;
196
+ --md-red-A100: #ff8a80;
197
+ --md-red-A200: #ff5252;
198
+ --md-red-A400: #ff1744;
199
+ --md-red-A700: #d50000;
200
+
201
+ --md-pink-50: #fce4ec;
202
+ --md-pink-100: #f8bbd0;
203
+ --md-pink-200: #f48fb1;
204
+ --md-pink-300: #f06292;
205
+ --md-pink-400: #ec407a;
206
+ --md-pink-500: #e91e63;
207
+ --md-pink-600: #d81b60;
208
+ --md-pink-700: #c2185b;
209
+ --md-pink-800: #ad1457;
210
+ --md-pink-900: #880e4f;
211
+ --md-pink-A100: #ff80ab;
212
+ --md-pink-A200: #ff4081;
213
+ --md-pink-A400: #f50057;
214
+ --md-pink-A700: #c51162;
215
+
216
+ --md-purple-50: #f3e5f5;
217
+ --md-purple-100: #e1bee7;
218
+ --md-purple-200: #ce93d8;
219
+ --md-purple-300: #ba68c8;
220
+ --md-purple-400: #ab47bc;
221
+ --md-purple-500: #9c27b0;
222
+ --md-purple-600: #8e24aa;
223
+ --md-purple-700: #7b1fa2;
224
+ --md-purple-800: #6a1b9a;
225
+ --md-purple-900: #4a148c;
226
+ --md-purple-A100: #ea80fc;
227
+ --md-purple-A200: #e040fb;
228
+ --md-purple-A400: #d500f9;
229
+ --md-purple-A700: #aa00ff;
230
+
231
+ --md-deep-purple-50: #ede7f6;
232
+ --md-deep-purple-100: #d1c4e9;
233
+ --md-deep-purple-200: #b39ddb;
234
+ --md-deep-purple-300: #9575cd;
235
+ --md-deep-purple-400: #7e57c2;
236
+ --md-deep-purple-500: #673ab7;
237
+ --md-deep-purple-600: #5e35b1;
238
+ --md-deep-purple-700: #512da8;
239
+ --md-deep-purple-800: #4527a0;
240
+ --md-deep-purple-900: #311b92;
241
+ --md-deep-purple-A100: #b388ff;
242
+ --md-deep-purple-A200: #7c4dff;
243
+ --md-deep-purple-A400: #651fff;
244
+ --md-deep-purple-A700: #6200ea;
245
+
246
+ --md-indigo-50: #e8eaf6;
247
+ --md-indigo-100: #c5cae9;
248
+ --md-indigo-200: #9fa8da;
249
+ --md-indigo-300: #7986cb;
250
+ --md-indigo-400: #5c6bc0;
251
+ --md-indigo-500: #3f51b5;
252
+ --md-indigo-600: #3949ab;
253
+ --md-indigo-700: #303f9f;
254
+ --md-indigo-800: #283593;
255
+ --md-indigo-900: #1a237e;
256
+ --md-indigo-A100: #8c9eff;
257
+ --md-indigo-A200: #536dfe;
258
+ --md-indigo-A400: #3d5afe;
259
+ --md-indigo-A700: #304ffe;
260
+
261
+ --md-blue-50: #e3f2fd;
262
+ --md-blue-100: #bbdefb;
263
+ --md-blue-200: #90caf9;
264
+ --md-blue-300: #64b5f6;
265
+ --md-blue-400: #42a5f5;
266
+ --md-blue-500: #2196f3;
267
+ --md-blue-600: #1e88e5;
268
+ --md-blue-700: #1976d2;
269
+ --md-blue-800: #1565c0;
270
+ --md-blue-900: #0d47a1;
271
+ --md-blue-A100: #82b1ff;
272
+ --md-blue-A200: #448aff;
273
+ --md-blue-A400: #2979ff;
274
+ --md-blue-A700: #2962ff;
275
+
276
+ --md-light-blue-50: #e1f5fe;
277
+ --md-light-blue-100: #b3e5fc;
278
+ --md-light-blue-200: #81d4fa;
279
+ --md-light-blue-300: #4fc3f7;
280
+ --md-light-blue-400: #29b6f6;
281
+ --md-light-blue-500: #03a9f4;
282
+ --md-light-blue-600: #039be5;
283
+ --md-light-blue-700: #0288d1;
284
+ --md-light-blue-800: #0277bd;
285
+ --md-light-blue-900: #01579b;
286
+ --md-light-blue-A100: #80d8ff;
287
+ --md-light-blue-A200: #40c4ff;
288
+ --md-light-blue-A400: #00b0ff;
289
+ --md-light-blue-A700: #0091ea;
290
+
291
+ --md-cyan-50: #e0f7fa;
292
+ --md-cyan-100: #b2ebf2;
293
+ --md-cyan-200: #80deea;
294
+ --md-cyan-300: #4dd0e1;
295
+ --md-cyan-400: #26c6da;
296
+ --md-cyan-500: #00bcd4;
297
+ --md-cyan-600: #00acc1;
298
+ --md-cyan-700: #0097a7;
299
+ --md-cyan-800: #00838f;
300
+ --md-cyan-900: #006064;
301
+ --md-cyan-A100: #84ffff;
302
+ --md-cyan-A200: #18ffff;
303
+ --md-cyan-A400: #00e5ff;
304
+ --md-cyan-A700: #00b8d4;
305
+
306
+ --md-teal-50: #e0f2f1;
307
+ --md-teal-100: #b2dfdb;
308
+ --md-teal-200: #80cbc4;
309
+ --md-teal-300: #4db6ac;
310
+ --md-teal-400: #26a69a;
311
+ --md-teal-500: #009688;
312
+ --md-teal-600: #00897b;
313
+ --md-teal-700: #00796b;
314
+ --md-teal-800: #00695c;
315
+ --md-teal-900: #004d40;
316
+ --md-teal-A100: #a7ffeb;
317
+ --md-teal-A200: #64ffda;
318
+ --md-teal-A400: #1de9b6;
319
+ --md-teal-A700: #00bfa5;
320
+
321
+ --md-green-50: #e8f5e9;
322
+ --md-green-100: #c8e6c9;
323
+ --md-green-200: #a5d6a7;
324
+ --md-green-300: #81c784;
325
+ --md-green-400: #66bb6a;
326
+ --md-green-500: #4caf50;
327
+ --md-green-600: #43a047;
328
+ --md-green-700: #388e3c;
329
+ --md-green-800: #2e7d32;
330
+ --md-green-900: #1b5e20;
331
+ --md-green-A100: #b9f6ca;
332
+ --md-green-A200: #69f0ae;
333
+ --md-green-A400: #00e676;
334
+ --md-green-A700: #00c853;
335
+
336
+ --md-light-green-50: #f1f8e9;
337
+ --md-light-green-100: #dcedc8;
338
+ --md-light-green-200: #c5e1a5;
339
+ --md-light-green-300: #aed581;
340
+ --md-light-green-400: #9ccc65;
341
+ --md-light-green-500: #8bc34a;
342
+ --md-light-green-600: #7cb342;
343
+ --md-light-green-700: #689f38;
344
+ --md-light-green-800: #558b2f;
345
+ --md-light-green-900: #33691e;
346
+ --md-light-green-A100: #ccff90;
347
+ --md-light-green-A200: #b2ff59;
348
+ --md-light-green-A400: #76ff03;
349
+ --md-light-green-A700: #64dd17;
350
+
351
+ --md-lime-50: #f9fbe7;
352
+ --md-lime-100: #f0f4c3;
353
+ --md-lime-200: #e6ee9c;
354
+ --md-lime-300: #dce775;
355
+ --md-lime-400: #d4e157;
356
+ --md-lime-500: #cddc39;
357
+ --md-lime-600: #c0ca33;
358
+ --md-lime-700: #afb42b;
359
+ --md-lime-800: #9e9d24;
360
+ --md-lime-900: #827717;
361
+ --md-lime-A100: #f4ff81;
362
+ --md-lime-A200: #eeff41;
363
+ --md-lime-A400: #c6ff00;
364
+ --md-lime-A700: #aeea00;
365
+
366
+ --md-yellow-50: #fffde7;
367
+ --md-yellow-100: #fff9c4;
368
+ --md-yellow-200: #fff59d;
369
+ --md-yellow-300: #fff176;
370
+ --md-yellow-400: #ffee58;
371
+ --md-yellow-500: #ffeb3b;
372
+ --md-yellow-600: #fdd835;
373
+ --md-yellow-700: #fbc02d;
374
+ --md-yellow-800: #f9a825;
375
+ --md-yellow-900: #f57f17;
376
+ --md-yellow-A100: #ffff8d;
377
+ --md-yellow-A200: #ffff00;
378
+ --md-yellow-A400: #ffea00;
379
+ --md-yellow-A700: #ffd600;
380
+
381
+ --md-amber-50: #fff8e1;
382
+ --md-amber-100: #ffecb3;
383
+ --md-amber-200: #ffe082;
384
+ --md-amber-300: #ffd54f;
385
+ --md-amber-400: #ffca28;
386
+ --md-amber-500: #ffc107;
387
+ --md-amber-600: #ffb300;
388
+ --md-amber-700: #ffa000;
389
+ --md-amber-800: #ff8f00;
390
+ --md-amber-900: #ff6f00;
391
+ --md-amber-A100: #ffe57f;
392
+ --md-amber-A200: #ffd740;
393
+ --md-amber-A400: #ffc400;
394
+ --md-amber-A700: #ffab00;
395
+
396
+ --md-orange-50: #fff3e0;
397
+ --md-orange-100: #ffe0b2;
398
+ --md-orange-200: #ffcc80;
399
+ --md-orange-300: #ffb74d;
400
+ --md-orange-400: #ffa726;
401
+ --md-orange-500: #ff9800;
402
+ --md-orange-600: #fb8c00;
403
+ --md-orange-700: #f57c00;
404
+ --md-orange-800: #ef6c00;
405
+ --md-orange-900: #e65100;
406
+ --md-orange-A100: #ffd180;
407
+ --md-orange-A200: #ffab40;
408
+ --md-orange-A400: #ff9100;
409
+ --md-orange-A700: #ff6d00;
410
+
411
+ --md-deep-orange-50: #fbe9e7;
412
+ --md-deep-orange-100: #ffccbc;
413
+ --md-deep-orange-200: #ffab91;
414
+ --md-deep-orange-300: #ff8a65;
415
+ --md-deep-orange-400: #ff7043;
416
+ --md-deep-orange-500: #ff5722;
417
+ --md-deep-orange-600: #f4511e;
418
+ --md-deep-orange-700: #e64a19;
419
+ --md-deep-orange-800: #d84315;
420
+ --md-deep-orange-900: #bf360c;
421
+ --md-deep-orange-A100: #ff9e80;
422
+ --md-deep-orange-A200: #ff6e40;
423
+ --md-deep-orange-A400: #ff3d00;
424
+ --md-deep-orange-A700: #dd2c00;
425
+
426
+ --md-brown-50: #efebe9;
427
+ --md-brown-100: #d7ccc8;
428
+ --md-brown-200: #bcaaa4;
429
+ --md-brown-300: #a1887f;
430
+ --md-brown-400: #8d6e63;
431
+ --md-brown-500: #795548;
432
+ --md-brown-600: #6d4c41;
433
+ --md-brown-700: #5d4037;
434
+ --md-brown-800: #4e342e;
435
+ --md-brown-900: #3e2723;
436
+
437
+ --md-grey-50: #fafafa;
438
+ --md-grey-100: #f5f5f5;
439
+ --md-grey-200: #eeeeee;
440
+ --md-grey-300: #e0e0e0;
441
+ --md-grey-400: #bdbdbd;
442
+ --md-grey-500: #9e9e9e;
443
+ --md-grey-600: #757575;
444
+ --md-grey-700: #616161;
445
+ --md-grey-800: #424242;
446
+ --md-grey-900: #212121;
447
+
448
+ --md-blue-grey-50: #eceff1;
449
+ --md-blue-grey-100: #cfd8dc;
450
+ --md-blue-grey-200: #b0bec5;
451
+ --md-blue-grey-300: #90a4ae;
452
+ --md-blue-grey-400: #78909c;
453
+ --md-blue-grey-500: #607d8b;
454
+ --md-blue-grey-600: #546e7a;
455
+ --md-blue-grey-700: #455a64;
456
+ --md-blue-grey-800: #37474f;
457
+ --md-blue-grey-900: #263238;
458
+ }
459
+
460
+ :root {
461
+ /* This is the padding value to fill the gaps between lines containing spans with background color. */
462
+ --jp-private-code-span-padding: calc(
463
+ (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
464
+ );
465
+ }
466
+
467
+ .jp-RenderedText {
468
+ text-align: left;
469
+ padding-left: var(--jp-code-padding);
470
+ line-height: var(--jp-code-line-height);
471
+ font-family: var(--jp-code-font-family);
472
+ }
473
+
474
+ .jp-RenderedText pre,
475
+ .jp-RenderedJavaScript pre,
476
+ .jp-RenderedHTMLCommon pre {
477
+ color: var(--jp-content-font-color1);
478
+ font-size: var(--jp-code-font-size);
479
+ border: none;
480
+ margin: 0px;
481
+ padding: 0px;
482
+ }
483
+
484
+ .jp-RenderedText pre a:link {
485
+ text-decoration: none;
486
+ color: var(--jp-content-link-color);
487
+ }
488
+ .jp-RenderedText pre a:hover {
489
+ text-decoration: underline;
490
+ color: var(--jp-content-link-color);
491
+ }
492
+ .jp-RenderedText pre a:visited {
493
+ text-decoration: none;
494
+ color: var(--jp-content-link-color);
495
+ }
496
+
497
+ /* console foregrounds and backgrounds */
498
+ .jp-RenderedText pre .ansi-black-fg {
499
+ color: #3e424d;
500
+ }
501
+ .jp-RenderedText pre .ansi-red-fg {
502
+ color: #e75c58;
503
+ }
504
+ .jp-RenderedText pre .ansi-green-fg {
505
+ color: #00a250;
506
+ }
507
+ .jp-RenderedText pre .ansi-yellow-fg {
508
+ color: #ddb62b;
509
+ }
510
+ .jp-RenderedText pre .ansi-blue-fg {
511
+ color: #208ffb;
512
+ }
513
+ .jp-RenderedText pre .ansi-magenta-fg {
514
+ color: #d160c4;
515
+ }
516
+ .jp-RenderedText pre .ansi-cyan-fg {
517
+ color: #60c6c8;
518
+ }
519
+ .jp-RenderedText pre .ansi-white-fg {
520
+ color: #c5c1b4;
521
+ }
522
+
523
+ .jp-RenderedText pre .ansi-black-bg {
524
+ background-color: #3e424d;
525
+ padding: var(--jp-private-code-span-padding) 0;
526
+ }
527
+ .jp-RenderedText pre .ansi-red-bg {
528
+ background-color: #e75c58;
529
+ padding: var(--jp-private-code-span-padding) 0;
530
+ }
531
+ .jp-RenderedText pre .ansi-green-bg {
532
+ background-color: #00a250;
533
+ padding: var(--jp-private-code-span-padding) 0;
534
+ }
535
+ .jp-RenderedText pre .ansi-yellow-bg {
536
+ background-color: #ddb62b;
537
+ padding: var(--jp-private-code-span-padding) 0;
538
+ }
539
+ .jp-RenderedText pre .ansi-blue-bg {
540
+ background-color: #208ffb;
541
+ padding: var(--jp-private-code-span-padding) 0;
542
+ }
543
+ .jp-RenderedText pre .ansi-magenta-bg {
544
+ background-color: #d160c4;
545
+ padding: var(--jp-private-code-span-padding) 0;
546
+ }
547
+ .jp-RenderedText pre .ansi-cyan-bg {
548
+ background-color: #60c6c8;
549
+ padding: var(--jp-private-code-span-padding) 0;
550
+ }
551
+ .jp-RenderedText pre .ansi-white-bg {
552
+ background-color: #c5c1b4;
553
+ padding: var(--jp-private-code-span-padding) 0;
554
+ }
555
+
556
+ .jp-RenderedText pre .ansi-black-intense-fg {
557
+ color: #282c36;
558
+ }
559
+ .jp-RenderedText pre .ansi-red-intense-fg {
560
+ color: #b22b31;
561
+ }
562
+ .jp-RenderedText pre .ansi-green-intense-fg {
563
+ color: #007427;
564
+ }
565
+ .jp-RenderedText pre .ansi-yellow-intense-fg {
566
+ color: #b27d12;
567
+ }
568
+ .jp-RenderedText pre .ansi-blue-intense-fg {
569
+ color: #0065ca;
570
+ }
571
+ .jp-RenderedText pre .ansi-magenta-intense-fg {
572
+ color: #a03196;
573
+ }
574
+ .jp-RenderedText pre .ansi-cyan-intense-fg {
575
+ color: #258f8f;
576
+ }
577
+ .jp-RenderedText pre .ansi-white-intense-fg {
578
+ color: #a1a6b2;
579
+ }
580
+
581
+ .jp-RenderedText pre .ansi-black-intense-bg {
582
+ background-color: #282c36;
583
+ padding: var(--jp-private-code-span-padding) 0;
584
+ }
585
+ .jp-RenderedText pre .ansi-red-intense-bg {
586
+ background-color: #b22b31;
587
+ padding: var(--jp-private-code-span-padding) 0;
588
+ }
589
+ .jp-RenderedText pre .ansi-green-intense-bg {
590
+ background-color: #007427;
591
+ padding: var(--jp-private-code-span-padding) 0;
592
+ }
593
+ .jp-RenderedText pre .ansi-yellow-intense-bg {
594
+ background-color: #b27d12;
595
+ padding: var(--jp-private-code-span-padding) 0;
596
+ }
597
+ .jp-RenderedText pre .ansi-blue-intense-bg {
598
+ background-color: #0065ca;
599
+ padding: var(--jp-private-code-span-padding) 0;
600
+ }
601
+ .jp-RenderedText pre .ansi-magenta-intense-bg {
602
+ background-color: #a03196;
603
+ padding: var(--jp-private-code-span-padding) 0;
604
+ }
605
+ .jp-RenderedText pre .ansi-cyan-intense-bg {
606
+ background-color: #258f8f;
607
+ padding: var(--jp-private-code-span-padding) 0;
608
+ }
609
+ .jp-RenderedText pre .ansi-white-intense-bg {
610
+ background-color: #a1a6b2;
611
+ padding: var(--jp-private-code-span-padding) 0;
612
+ }
613
+
614
+ .jp-RenderedText pre .ansi-default-inverse-fg {
615
+ color: var(--jp-ui-inverse-font-color0);
616
+ }
617
+ .jp-RenderedText pre .ansi-default-inverse-bg {
618
+ background-color: var(--jp-inverse-layout-color0);
619
+ padding: var(--jp-private-code-span-padding) 0;
620
+ }
621
+
622
+ .jp-RenderedText pre .ansi-bold {
623
+ font-weight: bold;
624
+ }
625
+ .jp-RenderedText pre .ansi-underline {
626
+ text-decoration: underline;
627
+ }
628
+
629
+ .jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
630
+ background: var(--jp-rendermime-error-background);
631
+ padding-top: var(--jp-code-padding);
632
+ }
633
+
634
+ /*-----------------------------------------------------------------------------
635
+ | RenderedLatex
636
+ |----------------------------------------------------------------------------*/
637
+
638
+ .jp-RenderedLatex {
639
+ color: var(--jp-content-font-color1);
640
+ font-size: var(--jp-content-font-size1);
641
+ line-height: var(--jp-content-line-height);
642
+ }
643
+
644
+ /* Left-justify outputs.*/
645
+ .jp-OutputArea-output.jp-RenderedLatex {
646
+ padding: var(--jp-code-padding);
647
+ text-align: left;
648
+ }
649
+
650
+ /*-----------------------------------------------------------------------------
651
+ | RenderedHTML
652
+ |----------------------------------------------------------------------------*/
653
+
654
+ .jp-RenderedHTMLCommon {
655
+ color: var(--jp-content-font-color1);
656
+ font-family: var(--jp-content-font-family);
657
+ font-size: var(--jp-content-font-size1);
658
+ line-height: var(--jp-content-line-height);
659
+ /* Give a bit more R padding on Markdown text to keep line lengths reasonable */
660
+ padding-right: 20px;
661
+ }
662
+
663
+ .jp-RenderedHTMLCommon em {
664
+ font-style: italic;
665
+ }
666
+
667
+ .jp-RenderedHTMLCommon strong {
668
+ font-weight: bold;
669
+ }
670
+
671
+ .jp-RenderedHTMLCommon u {
672
+ text-decoration: underline;
673
+ }
674
+
675
+ .jp-RenderedHTMLCommon a:link {
676
+ text-decoration: none;
677
+ color: var(--jp-content-link-color);
678
+ }
679
+
680
+ .jp-RenderedHTMLCommon a:hover {
681
+ text-decoration: underline;
682
+ color: var(--jp-content-link-color);
683
+ }
684
+
685
+ .jp-RenderedHTMLCommon a:visited {
686
+ text-decoration: none;
687
+ color: var(--jp-content-link-color);
688
+ }
689
+
690
+ /* Headings */
691
+
692
+ .jp-RenderedHTMLCommon h1,
693
+ .jp-RenderedHTMLCommon h2,
694
+ .jp-RenderedHTMLCommon h3,
695
+ .jp-RenderedHTMLCommon h4,
696
+ .jp-RenderedHTMLCommon h5,
697
+ .jp-RenderedHTMLCommon h6 {
698
+ line-height: var(--jp-content-heading-line-height);
699
+ font-weight: var(--jp-content-heading-font-weight);
700
+ font-style: normal;
701
+ margin: var(--jp-content-heading-margin-top) 0
702
+ var(--jp-content-heading-margin-bottom) 0;
703
+ }
704
+
705
+ .jp-RenderedHTMLCommon h1:first-child,
706
+ .jp-RenderedHTMLCommon h2:first-child,
707
+ .jp-RenderedHTMLCommon h3:first-child,
708
+ .jp-RenderedHTMLCommon h4:first-child,
709
+ .jp-RenderedHTMLCommon h5:first-child,
710
+ .jp-RenderedHTMLCommon h6:first-child {
711
+ margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
712
+ }
713
+
714
+ .jp-RenderedHTMLCommon h1:last-child,
715
+ .jp-RenderedHTMLCommon h2:last-child,
716
+ .jp-RenderedHTMLCommon h3:last-child,
717
+ .jp-RenderedHTMLCommon h4:last-child,
718
+ .jp-RenderedHTMLCommon h5:last-child,
719
+ .jp-RenderedHTMLCommon h6:last-child {
720
+ margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
721
+ }
722
+
723
+ .jp-RenderedHTMLCommon h1 {
724
+ font-size: var(--jp-content-font-size5);
725
+ }
726
+
727
+ .jp-RenderedHTMLCommon h2 {
728
+ font-size: var(--jp-content-font-size4);
729
+ }
730
+
731
+ .jp-RenderedHTMLCommon h3 {
732
+ font-size: var(--jp-content-font-size3);
733
+ }
734
+
735
+ .jp-RenderedHTMLCommon h4 {
736
+ font-size: var(--jp-content-font-size2);
737
+ }
738
+
739
+ .jp-RenderedHTMLCommon h5 {
740
+ font-size: var(--jp-content-font-size1);
741
+ }
742
+
743
+ .jp-RenderedHTMLCommon h6 {
744
+ font-size: var(--jp-content-font-size0);
745
+ }
746
+
747
+ /* Lists */
748
+
749
+ .jp-RenderedHTMLCommon ul:not(.list-inline),
750
+ .jp-RenderedHTMLCommon ol:not(.list-inline) {
751
+ padding-left: 2em;
752
+ }
753
+
754
+ .jp-RenderedHTMLCommon ul {
755
+ list-style: disc;
756
+ }
757
+
758
+ .jp-RenderedHTMLCommon ul ul {
759
+ list-style: square;
760
+ }
761
+
762
+ .jp-RenderedHTMLCommon ul ul ul {
763
+ list-style: circle;
764
+ }
765
+
766
+ .jp-RenderedHTMLCommon ol {
767
+ list-style: decimal;
768
+ }
769
+
770
+ .jp-RenderedHTMLCommon ol ol {
771
+ list-style: upper-alpha;
772
+ }
773
+
774
+ .jp-RenderedHTMLCommon ol ol ol {
775
+ list-style: lower-alpha;
776
+ }
777
+
778
+ .jp-RenderedHTMLCommon ol ol ol ol {
779
+ list-style: lower-roman;
780
+ }
781
+
782
+ .jp-RenderedHTMLCommon ol ol ol ol ol {
783
+ list-style: decimal;
784
+ }
785
+
786
+ .jp-RenderedHTMLCommon ol,
787
+ .jp-RenderedHTMLCommon ul {
788
+ margin-bottom: 1em;
789
+ }
790
+
791
+ .jp-RenderedHTMLCommon ul ul,
792
+ .jp-RenderedHTMLCommon ul ol,
793
+ .jp-RenderedHTMLCommon ol ul,
794
+ .jp-RenderedHTMLCommon ol ol {
795
+ margin-bottom: 0em;
796
+ }
797
+
798
+ .jp-RenderedHTMLCommon hr {
799
+ color: var(--jp-border-color2);
800
+ background-color: var(--jp-border-color1);
801
+ margin-top: 1em;
802
+ margin-bottom: 1em;
803
+ }
804
+
805
+ .jp-RenderedHTMLCommon > pre {
806
+ margin: 1.5em 2em;
807
+ }
808
+
809
+ .jp-RenderedHTMLCommon pre,
810
+ .jp-RenderedHTMLCommon code {
811
+ border: 0;
812
+ background-color: var(--jp-layout-color0);
813
+ color: var(--jp-content-font-color1);
814
+ font-family: var(--jp-code-font-family);
815
+ font-size: inherit;
816
+ line-height: var(--jp-code-line-height);
817
+ padding: 0;
818
+ white-space: pre-wrap;
819
+ }
820
+
821
+ .jp-RenderedHTMLCommon :not(pre) > code {
822
+ background-color: var(--jp-layout-color2);
823
+ padding: 1px 5px;
824
+ }
825
+
826
+ /* Tables */
827
+
828
+ .jp-RenderedHTMLCommon table {
829
+ border-collapse: collapse;
830
+ border-spacing: 0;
831
+ border: none;
832
+ color: var(--jp-ui-font-color1);
833
+ font-size: var(--jp-ui-font-size1);
834
+ table-layout: fixed;
835
+ margin-left: auto;
836
+ margin-right: auto;
837
+ }
838
+
839
+ .jp-RenderedHTMLCommon thead {
840
+ border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
841
+ vertical-align: bottom;
842
+ }
843
+
844
+ .jp-RenderedHTMLCommon td,
845
+ .jp-RenderedHTMLCommon th,
846
+ .jp-RenderedHTMLCommon tr {
847
+ vertical-align: middle;
848
+ padding: 0.5em 0.5em;
849
+ line-height: normal;
850
+ white-space: normal;
851
+ max-width: none;
852
+ border: none;
853
+ }
854
+
855
+ .jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
856
+ .jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
857
+ max-width: none;
858
+ }
859
+
860
+ :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
861
+ :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
862
+ :not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
863
+ text-align: right;
864
+ }
865
+
866
+ .jp-RenderedHTMLCommon th {
867
+ font-weight: bold;
868
+ }
869
+
870
+ .jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
871
+ background: var(--jp-layout-color0);
872
+ }
873
+
874
+ .jp-RenderedHTMLCommon tbody tr:nth-child(even) {
875
+ background: var(--jp-rendermime-table-row-background);
876
+ }
877
+
878
+ .jp-RenderedHTMLCommon tbody tr:hover {
879
+ background: var(--jp-rendermime-table-row-hover-background);
880
+ }
881
+
882
+ .jp-RenderedHTMLCommon table {
883
+ margin-bottom: 1em;
884
+ }
885
+
886
+ .jp-RenderedHTMLCommon p {
887
+ text-align: left;
888
+ margin: 0px;
889
+ }
890
+
891
+ .jp-RenderedHTMLCommon p {
892
+ margin-bottom: 1em;
893
+ }
894
+
895
+ .jp-RenderedHTMLCommon img {
896
+ -moz-force-broken-image-icon: 1;
897
+ }
898
+
899
+ /* Restrict to direct children as other images could be nested in other content. */
900
+ .jp-RenderedHTMLCommon > img {
901
+ display: block;
902
+ margin-left: 0;
903
+ margin-right: 0;
904
+ margin-bottom: 1em;
905
+ }
906
+
907
+ /* Change color behind transparent images if they need it... */
908
+ [data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
909
+ background-color: var(--jp-inverse-layout-color1);
910
+ }
911
+ [data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
912
+ background-color: var(--jp-inverse-layout-color1);
913
+ }
914
+ /* ...or leave it untouched if they don't */
915
+ [data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-dark-background {
916
+ }
917
+ [data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-light-background {
918
+ }
919
+
920
+ .jp-RenderedHTMLCommon img,
921
+ .jp-RenderedImage img,
922
+ .jp-RenderedHTMLCommon svg,
923
+ .jp-RenderedSVG svg {
924
+ max-width: 100%;
925
+ height: auto;
926
+ }
927
+
928
+ .jp-RenderedHTMLCommon img.jp-mod-unconfined,
929
+ .jp-RenderedImage img.jp-mod-unconfined,
930
+ .jp-RenderedHTMLCommon svg.jp-mod-unconfined,
931
+ .jp-RenderedSVG svg.jp-mod-unconfined {
932
+ max-width: none;
933
+ }
934
+
935
+ .jp-RenderedHTMLCommon .alert {
936
+ padding: var(--jp-notebook-padding);
937
+ border: var(--jp-border-width) solid transparent;
938
+ border-radius: var(--jp-border-radius);
939
+ margin-bottom: 1em;
940
+ }
941
+
942
+ .jp-RenderedHTMLCommon .alert-info {
943
+ color: var(--jp-info-color0);
944
+ background-color: var(--jp-info-color3);
945
+ border-color: var(--jp-info-color2);
946
+ }
947
+ .jp-RenderedHTMLCommon .alert-info hr {
948
+ border-color: var(--jp-info-color3);
949
+ }
950
+ .jp-RenderedHTMLCommon .alert-info > p:last-child,
951
+ .jp-RenderedHTMLCommon .alert-info > ul:last-child {
952
+ margin-bottom: 0;
953
+ }
954
+
955
+ .jp-RenderedHTMLCommon .alert-warning {
956
+ color: var(--jp-warn-color0);
957
+ background-color: var(--jp-warn-color3);
958
+ border-color: var(--jp-warn-color2);
959
+ }
960
+ .jp-RenderedHTMLCommon .alert-warning hr {
961
+ border-color: var(--jp-warn-color3);
962
+ }
963
+ .jp-RenderedHTMLCommon .alert-warning > p:last-child,
964
+ .jp-RenderedHTMLCommon .alert-warning > ul:last-child {
965
+ margin-bottom: 0;
966
+ }
967
+
968
+ .jp-RenderedHTMLCommon .alert-success {
969
+ color: var(--jp-success-color0);
970
+ background-color: var(--jp-success-color3);
971
+ border-color: var(--jp-success-color2);
972
+ }
973
+ .jp-RenderedHTMLCommon .alert-success hr {
974
+ border-color: var(--jp-success-color3);
975
+ }
976
+ .jp-RenderedHTMLCommon .alert-success > p:last-child,
977
+ .jp-RenderedHTMLCommon .alert-success > ul:last-child {
978
+ margin-bottom: 0;
979
+ }
980
+
981
+ .jp-RenderedHTMLCommon .alert-danger {
982
+ color: var(--jp-error-color0);
983
+ background-color: var(--jp-error-color3);
984
+ border-color: var(--jp-error-color2);
985
+ }
986
+ .jp-RenderedHTMLCommon .alert-danger hr {
987
+ border-color: var(--jp-error-color3);
988
+ }
989
+ .jp-RenderedHTMLCommon .alert-danger > p:last-child,
990
+ .jp-RenderedHTMLCommon .alert-danger > ul:last-child {
991
+ margin-bottom: 0;
992
+ }
993
+
994
+ .jp-RenderedHTMLCommon blockquote {
995
+ margin: 1em 2em;
996
+ padding: 0 1em;
997
+ border-left: 5px solid var(--jp-border-color2);
998
+ }
999
+
1000
+ a.jp-InternalAnchorLink {
1001
+ visibility: hidden;
1002
+ margin-left: 8px;
1003
+ color: var(--md-blue-800);
1004
+ }
1005
+
1006
+ h1:hover .jp-InternalAnchorLink,
1007
+ h2:hover .jp-InternalAnchorLink,
1008
+ h3:hover .jp-InternalAnchorLink,
1009
+ h4:hover .jp-InternalAnchorLink,
1010
+ h5:hover .jp-InternalAnchorLink,
1011
+ h6:hover .jp-InternalAnchorLink {
1012
+ visibility: visible;
1013
+ }
1014
+
1015
+ .jp-RenderedHTMLCommon kbd {
1016
+ background-color: var(--jp-rendermime-table-row-background);
1017
+ border: 1px solid var(--jp-border-color0);
1018
+ border-bottom-color: var(--jp-border-color2);
1019
+ border-radius: 3px;
1020
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
1021
+ display: inline-block;
1022
+ font-size: var(--jp-ui-font-size0);
1023
+ line-height: 1em;
1024
+ padding: 0.2em 0.5em;
1025
+ }
1026
+
1027
+ /* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
1028
+ * At the bottom of cells this is a bit too much as there is also spacing
1029
+ * between cells. Going all the way to 0 gets too tight between markdown and
1030
+ * code cells.
1031
+ */
1032
+ .jp-RenderedHTMLCommon > *:last-child {
1033
+ margin-bottom: 0.5em;
1034
+ }
1035
+
1036
+ /*-----------------------------------------------------------------------------
1037
+ | Copyright (c) Jupyter Development Team.
1038
+ | Distributed under the terms of the Modified BSD License.
1039
+ |----------------------------------------------------------------------------*/
1040
+
1041
+ .jp-MimeDocument {
1042
+ outline: none;
1043
+ }
1044
+
1045
+
1046
+ /*-----------------------------------------------------------------------------
1047
+ | Copyright (c) Jupyter Development Team.
1048
+ | Distributed under the terms of the Modified BSD License.
1049
+ |----------------------------------------------------------------------------*/
1050
+
1051
+ /*-----------------------------------------------------------------------------
1052
+ | Private CSS variables
1053
+ |----------------------------------------------------------------------------*/
1054
+
1055
+ :root {
1056
+ }
1057
+
1058
+ /*-----------------------------------------------------------------------------
1059
+ | Main OutputArea
1060
+ | OutputArea has a list of Outputs
1061
+ |----------------------------------------------------------------------------*/
1062
+
1063
+ .jp-OutputArea {
1064
+ overflow-y: auto;
1065
+ }
1066
+
1067
+ .jp-OutputArea-child {
1068
+ display: flex;
1069
+ flex-direction: row;
1070
+ }
1071
+
1072
+ body[data-format='mobile'] .jp-OutputArea-child {
1073
+ flex-direction: column;
1074
+ }
1075
+
1076
+ .jp-OutputPrompt {
1077
+ flex: 0 0 var(--jp-cell-prompt-width);
1078
+ color: var(--jp-cell-outprompt-font-color);
1079
+ font-family: var(--jp-cell-prompt-font-family);
1080
+ padding: var(--jp-code-padding);
1081
+ letter-spacing: var(--jp-cell-prompt-letter-spacing);
1082
+ line-height: var(--jp-code-line-height);
1083
+ font-size: var(--jp-code-font-size);
1084
+ border: var(--jp-border-width) solid transparent;
1085
+ opacity: var(--jp-cell-prompt-opacity);
1086
+ /* Right align prompt text, don't wrap to handle large prompt numbers */
1087
+ text-align: right;
1088
+ white-space: nowrap;
1089
+ overflow: hidden;
1090
+ text-overflow: ellipsis;
1091
+ /* Disable text selection */
1092
+ -webkit-user-select: none;
1093
+ -moz-user-select: none;
1094
+ -ms-user-select: none;
1095
+ user-select: none;
1096
+ }
1097
+
1098
+ body[data-format='mobile'] .jp-OutputPrompt {
1099
+ flex: 0 0 auto;
1100
+ text-align: left;
1101
+ }
1102
+
1103
+ .jp-OutputArea-output {
1104
+ height: auto;
1105
+ overflow: auto;
1106
+ user-select: text;
1107
+ -moz-user-select: text;
1108
+ -webkit-user-select: text;
1109
+ -ms-user-select: text;
1110
+ }
1111
+
1112
+ .jp-OutputArea-child .jp-OutputArea-output {
1113
+ flex-grow: 1;
1114
+ flex-shrink: 1;
1115
+ }
1116
+
1117
+ body[data-format='mobile'] .jp-OutputArea-child .jp-OutputArea-output {
1118
+ margin-left: var(--jp-notebook-padding);
1119
+ }
1120
+
1121
+ /**
1122
+ * Isolated output.
1123
+ */
1124
+ .jp-OutputArea-output.jp-mod-isolated {
1125
+ width: 100%;
1126
+ display: block;
1127
+ }
1128
+
1129
+ /*
1130
+ When drag events occur, `p-mod-override-cursor` is added to the body.
1131
+ Because iframes steal all cursor events, the following two rules are necessary
1132
+ to suppress pointer events while resize drags are occurring. There may be a
1133
+ better solution to this problem.
1134
+ */
1135
+ body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
1136
+ position: relative;
1137
+ }
1138
+
1139
+ body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated:before {
1140
+ content: '';
1141
+ position: absolute;
1142
+ top: 0;
1143
+ left: 0;
1144
+ right: 0;
1145
+ bottom: 0;
1146
+ background: transparent;
1147
+ }
1148
+
1149
+ /* pre */
1150
+
1151
+ .jp-OutputArea-output pre {
1152
+ border: none;
1153
+ margin: 0px;
1154
+ padding: 0px;
1155
+ overflow-x: auto;
1156
+ overflow-y: auto;
1157
+ word-break: break-all;
1158
+ word-wrap: break-word;
1159
+ white-space: pre-wrap;
1160
+ }
1161
+
1162
+ /* tables */
1163
+
1164
+ .jp-OutputArea-output.jp-RenderedHTMLCommon table {
1165
+ margin-left: 0;
1166
+ margin-right: 0;
1167
+ }
1168
+
1169
+ /* description lists */
1170
+
1171
+ .jp-OutputArea-output dl,
1172
+ .jp-OutputArea-output dt,
1173
+ .jp-OutputArea-output dd {
1174
+ display: block;
1175
+ }
1176
+
1177
+ .jp-OutputArea-output dl {
1178
+ width: 100%;
1179
+ overflow: hidden;
1180
+ padding: 0;
1181
+ margin: 0;
1182
+ }
1183
+
1184
+ .jp-OutputArea-output dt {
1185
+ font-weight: bold;
1186
+ float: left;
1187
+ width: 20%;
1188
+ padding: 0;
1189
+ margin: 0;
1190
+ }
1191
+
1192
+ .jp-OutputArea-output dd {
1193
+ float: left;
1194
+ width: 80%;
1195
+ padding: 0;
1196
+ margin: 0;
1197
+ }
1198
+
1199
+ .jp-TrimmedOutputs a {
1200
+ margin: 10px;
1201
+ text-decoration: none;
1202
+ cursor: pointer;
1203
+ }
1204
+
1205
+ /* Hide the gutter in case of
1206
+ * - nested output areas (e.g. in the case of output widgets)
1207
+ * - mirrored output areas
1208
+ */
1209
+ .jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
1210
+ display: none;
1211
+ }
1212
+
1213
+ /* Hide empty lines in the output area, for instance due to cleared widgets */
1214
+ .jp-OutputArea-prompt:empty {
1215
+ padding: 0;
1216
+ border: 0;
1217
+ }
1218
+
1219
+ /*-----------------------------------------------------------------------------
1220
+ | executeResult is added to any Output-result for the display of the object
1221
+ | returned by a cell
1222
+ |----------------------------------------------------------------------------*/
1223
+
1224
+ .jp-OutputArea-output.jp-OutputArea-executeResult {
1225
+ margin-left: 0px;
1226
+ flex: 1 1 auto;
1227
+ }
1228
+
1229
+ /* Text output with the Out[] prompt needs a top padding to match the
1230
+ * alignment of the Out[] prompt itself.
1231
+ */
1232
+ .jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
1233
+ padding-top: var(--jp-code-padding);
1234
+ border-top: var(--jp-border-width) solid transparent;
1235
+ }
1236
+
1237
+ /*-----------------------------------------------------------------------------
1238
+ | The Stdin output
1239
+ |----------------------------------------------------------------------------*/
1240
+
1241
+ .jp-Stdin-prompt {
1242
+ color: var(--jp-content-font-color0);
1243
+ padding-right: var(--jp-code-padding);
1244
+ vertical-align: baseline;
1245
+ flex: 0 0 auto;
1246
+ }
1247
+
1248
+ .jp-Stdin-input {
1249
+ font-family: var(--jp-code-font-family);
1250
+ font-size: inherit;
1251
+ color: inherit;
1252
+ background-color: inherit;
1253
+ width: 42%;
1254
+ min-width: 200px;
1255
+ /* make sure input baseline aligns with prompt */
1256
+ vertical-align: baseline;
1257
+ /* padding + margin = 0.5em between prompt and cursor */
1258
+ padding: 0em 0.25em;
1259
+ margin: 0em 0.25em;
1260
+ flex: 0 0 70%;
1261
+ }
1262
+
1263
+ .jp-Stdin-input::placeholder {
1264
+ opacity: 0;
1265
+ }
1266
+
1267
+ .jp-Stdin-input:focus {
1268
+ box-shadow: none;
1269
+ }
1270
+
1271
+ .jp-Stdin-input:focus::placeholder {
1272
+ opacity: 1;
1273
+ }
1274
+
1275
+ /*-----------------------------------------------------------------------------
1276
+ | Output Area View
1277
+ |----------------------------------------------------------------------------*/
1278
+
1279
+ .jp-LinkedOutputView .jp-OutputArea {
1280
+ height: 100%;
1281
+ display: block;
1282
+ }
1283
+
1284
+ .jp-LinkedOutputView .jp-OutputArea-output:only-child {
1285
+ height: 100%;
1286
+ }
1287
+
1288
+ /*-----------------------------------------------------------------------------
1289
+ | Copyright (c) Jupyter Development Team.
1290
+ | Distributed under the terms of the Modified BSD License.
1291
+ |----------------------------------------------------------------------------*/
1292
+
1293
+ /*-----------------------------------------------------------------------------
1294
+ | Private CSS variables
1295
+ |----------------------------------------------------------------------------*/
1296
+
1297
+ :root {
1298
+ --jp-private-cell-scrolling-output-offset: 5px;
1299
+ }
1300
+
1301
+ /*-----------------------------------------------------------------------------
1302
+ | Cell
1303
+ |----------------------------------------------------------------------------*/
1304
+
1305
+ .jp-Cell {
1306
+ padding: var(--jp-cell-padding);
1307
+ margin: 0px;
1308
+ border: none;
1309
+ outline: none;
1310
+ background: transparent;
1311
+ }
1312
+
1313
+ /*-----------------------------------------------------------------------------
1314
+ | Common input/output
1315
+ |----------------------------------------------------------------------------*/
1316
+
1317
+ .jp-Cell-inputWrapper,
1318
+ .jp-Cell-outputWrapper {
1319
+ display: flex;
1320
+ flex-direction: row;
1321
+ padding: 0px;
1322
+ margin: 0px;
1323
+ /* Added to reveal the box-shadow on the input and output collapsers. */
1324
+ overflow: visible;
1325
+ }
1326
+
1327
+ /* Only input/output areas inside cells */
1328
+ .jp-Cell-inputArea,
1329
+ .jp-Cell-outputArea {
1330
+ flex: 1 1 auto;
1331
+ }
1332
+
1333
+
1334
+ /*-----------------------------------------------------------------------------
1335
+ | Output
1336
+ |----------------------------------------------------------------------------*/
1337
+
1338
+ /* Put a space between input and output when there IS output */
1339
+ .jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
1340
+ margin-top: 5px;
1341
+ }
1342
+
1343
+ .jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
1344
+ overflow-y: auto;
1345
+ max-height: 24em;
1346
+ margin-left: var(--jp-private-cell-scrolling-output-offset);
1347
+ }
1348
+
1349
+ .jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
1350
+ content: ' ';
1351
+ box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
1352
+ width: 100%;
1353
+ height: 100%;
1354
+ position: sticky;
1355
+ bottom: 0;
1356
+ top: 0;
1357
+ margin-top: -50%;
1358
+ float: left;
1359
+ display: block;
1360
+ pointer-events: none;
1361
+ }
1362
+
1363
+ .jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
1364
+ padding-top: 6px;
1365
+ }
1366
+
1367
+ .jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
1368
+ flex: 0 0
1369
+ calc(
1370
+ var(--jp-cell-prompt-width) -
1371
+ var(--jp-private-cell-scrolling-output-offset)
1372
+ );
1373
+ }
1374
+
1375
+ /*-----------------------------------------------------------------------------
1376
+ | CodeCell
1377
+ |----------------------------------------------------------------------------*/
1378
+
1379
+ /*-----------------------------------------------------------------------------
1380
+ | MarkdownCell
1381
+ |----------------------------------------------------------------------------*/
1382
+
1383
+ .jp-MarkdownOutput {
1384
+ flex: 1 1 auto;
1385
+ margin-top: 0;
1386
+ margin-bottom: 0;
1387
+ padding-left: var(--jp-code-padding);
1388
+ }
1389
+
1390
+ .jp-MarkdownOutput.jp-RenderedHTMLCommon {
1391
+ overflow: auto;
1392
+ }
1393
+
1394
+ /* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
1395
+ .jp-collapseHeadingButton {
1396
+ display: none;
1397
+ min-height: var(--jp-cell-collapser-min-height);
1398
+ font-size: var(--jp-code-font-size);
1399
+ position: absolute;
1400
+ right: 0;
1401
+ top: 0;
1402
+ bottom: 0;
1403
+ background-color: transparent;
1404
+ background-size: 25px;
1405
+ background-repeat: no-repeat;
1406
+ background-position-x: center;
1407
+ background-position-y: top;
1408
+ background-image: var(--jp-icon-caret-down);
1409
+ border: none;
1410
+ cursor: pointer;
1411
+ }
1412
+
1413
+ .jp-collapseHeadingButton:hover {
1414
+ background-color: var(--jp-layout-color2);
1415
+ }
1416
+
1417
+ .jp-collapseHeadingButton.jp-mod-collapsed {
1418
+ background-image: var(--jp-icon-caret-right);
1419
+ }
1420
+
1421
+ :is(.jp-MarkdownCell:hover, .jp-mod-active) .jp-collapseHeadingButton {
1422
+ display: flex;
1423
+ }
1424
+
1425
+ /*
1426
+ set the container font size to match that of content
1427
+ so that the nested collapse buttons have the right size
1428
+ */
1429
+ .jp-MarkdownCell .jp-InputPrompt {
1430
+ font-size: var(--jp-content-font-size1);
1431
+ }
1432
+
1433
+ /*
1434
+ Align collapseHeadingButton with cell top header
1435
+ The font sizes are identical to the ones in packages/rendermime/style/base.css
1436
+ */
1437
+ .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
1438
+ font-size: var(--jp-content-font-size5);
1439
+ background-position-y: calc(0.3 * var(--jp-content-font-size5));
1440
+ }
1441
+
1442
+ .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
1443
+ font-size: var(--jp-content-font-size4);
1444
+ background-position-y: calc(0.3 * var(--jp-content-font-size4));
1445
+ }
1446
+
1447
+ .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
1448
+ font-size: var(--jp-content-font-size3);
1449
+ background-position-y: calc(0.3 * var(--jp-content-font-size3));
1450
+ }
1451
+
1452
+ .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
1453
+ font-size: var(--jp-content-font-size2);
1454
+ background-position-y: calc(0.3 * var(--jp-content-font-size2));
1455
+ }
1456
+
1457
+ .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
1458
+ font-size: var(--jp-content-font-size1);
1459
+ background-position-y: top;
1460
+ }
1461
+
1462
+ .jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
1463
+ font-size: var(--jp-content-font-size0);
1464
+ background-position-y: top;
1465
+ }
1466
+
1467
+ .jp-showHiddenCellsButton {
1468
+ margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
1469
+ margin-top: var(--jp-code-padding);
1470
+ border: 1px solid var(--jp-border-color2);
1471
+ background-color: var(--jp-border-color3) !important;
1472
+ color: var(--jp-content-font-color0) !important;
1473
+ }
1474
+
1475
+ .jp-showHiddenCellsButton:hover {
1476
+ background-color: var(--jp-border-color2) !important;
1477
+ }
1478
+
1479
+ /*-----------------------------------------------------------------------------
1480
+ | Copyright (c) Jupyter Development Team.
1481
+ | Distributed under the terms of the Modified BSD License.
1482
+ |----------------------------------------------------------------------------*/
1483
+
1484
+
1485
+ /*-----------------------------------------------------------------------------
1486
+ | Presentation Mode (.jp-mod-presentationMode)
1487
+ |----------------------------------------------------------------------------*/
1488
+
1489
+ .jp-mod-presentationMode .jp-Notebook {
1490
+ --jp-content-font-size1: var(--jp-content-presentation-font-size1);
1491
+ --jp-code-font-size: var(--jp-code-presentation-font-size);
1492
+ }
1493
+
1494
+ .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
1495
+ .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
1496
+ flex: 0 0 110px;
1497
+ }
1498
+
1499
+ /*-----------------------------------------------------------------------------
1500
+ | Side-by-side Mode (.jp-mod-sideBySide)
1501
+ |----------------------------------------------------------------------------*/
1502
+ :root {
1503
+ --jp-side-by-side-output-size: 1fr;
1504
+ --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
1505
+ }
1506
+
1507
+ .jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
1508
+ margin-top: 3em;
1509
+ margin-bottom: 3em;
1510
+ margin-left: 5%;
1511
+ margin-right: 5%;
1512
+ }
1513
+
1514
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
1515
+ display: grid;
1516
+ grid-template-columns: minmax(0, 1fr) min-content minmax(
1517
+ 0,
1518
+ var(--jp-side-by-side-output-size)
1519
+ );
1520
+ grid-template-rows: auto minmax(0, 1fr) auto;
1521
+ grid-template-areas:
1522
+ 'header header header'
1523
+ 'input handle output'
1524
+ 'footer footer footer';
1525
+ }
1526
+
1527
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
1528
+ grid-template-columns: minmax(0, 1fr) min-content minmax(
1529
+ 0,
1530
+ var(--jp-side-by-side-resized-cell)
1531
+ );
1532
+ }
1533
+
1534
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
1535
+ grid-area: header;
1536
+ }
1537
+
1538
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
1539
+ grid-area: input;
1540
+ }
1541
+
1542
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
1543
+ /* overwrite the default margin (no vertical separation needed in side by side move */
1544
+ margin-top: 0;
1545
+ grid-area: output;
1546
+ }
1547
+
1548
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
1549
+ grid-area: footer;
1550
+ }
1551
+
1552
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
1553
+ grid-area: handle;
1554
+ user-select: none;
1555
+ display: block;
1556
+ height: 100%;
1557
+ cursor: ew-resize;
1558
+ padding: 0 var(--jp-cell-padding);
1559
+ }
1560
+
1561
+ .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
1562
+ content: '';
1563
+ display: block;
1564
+ background: var(--jp-border-color2);
1565
+ height: 100%;
1566
+ width: 5px;
1567
+ }
1568
+
1569
+ .jp-mod-sideBySide.jp-Notebook
1570
+ .jp-CodeCell.jp-mod-resizedCell
1571
+ .jp-CellResizeHandle::after {
1572
+ background: var(--jp-border-color0);
1573
+ }
1574
+
1575
+ .jp-CellResizeHandle {
1576
+ display: none;
1577
+ }
1578
+
1579
+ /*-----------------------------------------------------------------------------
1580
+ | Placeholder
1581
+ |----------------------------------------------------------------------------*/
1582
+
1583
+ .jp-Cell-Placeholder {
1584
+ padding-left: 55px;
1585
+ }
1586
+
1587
+ .jp-Cell-Placeholder-wrapper {
1588
+ background: #fff;
1589
+ border: 1px solid;
1590
+ border-color: #e5e6e9 #dfe0e4 #d0d1d5;
1591
+ border-radius: 4px;
1592
+ -webkit-border-radius: 4px;
1593
+ margin: 10px 15px;
1594
+ }
1595
+
1596
+ .jp-Cell-Placeholder-wrapper-inner {
1597
+ padding: 15px;
1598
+ position: relative;
1599
+ }
1600
+
1601
+ .jp-Cell-Placeholder-wrapper-body {
1602
+ background-repeat: repeat;
1603
+ background-size: 50% auto;
1604
+ }
1605
+
1606
+ .jp-Cell-Placeholder-wrapper-body div {
1607
+ background: #f6f7f8;
1608
+ background-image: -webkit-linear-gradient(
1609
+ left,
1610
+ #f6f7f8 0%,
1611
+ #edeef1 20%,
1612
+ #f6f7f8 40%,
1613
+ #f6f7f8 100%
1614
+ );
1615
+ background-repeat: no-repeat;
1616
+ background-size: 800px 104px;
1617
+ height: 104px;
1618
+ position: relative;
1619
+ }
1620
+
1621
+ .jp-Cell-Placeholder-wrapper-body div {
1622
+ position: absolute;
1623
+ right: 15px;
1624
+ left: 15px;
1625
+ top: 15px;
1626
+ }
1627
+
1628
+ div.jp-Cell-Placeholder-h1 {
1629
+ top: 20px;
1630
+ height: 20px;
1631
+ left: 15px;
1632
+ width: 150px;
1633
+ }
1634
+
1635
+ div.jp-Cell-Placeholder-h2 {
1636
+ left: 15px;
1637
+ top: 50px;
1638
+ height: 10px;
1639
+ width: 100px;
1640
+ }
1641
+
1642
+ div.jp-Cell-Placeholder-content-1,
1643
+ div.jp-Cell-Placeholder-content-2,
1644
+ div.jp-Cell-Placeholder-content-3 {
1645
+ left: 15px;
1646
+ right: 15px;
1647
+ height: 10px;
1648
+ }
1649
+
1650
+ div.jp-Cell-Placeholder-content-1 {
1651
+ top: 100px;
1652
+ }
1653
+
1654
+ div.jp-Cell-Placeholder-content-2 {
1655
+ top: 120px;
1656
+ }
1657
+
1658
+ div.jp-Cell-Placeholder-content-3 {
1659
+ top: 140px;
1660
+ }