summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTheodore Aptekarev <aptekarev@gmail.com>2022-06-10 22:32:13 +0300
committerGitHub <noreply@github.com>2022-06-10 21:32:13 +0200
commit79e9275ccf4616cb04119758518e80be198bdaf8 (patch)
tree6b9ded0ca6e40e162616b864833f2f78570af5e1
parent4ad367d2e02cb610840612ee6fa4f5156e59f27b (diff)
Release/1.5.0 (#1926)v1.5.0
* Add more build assets and all notebook checkpoints to ignore * Delete old reports that were accidentally added to the repo * Fix portfolios not bundling * Add mac installer image assets * Update license * Make the code folder hidden in macOS package * Add folder and launcher icons programmatically during build * Change dmg creation tool to create-dmg * Update macOS installation docs * Bump project version * Update macOS installation instruction image links * Fix macOS installation instructions styling * Unify macOS install instructions image size * Point download links to the website vs github * Fix macOS launcher self-quarantine command * Fix routines not launching in packaged apps * Fix .openbb test mode not displaying filenames during test run * Remove file with weird apple character in path
-rw-r--r--.gitignore8
-rw-r--r--LICENSE2
-rwxr-xr-xbuild/pyinstaller/build4mac.sh46
-rwxr-xr-xbuild/pyinstaller/macOS_package_assets/OpenBB Terminal/OpenBB Terminal4
-rw-r--r--build/pyinstaller/setup_icons.applescript20
-rw-r--r--build/pyinstaller/terminal.spec1
-rw-r--r--images/dmg_volume.icnsbin0 -> 674218 bytes
-rw-r--r--images/openbb_dmg_background.pngbin0 -> 13236 bytes
-rw-r--r--images/openbb_dmg_background@2x.pngbin0 -> 33150 bytes
-rw-r--r--images/openbb_folder_icon.icnsbin0 -> 84165 bytes
-rw-r--r--openbb_terminal/jupyter/reports/stored/20220404_092139_crypto_market.html15253
-rw-r--r--openbb_terminal/jupyter/reports/stored/20220404_100708_crypto_market.html15220
-rw-r--r--pyproject.toml2
-rw-r--r--terminal.py24
-rw-r--r--website/content/_index.md65
15 files changed, 111 insertions, 30534 deletions
diff --git a/.gitignore b/.gitignore
index 63ed8ea8d2b..85867164489 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,15 +20,11 @@ openbb_terminal/config_plot.py
openbb_terminal/config_terminal.py
openbb_terminal/feature_flags.py
openbb_terminal/reports/stored/*
-openbb_terminal/dashboards/.ipynb_checkpoints
-openbb_terminal/custom_reports/*/.ipynb_checkpoints
-openbb_terminal/reports/.ipynb_checkpoints
-openbb_terminal/reports/widgets/.ipynb_checkpoints
!openbb_terminal/reports/stored/.gitkeep
!openbb_terminal/dashboards/*.ipynb
!openbb_terminal/reports/*.ipynb
openbb_terminal/portfolio/portfolios/*
-.ipynb_checkpoints/*
+**/.ipynb_checkpoints
*.swp
*.http
bots/interactive/*.html
@@ -40,6 +36,8 @@ bots/interactive/*.html
dist/*
build/terminal
build/nsis/app
+DMG/*
+*.dmg
# Jupyter Lab Extension build files
jupyterlab/*/*.bundle.*
diff --git a/LICENSE b/LICENSE
index c3ddb31fb53..b366787995e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2021 Didier Rodrigues Lopes
+Copyright (c) 2021-2022 OpenBB Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/build/pyinstaller/build4mac.sh b/build/pyinstaller/build4mac.sh
index bd841bad191..8159341362b 100755
--- a/build/pyinstaller/build4mac.sh
+++ b/build/pyinstaller/build4mac.sh
@@ -13,20 +13,48 @@ rm -rf openbb_terminal/logs
pyinstaller build/pyinstaller/terminal.spec
+# Assign icons to the built folder and launcher
+osascript build/pyinstaller/setup_icons.applescript
+
# Create the folder that is used for packaging
mkdir DMG
# Copy relevant artifacts to the packaging folder
cp -r build/pyinstaller/macOS_package_assets/* DMG/
-mv dist/OpenBBTerminal DMG/"$DISK_IMAGE_NAME"/OpenBB
-
-# Copy launcher and other artifacts to the DMG
-hdiutil create \
- -volname "$DISK_IMAGE_NAME" \
- -srcfolder DMG \
- -ov \
- -format UDZO \
- "$DISK_IMAGE_NAME".dmg
+mv dist/OpenBBTerminal DMG/"$DISK_IMAGE_NAME"/.OpenBB
+
+# Create a DMG with create-dmg
+#
+# NOTE:
+# Code signing and notarization requires adding the following:
+#
+# --codesign "Common name of the Developer certificate"
+# --format UDIF
+# --notarize "Notarization identity " see:
+# https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution/customizing_the_notarization_workflow
+
+if ! command -v create-dmg &> /dev/null
+then
+ echo "create could not be found"
+ echo "install create-dmg from brew or github"
+ exit
+fi
+
+create-dmg \
+ --volname "OpenBB Terminal" \
+ --volicon "images/dmg_volume.icns" \
+ --background "images/openbb_dmg_background.png" \
+ --icon "OpenBB Terminal" 190 250 \
+ --window-pos 190 120 \
+ --window-size 800 400 \
+ --icon-size 100 \
+ --text-size 14 \
+ --app-drop-link 600 250 \
+ --eula LICENSE \
+ --format UDZO \
+ --no-internet-enable \
+ "OpenBB Terminal".dmg DMG
+
# Clean Up artifacts from this build
rm -rf build/terminal && rm -rf dist && rm -rf DMG
diff --git a/build/pyinstaller/macOS_package_assets/OpenBB Terminal/OpenBB Terminal b/build/pyinstaller/macOS_package_assets/OpenBB Terminal/OpenBB Terminal
index 0a7ee1b600f..5503832bff9 100755
--- a/build/pyinstaller/macOS_package_assets/OpenBB Terminal/OpenBB Terminal
+++ b/build/pyinstaller/macOS_package_assets/OpenBB Terminal/OpenBB Terminal
@@ -3,7 +3,7 @@ clear
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-xattr -r -d com.apple.quarantine "$SCRIPTDIR"/OpenBB
+xattr -r -d com.apple.quarantine "$SCRIPTDIR"/.OpenBB
echo " _ _ _ "
echo " | | | (_) "
@@ -19,4 +19,4 @@ The boot up process might take a while. Please be patient...
"
echo "$BOOTUP_MESSAGE"
-"$SCRIPTDIR"/OpenBB/OpenBBTerminal
+"$SCRIPTDIR"/.OpenBB/OpenBBTerminal
diff --git a/build/pyinstaller/setup_icons.applescript b/build/pyinstaller/setup_icons.applescript
new file mode 100644
index 00000000000..8bbce2b5471
--- /dev/null
+++ b/build/pyinstaller/setup_icons.applescript
@@ -0,0 +1,20 @@
+use framework "Foundation"
+use framework "AppKit"
+use scripting additions
+
+-- Get script location
+tell application "Finder"
+ set current_path to POSIX path of (container of (path to me) as alias)
+end tell
+
+-- Set OpenBB Terminal folder icon relative to script location
+set sourcePath to current_path & "../../images/openbb_folder_icon.icns"
+set destPath to current_path & "macOS_package_assets/OpenBB Terminal"
+set imageData to (current application's NSImage's alloc()'s initWithContentsOfFile:sourcePath)
+(current application's NSWorkspace's sharedWorkspace()'s setIcon:imageData forFile:destPath options:2)
+
+-- Set OpenBB Terminal launcher icon relative to script location
+set sourcePath to current_path & "../../images/openbb.icns"
+set destPath to current_path & "macOS_package_assets/OpenBB Terminal/OpenBB Terminal"
+set imageData to (current application's NSImage's alloc()'s initWithContentsOfFile:sourcePath)
+(current application's NSWorkspace's sharedWorkspace()'s setIcon:imageData forFile:destPath options:2)
diff --git a/build/pyinstaller/terminal.spec b/build/pyinstaller/terminal.spec
index acf568bd267..1b3ba0ed7a6 100644
--- a/build/pyinstaller/terminal.spec
+++ b/build/pyinstaller/terminal.spec
@@ -29,6 +29,7 @@ set_key(default_env_file, "OPENBB_LOGGING_COMMIT_HASH", str(commit_hash))
added_files = [
(os.path.join(os.getcwd(), "openbb_terminal"), "openbb_terminal"),
(os.path.join(os.getcwd(), "routines"), "routines"),
+ (os.path.join(os.getcwd(), "portfolio"), "portfolio"),
(os.path.join(os.getcwd(), "i18n"), "i18n"),
(os.path.join(os.getcwd(), "styles"), "styles"),
(os.path.join(pathex, "property_cached"), "property_cached"),
diff --git a/images/dmg_volume.icns b/images/dmg_volume.icns
new file mode 100644
index 00000000000..255d73c02aa
--- /dev/null
+++ b/images/dmg_volume.icns
Binary files differ
diff --git a/images/openbb_dmg_background.png b/images/openbb_dmg_background.png
new file mode 100644
index 00000000000..12894a59ad5
--- /dev/null
+++ b/images/openbb_dmg_background.png
Binary files differ
diff --git a/images/openbb_dmg_background@2x.png b/images/openbb_dmg_background@2x.png
new file mode 100644
index 00000000000..ee38fefa1bf
--- /dev/null
+++ b/images/openbb_dmg_background@2x.png
Binary files differ
diff --git a/images/openbb_folder_icon.icns b/images/openbb_folder_icon.icns
new file mode 100644
index 00000000000..cf4b7e36087
--- /dev/null
+++ b/images/openbb_folder_icon.icns
Binary files differ
diff --git a/openbb_terminal/jupyter/reports/stored/20220404_092139_crypto_market.html b/openbb_terminal/jupyter/reports/stored/20220404_092139_crypto_market.html
deleted file mode 100644
index 62fb3feafee..00000000000
--- a/openbb_terminal/jupyter/reports/stored/20220404_092139_crypto_market.html
+++ /dev/null
@@ -1,15253 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head><meta charset="utf-8" />
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-
-<title>20220404_092139_crypto_market</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
-
-
-
-
-<style type="text/css">
- pre { line-height: 125%; }
-td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
-span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
-td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
-span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
-.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
-.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
-.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
-.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
-.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
-.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
-.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
-.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
-.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
-.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
-.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
-.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
-.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
-.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
-.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
-.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
-.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
-.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
-.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
-.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
-.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
-.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
-.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
-.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
-.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
-.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
-.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
-.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
-.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
-.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
-.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
-.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
-.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
-.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
-.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
-.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
-.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
-.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
-.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
-.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
-.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
-.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
- </style>
-
-
-
-<style type="text/css">
-/*-----------------------------------------------------------------------------
-| Copyright (c) Jupyter Development Team.
-| Distributed under the terms of the Modified BSD License.
-|----------------------------------------------------------------------------*/
-
-/*
- * Mozilla scrollbar styling
- */
-
-/* use standard opaque scrollbars for most nodes */
-[data-jp-theme-scrollbars='true'] {
- scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
- var(--jp-scrollbar-background-color);
-}
-
-/* for code nodes, use a transparent style of scrollbar. These selectors
- * will match lower in the tree, and so will override the above */
-[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
-[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
- scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
-}
-
-/* tiny scrollbar */
-
-.jp-scrollbar-tiny {
- scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
- scrollbar-width: thin;
-}
-
-/*
- * Webkit scrollbar styling
- */
-
-/* use standard opaque scrollbars for most nodes */
-
-[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar,
-[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-corner {
- background: var(--jp-scrollbar-background-color);
-}
-
-[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-thumb {
- background: rgb(var(--jp-scrollbar-thumb-color));
- border: var(--jp-scrollbar-thumb-margin) solid transparent;
- background-clip: content-box;
- border-radius: var(--jp-scrollbar-thumb-radius);
-}
-
-[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:horizontal {
- border-left: var(--jp-scrollbar-endpad) solid
- var(--jp-scrollbar-background-color);
- border-right: var(--jp-scrollbar-endpad) solid
- var(--jp-scrollbar-background-color);
-}
-
-[data-jp-theme-scrollbars='true'] ::-webkit-scrollbar-track:vertical {
- border-top: var(--jp-scrollbar-endpad) solid
- var(--jp-scrollbar-background-color);
- border-bottom: var(--jp-scrollbar-endpad) solid
- var(--jp-scrollbar-background-color);
-}
-
-/* for code nodes, use a transparent style of scrollbar */
-
-[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar::-webkit-scrollbar,
-[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar::-webkit-scrollbar,
-[data-jp-theme-scrollbars='true']
- .CodeMirror-hscrollbar::-webkit-scrollbar-corner,
-[data-jp-theme-scrollbars='true']
- .CodeMirror-vscrollbar::-webkit-scrollbar-corner {
- background-color: transparent;
-}
-
-[data-jp-theme-scrollbars='true']
- .CodeMirror-hscrollbar::-webkit-scrollbar-thumb,
-[data-jp-theme-scrollbars='true']
- .CodeMirror-vscrollbar::-webkit-scrollbar-thumb {
- background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
- border: var(--jp-scrollbar-thumb-margin) solid transparent;
- background-clip: content-box;
- border-radius: var(--jp-scrollbar-thumb-radius);
-}
-
-[data-jp-theme-scrollbars='true']
- .CodeMirror-hscrollbar::-webkit-scrollbar-track:horizontal {
- border-left: var(--jp-scrollbar-endpad) solid transparent;
- border-right: var(--jp-scrollbar-endpad) solid transparent;
-}
-
-[data-jp-theme-scrollbars='true']
- .CodeMirror-vscrollbar::-webkit-scrollbar-track:vertical {
- border-top: var(--jp-scrollbar-endpad) solid transparent;
- border-bottom: var(--jp-scrollbar-endpad) solid transparent;
-}
-
-/* tiny scrollbar */
-
-.jp-scrollbar-tiny::-webkit-scrollbar,
-.jp-scrollbar-tiny::-webkit-scrollbar-corner {
- background-color: transparent;
- height: 4px;
- width: 4px;
-}
-
-.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
- background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
-}
-
-.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
- border-left: 0px solid transparent;
- border-right: 0px solid transparent;
-}
-
-.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
- border-top: 0px solid transparent;
- border-bottom: 0px solid transparent;
-}
-
-/*
- * Phosphor
- */
-
-.lm-ScrollBar[data-orientation='horizontal'] {
- min-height: 16px;
- max-height: 16px;
- min-width: 45px;
- border-top: 1px solid #a0a0a0;
-}
-
-.lm-ScrollBar[data-orientation='vertical'] {
- min-width: 16px;
- max-width: 16px;
- min-height: 45px;
- border-left: 1px solid #a0a0a0;
-}
-
-.lm-ScrollBar-button {
- background-color: #f0f0f0;
- background-position: center center;
- min-height: 15px;
- max-height: 15px;
- min-width: 15px;
- max-width: 15px;
-}
-
-.lm-ScrollBar-button:hover {
- background-color: #dadada;
-}
-
-.lm-ScrollBar-button.lm-mod-active {
- background-color: #cdcdcd;
-}
-
-.lm-ScrollBar-track {
- background: #f0f0f0;
-}
-
-.lm-ScrollBar-thumb {
- background: #cdcdcd;
-}
-
-.lm-ScrollBar-thumb:hover {
- background: #bababa;
-}
-
-.lm-ScrollBar-thumb.lm-mod-active {
- background: #a0a0a0;
-}
-
-.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
- height: 100%;
- min-width: 15px;
- border-left: 1px solid #a0a0a0;
- border-right: 1px solid #a0a0a0;
-}
-
-.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
- width: 100%;
- min-height: 15px;
- border-top: 1px solid #a0a0a0;
- border-bottom: 1px solid #a0a0a0;
-}
-
-.lm-ScrollBar[data-orientation='horizontal']
- .lm-ScrollBar-button[data-action='decrement'] {
- background-image: var(--jp-icon-caret-left);
- background-size: 17px;
-}
-
-.lm-ScrollBar[data-orientation='horizontal']
- .lm-ScrollBar-button[data-action='increment'] {
- background-image: var(--jp-icon-caret-right);
- background-size: 17px;
-}
-
-.lm-ScrollBar[data-orientation='vertical']
- .lm-ScrollBar-button[data-action='decrement'] {
- background-image: var(--jp-icon-caret-up);
- background-size: 17px;
-}
-
-.lm-ScrollBar[data-orientation='vertical']
- .lm-ScrollBar-button[data-action='increment'] {
- background-image: var(--jp-icon-caret-down);
- background-size: 17px;
-}
-
-/*-----------------------------------------------------------------------------
-| Copyright (c) Jupyter Development Team.
-| Copyright (c) 2014-2017, PhosphorJS Contributors
-|
-| Distributed under the terms of the BSD 3-Clause License.
-|
-| The full license is in the file LICENSE, distributed with this software.
-|----------------------------------------------------------------------------*/
-
-
-/* <DEPRECATED> */ .p-Widget, /* </DEPRECATED> */
-.lm-Widget {
- box-sizing: border-box;
- position: relative;
- overflow: hidden;
- cursor: default;
-}
-
-
-/* <DEPRECATED> */ .p-Widget.p-mod-hidden, /* </DEPRECATED> */
-.lm-Widget.lm-mod-hidden {
- display: none !important;
-}
-
-/*-----------------------------------------------------------------------------
-| Copyright (c) Jupyter Development Team.
-| Copyright (c) 2014-2017, PhosphorJS Contributors
-|
-| Distributed under the terms of the BSD 3-Clause License.
-|
-| The full license is in the file LICENSE, distributed with this software.
-|----------------------------------------------------------------------------*/
-
-
-/* <DEPRECATED> */ .p-CommandPalette, /* </DEPRECATED> */
-.lm-CommandPalette {
- display: flex;
- flex-direction: column;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-search, /* </DEPRECATED> */
-.lm-CommandPalette-search {
- flex: 0 0 auto;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-content, /* </DEPRECATED> */
-.lm-CommandPalette-content {
- flex: 1 1 auto;
- margin: 0;
- padding: 0;
- min-height: 0;
- overflow: auto;
- list-style-type: none;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-header, /* </DEPRECATED> */
-.lm-CommandPalette-header {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-item, /* </DEPRECATED> */
-.lm-CommandPalette-item {
- display: flex;
- flex-direction: row;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-itemIcon, /* </DEPRECATED> */
-.lm-CommandPalette-itemIcon {
- flex: 0 0 auto;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-itemContent, /* </DEPRECATED> */
-.lm-CommandPalette-itemContent {
- flex: 1 1 auto;
- overflow: hidden;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-itemShortcut, /* </DEPRECATED> */
-.lm-CommandPalette-itemShortcut {
- flex: 0 0 auto;
-}
-
-
-/* <DEPRECATED> */ .p-CommandPalette-itemLabel, /* </DEPRECATED> */
-.lm-CommandPalette-itemLabel {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.lm-close-icon {
- border:1px solid transparent;
- background-color: transparent;
- position: absolute;
- z-index:1;
- right:3%;
- top: 0;
- bottom: 0;
- margin: auto;
- padding: 7px 0;
- display: none;
- vertical-align: middle;
- outline: 0;
- cursor: pointer;
-}
-.lm-close-icon:after {
- content: "X";
- display: block;
- width: 15px;
- height: 15px;
- text-align: center;
- color:#000;
- font-weight: normal;
- font-size: 12px;
- cursor: pointer;
-}
-
-/*-----------------------------------------------------------------------------
-| Copyright (c) Jupyter Development Team.
-| Copyright (c) 2014-2017, PhosphorJS Contributors
-|
-| Distributed under the terms of the BSD 3-Clause License.
-|
-| The full license is in the file LICENSE, distributed with this software.
-|----------------------------------------------------------------------------*/
-
-
-/* <DEPRECATED> */ .p-DockPanel, /* </DEPRECATED> */
-.lm-DockPanel {
- z-index: 0;
-}
-
-
-/* <DEPRECATED> */ .p-DockPanel-widget, /* </DEPRECATED> */
-.lm-DockPanel-widget {
- z-index: 0;
-}
-
-
-/* <DEPRECATED> */ .p-DockPanel-tabBar, /* </DEPRECATED> */
-.lm-DockPanel-tabBar {
- z-index: 1;
-}
-
-
-/* <DEPRECATED> */ .p-DockPanel-handle, /* </DEPRECATED> */
-.lm-DockPanel-handle {
- z-index: 2;
-}
-
-
-/* <DEPRECATED> */ .p-DockPanel-handle.p-mod-hidden, /* </DEPRECATED> */
-.lm-DockPanel-handle.lm-mod-hidden {
- display: none !important;
-}
-
-
-/* <DEPRECATED> */ .p-DockPanel-handle:after, /* </DEPRECATED> */
-.lm-DockPanel-handle:after {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- content: '';
-}
-
-
-/* <DEPRECATED> */
-.p-DockPanel-handle[data-orientation='horizontal'],
-/* </DEPRECATED> */
-.lm-DockPanel-handle[data-orientation='horizontal'] {
- cursor: ew-resize;
-}
-
-
-/* <DEPRECATED> */
-.p-DockPanel-handle[data-orientation='vertical'],
-/* </DEPRECATED> */
-.lm-DockPanel-handle[data-orientation='vertical'] {
- cursor: ns-resize;
-}
-
-
-/* <DEPRECATED> */
-.p-DockPanel-handle[data-orientation='horizontal']:after,
-/* </DEPRECATED> */
-.lm-DockPanel-handle[data-orientation='horizontal']:after {
- left: 50%;
- min-width: 8px;
- transform: translateX(-50%);
-}
-
-
-/* <DEPRECATED> */
-.p-DockPanel-handle[data-orientation='vertical']:after,
-/* </DEPRECATED> */
-.lm-DockPanel-handle[data-orientation='vertical']:after {
- top: 50%;
- min-height: 8px;
- transform: translateY(-50%);
-}
-
-
-/* <DEPRECATED> */ .p-DockPanel-overlay, /* </DEPRECATED> */
-.lm-DockPanel-overlay {
- z-index: 3;
- box-sizing: border-box;
- pointer-events: none;
-}
-
-
-/* <DEPRECATED> */ .p-DockPanel-overlay.p-mod-hidden, /* </DEPRECATED> */
-.lm-DockPanel-overlay.lm-mod-hidden {
- display: none !important;
-}
-
-/*-----------------------------------------------------------------------------
-| Copyright (c) Jupyter Development Team.
-| Copyright (c) 2014-2017, PhosphorJS Contributors
-|
-| Distributed under the terms of the BSD 3-Clause License.
-|
-| The full license is in the file LICENSE, distributed with this software.
-|----------------------------------------------------------------------------*/
-
-
-/* <DEPRECATED> */ .p-Menu, /* </DEPRECATED> */
-.lm-Menu {
- z-index: 10000;
- position: absolute;
- white-space: nowrap;
- overflow-x: hidden;
- overflow-y: auto;
- outline: none;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-
-/* <DEPRECATED> */ .p-Menu-content, /* </DEPRECATED> */
-.lm-Menu-content {
- margin: 0;
- padding: 0;
- display: table;
- list-style-type: none;
-}
-
-
-/* <DEPRECATED> */ .p-Menu-item, /* </DEPRECATED> */
-.lm-Menu-item {
- display: table-row;
-}
-
-
-/* <DEPRECATED> */
-.p-Menu-item.p-mod-hidden,
-.p-Menu-item.p-mod-collapsed,
-/* </DEPRECATED> */
-.lm-Menu-item.lm-mod-hidden,
-.lm-Menu-item.lm-mod-collapsed {
- display: none !important;
-}
-
-
-/* <DEPRECATED> */
-.p-Menu-itemIcon,
-.p-Menu-itemSubmenuIcon,
-/* </DEPRECATED> */
-.lm-Menu-itemIcon,
-.lm-Menu-itemSubmenuIcon {
- display: table-cell;
- text-align: center;
-}
-
-
-/* <DEPRECATED> */ .p-Menu-itemLabel, /* </DEPRECATED> */
-.lm-Menu-itemLabel {
- display: table-cell;
- text-align: left;
-}
-
-
-/* <DEPRECATED> */ .p-Menu-itemShortcut, /* </DEPRECATED> */
-.lm-Menu-itemShortcut {
- display: table-cell;
- text-align: right;
-}
-
-/*----------------------------------------------------------------