base.css 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460
  1. /*-----------------------------------------------------------------------------
  2. | Copyright (c) Jupyter Development Team.
  3. | Distributed under the terms of the Modified BSD License.
  4. |----------------------------------------------------------------------------*/
  5. /*-----------------------------------------------------------------------------
  6. | Private CSS variables
  7. |----------------------------------------------------------------------------*/
  8. :root {
  9. --jp-private-notebook-dragImage-width: 304px;
  10. --jp-private-notebook-dragImage-height: 36px;
  11. --jp-private-notebook-selected-color: var(--md-blue-400);
  12. --jp-private-notebook-active-color: var(--md-green-400);
  13. }
  14. /*-----------------------------------------------------------------------------
  15. | Imports
  16. |----------------------------------------------------------------------------*/
  17. @import './toolbar.css';
  18. @import './executionindicator.css';
  19. /*-----------------------------------------------------------------------------
  20. | Notebook
  21. |----------------------------------------------------------------------------*/
  22. .jp-NotebookPanel {
  23. display: block;
  24. height: 100%;
  25. padding: 20px;
  26. }
  27. .jp-NotebookPanel.jp-Document {
  28. min-width: 240px;
  29. min-height: 120px;
  30. }
  31. .jp-Notebook {
  32. padding-right: var(--jp-notebook-padding);
  33. outline: none;
  34. overflow: auto;
  35. background: var(--jp-layout-color0);
  36. }
  37. .jp-Notebook.jp-mod-scrollPastEnd::after {
  38. display: block;
  39. content: '';
  40. min-height: var(--jp-notebook-scroll-padding);
  41. }
  42. .jp-MainAreaWidget-ContainStrict .jp-Notebook * {
  43. contain: strict;
  44. }
  45. .jp-Notebook-render * {
  46. contain: none !important;
  47. }
  48. .jp-Notebook .jp-Cell {
  49. overflow: visible;
  50. }
  51. .jp-Notebook .jp-Cell .jp-InputPrompt {
  52. cursor: move;
  53. float: left;
  54. }
  55. /*-----------------------------------------------------------------------------
  56. | Notebook state related styling
  57. |
  58. | The notebook and cells each have states, here are the possibilities:
  59. |
  60. | - Notebook
  61. | - Command
  62. | - Edit
  63. | - Cell
  64. | - None
  65. | - Active (only one can be active)
  66. | - Selected (the cells actions are applied to)
  67. | - Multiselected (when multiple selected, the cursor)
  68. | - No outputs
  69. |----------------------------------------------------------------------------*/
  70. /* Command or edit modes */
  71. .jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
  72. opacity: var(--jp-cell-prompt-not-active-opacity);
  73. color: var(--jp-cell-prompt-not-active-font-color);
  74. }
  75. .jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
  76. opacity: var(--jp-cell-prompt-not-active-opacity);
  77. color: var(--jp-cell-prompt-not-active-font-color);
  78. }
  79. /* cell is active */
  80. .jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
  81. background: #147bd1;
  82. }
  83. /* cell is dirty */
  84. .jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
  85. color: var(--jp-warn-color1);
  86. }
  87. .jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt:before {
  88. color: var(--jp-warn-color1);
  89. content: '•';
  90. }
  91. .jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
  92. background: var(--jp-warn-color1);
  93. }
  94. /* collapser is hovered */
  95. .jp-Notebook .jp-Cell .jp-Collapser:hover {
  96. box-shadow: var(--jp-elevation-z2);
  97. background: var(--jp-brand-color1);
  98. opacity: var(--jp-cell-collapser-not-active-hover-opacity);
  99. }
  100. /* cell is active and collapser is hovered */
  101. .jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
  102. background: var(--jp-brand-color0);
  103. opacity: 1;
  104. }
  105. /* Command mode */
  106. .jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
  107. background: var(--jp-notebook-multiselected-color);
  108. }
  109. .jp-Notebook.jp-mod-commandMode
  110. .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
  111. background: transparent;
  112. }
  113. /* Edit mode */
  114. .jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
  115. border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
  116. box-shadow: var(--jp-input-box-shadow);
  117. background-color: var(--jp-cell-editor-active-background);
  118. }
  119. /*-----------------------------------------------------------------------------
  120. | Notebook drag and drop
  121. |----------------------------------------------------------------------------*/
  122. .jp-Notebook-cell.jp-mod-dropSource {
  123. opacity: 0.5;
  124. }
  125. .jp-Notebook-cell.jp-mod-dropTarget,
  126. .jp-Notebook.jp-mod-commandMode
  127. .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
  128. border-top-color: var(--jp-private-notebook-selected-color);
  129. border-top-style: solid;
  130. border-top-width: 2px;
  131. }
  132. .jp-dragImage {
  133. display: block;
  134. flex-direction: row;
  135. width: var(--jp-private-notebook-dragImage-width);
  136. height: var(--jp-private-notebook-dragImage-height);
  137. border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  138. background: var(--jp-cell-editor-background);
  139. overflow: visible;
  140. }
  141. .jp-dragImage-singlePrompt {
  142. box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12);
  143. }
  144. .jp-dragImage .jp-dragImage-content {
  145. flex: 1 1 auto;
  146. z-index: 2;
  147. font-size: var(--jp-code-font-size);
  148. font-family: var(--jp-code-font-family);
  149. line-height: var(--jp-code-line-height);
  150. padding: var(--jp-code-padding);
  151. border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  152. background: var(--jp-cell-editor-background-color);
  153. color: var(--jp-content-font-color3);
  154. text-align: left;
  155. margin: 4px 4px 4px 0px;
  156. }
  157. .jp-dragImage .jp-dragImage-prompt {
  158. flex: 0 0 auto;
  159. min-width: 36px;
  160. color: var(--jp-cell-inprompt-font-color);
  161. padding: var(--jp-code-padding);
  162. padding-left: 12px;
  163. font-family: var(--jp-cell-prompt-font-family);
  164. letter-spacing: var(--jp-cell-prompt-letter-spacing);
  165. line-height: 1.9;
  166. font-size: var(--jp-code-font-size);
  167. border: var(--jp-border-width) solid transparent;
  168. }
  169. .jp-dragImage-multipleBack {
  170. z-index: -1;
  171. position: absolute;
  172. height: 32px;
  173. width: 300px;
  174. top: 8px;
  175. left: 8px;
  176. background: var(--jp-layout-color2);
  177. border: var(--jp-border-width) solid var(--jp-input-border-color);
  178. box-shadow: 2px 2px 4px 0px rgba(0, 0, 0, 0.12);
  179. }
  180. /*-----------------------------------------------------------------------------
  181. | Cell toolbar
  182. |----------------------------------------------------------------------------*/
  183. .jp-NotebookTools {
  184. display: block;
  185. min-width: var(--jp-sidebar-min-width);
  186. color: var(--jp-ui-font-color1);
  187. background: var(--jp-layout-color1);
  188. /* This is needed so that all font sizing of children done in ems is
  189. * relative to this base size */
  190. font-size: var(--jp-ui-font-size1);
  191. overflow: auto;
  192. }
  193. .jp-NotebookTools-tool {
  194. padding: 0px 12px 0 12px;
  195. }
  196. .jp-ActiveCellTool {
  197. padding: 12px;
  198. background-color: var(--jp-layout-color1);
  199. border-top: none !important;
  200. }
  201. .jp-ActiveCellTool .jp-InputArea-prompt {
  202. flex: 0 0 auto;
  203. padding-left: 0px;
  204. }
  205. .jp-ActiveCellTool .jp-InputArea-editor {
  206. flex: 1 1 auto;
  207. background: var(--jp-cell-editor-background);
  208. border-color: var(--jp-cell-editor-border-color);
  209. }
  210. .jp-ActiveCellTool .jp-InputArea-editor .CodeMirror {
  211. background: transparent;
  212. }
  213. .jp-MetadataEditorTool {
  214. flex-direction: column;
  215. padding: 12px 0px 12px 0px;
  216. }
  217. .jp-RankedPanel > :not(:first-child) {
  218. margin-top: 12px;
  219. }
  220. .jp-KeySelector select.jp-mod-styled {
  221. font-size: var(--jp-ui-font-size1);
  222. color: var(--jp-ui-font-color0);
  223. border: var(--jp-border-width) solid var(--jp-border-color1);
  224. }
  225. .jp-KeySelector label,
  226. .jp-MetadataEditorTool label {
  227. line-height: 1.4;
  228. }
  229. .jp-NotebookTools .jp-select-wrapper {
  230. margin-top: 4px;
  231. margin-bottom: 0px;
  232. }
  233. .jp-NotebookTools .jp-Collapse {
  234. margin-top: 16px;
  235. }
  236. /*-----------------------------------------------------------------------------
  237. | Presentation Mode (.jp-mod-presentationMode)
  238. |----------------------------------------------------------------------------*/
  239. .jp-mod-presentationMode .jp-Notebook {
  240. --jp-content-font-size1: var(--jp-content-presentation-font-size1);
  241. --jp-code-font-size: var(--jp-code-presentation-font-size);
  242. }
  243. .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
  244. .jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
  245. flex: 0 0 110px;
  246. }
  247. /*-----------------------------------------------------------------------------
  248. | Side-by-side Mode (.jp-mod-sideBySide)
  249. |----------------------------------------------------------------------------*/
  250. :root {
  251. --jp-side-by-side-output-size: 1fr;
  252. --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
  253. }
  254. .jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
  255. margin-top: 3em;
  256. margin-bottom: 3em;
  257. margin-left: 5%;
  258. margin-right: 5%;
  259. }
  260. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
  261. display: grid;
  262. grid-template-columns: minmax(0, 1fr) min-content minmax(
  263. 0,
  264. var(--jp-side-by-side-output-size)
  265. );
  266. grid-template-rows: auto minmax(0, 1fr) auto;
  267. grid-template-areas:
  268. 'header header header'
  269. 'input handle output'
  270. 'footer footer footer';
  271. }
  272. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
  273. grid-template-columns: minmax(0, 1fr) min-content minmax(
  274. 0,
  275. var(--jp-side-by-side-resized-cell)
  276. );
  277. }
  278. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
  279. grid-area: header;
  280. }
  281. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
  282. grid-area: input;
  283. }
  284. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
  285. /* overwrite the default margin (no vertical separation needed in side by side move */
  286. margin-top: 0;
  287. grid-area: output;
  288. }
  289. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
  290. grid-area: footer;
  291. }
  292. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
  293. grid-area: handle;
  294. user-select: none;
  295. display: block;
  296. height: 100%;
  297. cursor: ew-resize;
  298. padding: 0 var(--jp-cell-padding);
  299. }
  300. .jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
  301. content: '';
  302. display: block;
  303. background: var(--jp-border-color2);
  304. height: 100%;
  305. width: 5px;
  306. }
  307. .jp-mod-sideBySide.jp-Notebook
  308. .jp-CodeCell.jp-mod-resizedCell
  309. .jp-CellResizeHandle::after {
  310. background: var(--jp-border-color0);
  311. }
  312. .jp-CellResizeHandle {
  313. display: none;
  314. }
  315. /*-----------------------------------------------------------------------------
  316. | Placeholder
  317. |----------------------------------------------------------------------------*/
  318. .jp-Cell-Placeholder {
  319. padding-left: 55px;
  320. }
  321. .jp-Cell-Placeholder-wrapper {
  322. background: #fff;
  323. border: 1px solid;
  324. border-color: #e5e6e9 #dfe0e4 #d0d1d5;
  325. border-radius: 4px;
  326. -webkit-border-radius: 4px;
  327. margin: 10px 15px;
  328. }
  329. .jp-Cell-Placeholder-wrapper-inner {
  330. padding: 15px;
  331. position: relative;
  332. }
  333. .jp-Cell-Placeholder-wrapper-body {
  334. background-repeat: repeat;
  335. background-size: 50% auto;
  336. }
  337. .jp-Cell-Placeholder-wrapper-body div {
  338. background: #f6f7f8;
  339. background-image: -webkit-linear-gradient(
  340. left,
  341. #f6f7f8 0%,
  342. #edeef1 20%,
  343. #f6f7f8 40%,
  344. #f6f7f8 100%
  345. );
  346. background-repeat: no-repeat;
  347. background-size: 800px 104px;
  348. height: 104px;
  349. position: relative;
  350. }
  351. .jp-Cell-Placeholder-wrapper-body div {
  352. position: absolute;
  353. right: 15px;
  354. left: 15px;
  355. top: 15px;
  356. }
  357. div.jp-Cell-Placeholder-h1 {
  358. top: 20px;
  359. height: 20px;
  360. left: 15px;
  361. width: 150px;
  362. }
  363. div.jp-Cell-Placeholder-h2 {
  364. left: 15px;
  365. top: 50px;
  366. height: 10px;
  367. width: 100px;
  368. }
  369. div.jp-Cell-Placeholder-content-1,
  370. div.jp-Cell-Placeholder-content-2,
  371. div.jp-Cell-Placeholder-content-3 {
  372. left: 15px;
  373. right: 15px;
  374. height: 10px;
  375. }
  376. div.jp-Cell-Placeholder-content-1 {
  377. top: 100px;
  378. }
  379. div.jp-Cell-Placeholder-content-2 {
  380. top: 120px;
  381. }
  382. div.jp-Cell-Placeholder-content-3 {
  383. top: 140px;
  384. }