index.css 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843
  1. /*
  2. * Copyright 2018-2022 Elyra Authors
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. body {
  17. --elyra-border-radius: 0;
  18. --elyra-color-icon: var(--jp-icon-contrast-color3);
  19. --elyra-color-panel-bg: var(--jp-layout-color1);
  20. --elyra-color-panel-border: var(--jp-border-color0);
  21. --elyra-color-focus: var(--jp-border-color1);
  22. --elyra-color-text-primary: var(--jp-ui-font-color0);
  23. --elyra-color-button-text: var(--jp-ui-font-color0);
  24. --elyra-color-button-bg: var(--jp-input-active-background);
  25. --elyra-color-button-hover-bg: var(--jp-input-hover-background);
  26. /* ======================================================================== */
  27. /* PIPELINE */
  28. /* ======================================================================== */
  29. /* comment */
  30. --elyra-color-comment-text: var(--jp-ui-font-color0);
  31. --elyra-color-comment-link: var(--jp-border-color1);
  32. --elyra-color-comment-bg: var(--jp-editor-selected-background);
  33. --elyra-color-comment-border: var(--jp-border-color1);
  34. /* node */
  35. --elyra-color-node-text: var(--jp-ui-font-color0);
  36. --elyra-color-node-link: var(--jp-content-link-color);
  37. --elyra-color-node-bg: var(--jp-cell-editor-active-background);
  38. --elyra-color-node-border: transparent;
  39. --elyra-color-node-hover-bg: var(--jp-input-hover-background);
  40. --elyra-color-node-hover-border: transparent;
  41. /* errors */
  42. --elyra-color-text-error: var(--jp-rendermime-error-background);
  43. --elyra-color-error-border: var(--jp-error-color0);
  44. /* tooltip */
  45. --elyra-color-tooltip-text: var(--jp-content-font-color0);
  46. --elyra-color-tooltip-text-bold: var(--jp-editor-selected-background);
  47. --elyra-color-tooltip-bg: var(--jp-cell-editor-active-background);
  48. --elyra-color-tooltip-border: var(--jp-border-color1);
  49. /* ======================================================================== */
  50. /* FORM */
  51. /* ======================================================================== */
  52. --elyra-color-formLabel-text: var(--jp-content-font-color0);
  53. --elyra-color-formDescription-text: var(--jp-content-font-color0);
  54. /* text input */
  55. --elyra-color-textInput-text: var(--jp-content-font-color0);
  56. --elyra-color-textInput-bg: var(--jp-cell-editor-active-background);
  57. --elyra-color-textInput-border: var(--jp-border-color1);
  58. --elyra-color-textInput-disabled-text: var(--jp-inverse-layout-color4);
  59. /* array input */
  60. --elyra-color-arrayInput-text: var(--jp-content-font-color0);
  61. --elyra-color-arrayInput-bg: var(--jp-cell-editor-active-background);
  62. --elyra-color-arrayInput-border: var(--jp-border-color1);
  63. /* dropdown */
  64. --elyra-color-dropdown-text: var(--jp-content-font-color0);
  65. --elyra-color-dropdown-bg: var(--jp-cell-editor-active-background);
  66. --elyra-color-dropdown-border: var(--jp-border-color1);
  67. --elyra-color-dropdownItem-hover-bg: var(--jp-input-hover-background);
  68. /* checkbox */
  69. --elyra-color-checkbox-text: var(--jp-content-font-color0);
  70. --elyra-color-checkbox-bg: var(--jp-cell-editor-active-background);
  71. --elyra-color-checkbox-border: var(--jp-border-color1);
  72. /* primary button */
  73. --elyra-color-formButton-text: var(--jp-ui-font-color0);
  74. --elyra-color-formButton-bg: var(--jp-layout-color3);
  75. --elyra-color-formButton-border: transparent;
  76. --elyra-color-formButton-hover-bg: var(--jp-content-font-color3);
  77. --elyra-color-formButton-hover-border: transparent;
  78. /* ======================================================================== */
  79. /* PALETTE */
  80. /* ======================================================================== */
  81. --elyra-color-palette-text: var(--jp-ui-font-color0);
  82. --elyra-color-palette-bg: var(--jp-cell-editor-active-background);
  83. --elyra-color-palette-border: transparent;
  84. /* ======================================================================== */
  85. /* FONTS */
  86. /* ======================================================================== */
  87. /* sans */
  88. --elyra-font-family-sans: var(--jp-ui-font-family);
  89. --elyra-font-weight-sans: normal;
  90. --elyra-font-size-sans: var(--jp-code-font-size);
  91. /* mono */
  92. --elyra-font-family-mono: var(--jp-ui-font-family);
  93. --elyra-font-weight-mono: normal;
  94. --elyra-font-size-mono: var(--jp-code-font-size);
  95. }
  96. body {
  97. background-color: var(--jp-editor-selected-background);
  98. }
  99. .elyra-empty-text {
  100. color: rgba(0, 0, 0, 0.68);
  101. cursor: default;
  102. font-family: -apple-system, system-ui, sans-serif;
  103. font-size: 13px;
  104. height: 19px;
  105. letter-spacing: 0.52px;
  106. line-height: 18.2px;
  107. user-select: none;
  108. }
  109. .elyra-empty-image {
  110. opacity: 0.05;
  111. margin-bottom: 50px;
  112. }
  113. .properties-control-panel[data-id='properties-nodeGroupInfo']
  114. > .properties-control-panel
  115. > .properties-control-item {
  116. position: relative;
  117. }
  118. .properties-control-panel[data-id='properties-nodeGroupInfo']
  119. > .properties-control-panel
  120. > .properties-control-item
  121. .error::before {
  122. display: block;
  123. content: ' ';
  124. position: absolute;
  125. width: 6px;
  126. border-left-width: 2px;
  127. border-left-style: solid;
  128. left: 5px;
  129. top: 15px;
  130. bottom: 18px;
  131. border-color: var(--elyra-color-error-border);
  132. }
  133. .elyra-stringArrayControl-inputWrapper {
  134. height: 35px;
  135. }
  136. .elyra-PipelineEditor .elyra-stringArrayControl-input {
  137. width: 100%;
  138. height: 100%;
  139. margin-bottom: 5px;
  140. }
  141. .properties-input-control.error input:not([disabled]) {
  142. box-shadow: none;
  143. }
  144. span.bx--list-box__label {
  145. color: var(--elyra-color-formLabel-text);
  146. }
  147. .properties-dropdown.error .bx--list-box__field:not([disabled]) {
  148. box-shadow: none;
  149. }
  150. .elyra-PipelineEditor .properties-wrapper .bx--list-box__field {
  151. height: 100%;
  152. }
  153. .elyra-PipelineEditor .properties-wrapper input[type='text']:disabled {
  154. height: 39px;
  155. padding-left: 8px;
  156. }
  157. .properties-dropdown .bx--list-box--expanded .bx--list-box__menu {
  158. top: auto;
  159. }
  160. .properties-wrapper .bx--list-box__menu-item {
  161. display: contents;
  162. }
  163. .properties-required-indicator {
  164. display: none;
  165. }
  166. .properties-control-panel[data-id='properties-elyra_resources']
  167. .properties-custom-ctrl {
  168. position: absolute;
  169. bottom: 18px;
  170. padding-right: 14px;
  171. }
  172. .properties-control-panel[data-id='properties-elyra_resources']
  173. .properties-control-description {
  174. padding-bottom: 35px;
  175. }
  176. .elyra-stringArrayControl-listItem {
  177. padding: 5px;
  178. }
  179. .elyra-stringArrayControl-listRow:hover {
  180. position: relative;
  181. background-color: var(--jp-border-color2);
  182. }
  183. /* ======================================================== */
  184. /* ======================================================== */
  185. /* ======================================================== */
  186. .properties-control-panel[data-id='properties-nodeGroupInfo']
  187. > .properties-control-panel
  188. > .properties-control-item {
  189. position: relative;
  190. }
  191. .properties-control-panel[data-id='properties-nodeGroupInfo']
  192. > .properties-control-panel
  193. > .properties-control-item:hover {
  194. background-color: var(--jp-cell-editor-background);
  195. }
  196. .properties-control-panel[data-id='properties-nodeGroupInfo']
  197. > .properties-control-panel
  198. > .properties-control-item.selected {
  199. background-color: var(--jp-editor-selected-focused-background);
  200. }
  201. .properties-control-panel[data-id='properties-nodeGroupInfo']
  202. > .properties-control-panel
  203. > .properties-control-item.selected::before {
  204. content: '';
  205. position: absolute;
  206. top: 0;
  207. left: 0;
  208. right: 0;
  209. border-top: 1px solid var(--jp-border-color2);
  210. }
  211. .elyra-stringArrayControl-listRow {
  212. background-color: var(--jp-border-color3);
  213. margin-bottom: 5px;
  214. }
  215. .properties-control-panel[data-id='properties-nodeGroupInfo']
  216. > .properties-control-panel
  217. > .properties-control-item.selected::after {
  218. content: '';
  219. position: absolute;
  220. bottom: 0;
  221. left: 0;
  222. right: 0;
  223. border-top: 1px solid var(--jp-border-color2);
  224. }
  225. .elyra-resourcesWrapper {
  226. display: flex;
  227. flex-direction: row;
  228. position: relative;
  229. height: 110px;
  230. }
  231. .elyra-resourceInput {
  232. width: 22%;
  233. display: flex;
  234. flex-direction: column;
  235. padding-right: 9px;
  236. }
  237. /* ======================================================== */
  238. /* ======================================================== */
  239. /* ======================================================== */
  240. .d3-node-port-input,
  241. .d3-node-port-output,
  242. .d3-node-port-input[connected='yes'],
  243. .d3-node-port-output[connected='yes'] {
  244. stroke: var(--elyra-color-comment-text);
  245. fill: var(--elyra-color-comment-text);
  246. stroke-width: 4;
  247. }
  248. .d3-node-port-input:hover,
  249. .d3-node-port-output:hover,
  250. .d3-node-port-input[connected='yes']:hover,
  251. .d3-node-port-output[connected='yes']:hover {
  252. stroke: var(--elyra-color-node-text);
  253. fill: var(--elyra-color-node-text);
  254. stroke-width: 4;
  255. }
  256. .d3-node-port-input-arrow {
  257. display: none;
  258. }
  259. .elyra-PipelineEditor .palette-flyout-div,
  260. .elyra-PipelineEditor
  261. .palette-flyout-search-container
  262. .palette-flyout-search
  263. input {
  264. background-color: var(--jp-layout-color1);
  265. color: var(--jp-content-font-color1);
  266. }
  267. .elyra-PipelineEditor .palette-flyout-div {
  268. border-right: 1px solid var(--jp-layout-color3);
  269. }
  270. .elyra-PipelineEditor .palette-flyout-content .palette-list-item:hover {
  271. background-color: var(--jp-border-color1);
  272. }
  273. .elyra-PipelineEditor .bx--search-magnifier {
  274. stroke: var(--jp-inverse-layout-color1);
  275. }
  276. .elyra-PipelineEditor svg.palette-flyout-category-caret,
  277. .elyra-PipelineEditor .palette-flyout-category-item-icon {
  278. background: none;
  279. fill: var(--jp-inverse-layout-color1);
  280. }
  281. .tip-palette-item,
  282. .tip-palette-category,
  283. .tip-palette-label,
  284. .tip-palette-desc {
  285. color: var(--elyra-color-tooltip-text) !important;
  286. }
  287. .elyra-PipelineEditor
  288. .palette-flyout-category
  289. .elyra-PipelineEditor
  290. .palette-content-list {
  291. border-bottom: 1px solid var(--jp-content-font-color0);
  292. }
  293. /* tabs */
  294. .elyra-tabPanel > .elyra-actionBar {
  295. padding: 0 8px;
  296. }
  297. .elyra-tab {
  298. cursor: pointer;
  299. user-select: none;
  300. text-transform: uppercase;
  301. padding: 4px 10px 3px;
  302. }
  303. .elyra-tabText {
  304. line-height: 27px;
  305. font-family: var(--elyra-font-family-sans);
  306. font-size: 11px;
  307. font-weight: var(--elyra-font-weight-sans);
  308. color: var(--jp-border-color1);
  309. }
  310. .elyra-tabText:hover {
  311. color: var(--jp-ui-font-color0);
  312. }
  313. .elyra-tabText.activeTab {
  314. color: var(--jp-ui-font-color0);
  315. border-bottom: 1px solid var(--jp-border-color2);
  316. }
  317. .elyra-icon {
  318. font: normal normal normal 16px/1 codicon;
  319. font-size: 16px;
  320. text-decoration: none;
  321. text-rendering: auto;
  322. text-align: center;
  323. -webkit-font-smoothing: antialiased;
  324. }
  325. .elyra-actionItem {
  326. cursor: pointer;
  327. user-select: none;
  328. display: inline-block;
  329. transition: transform 50ms ease;
  330. position: relative;
  331. padding: 3px;
  332. }
  333. .elyra-actionItem:active {
  334. transform: scale(1.272019649);
  335. }
  336. .elyra-verticalTabGroup .elyra-tabItem {
  337. margin: 3px 0;
  338. }
  339. .elyra-verticalTabGroup .elyra-tabItem:hover {
  340. background-color: var(--jp-cell-editor-background);
  341. }
  342. .elyra-verticalTabGroup .elyra-tabItem:active {
  343. background-color: rgba(255, 255, 255, 0.18);
  344. }
  345. .elyra-actionBar .elyra-actionItemIcon {
  346. color: var(--elyra-color-arrayInput-text);
  347. display: block;
  348. height: 35px;
  349. line-height: 35px;
  350. min-width: 28px;
  351. margin-right: 4px;
  352. }
  353. .elyra-stringArrayControl-listRow:hover .elyra-stringArrayControl-listActions {
  354. height: 100%;
  355. align-items: center;
  356. margin-right: 3px;
  357. }
  358. .elyra-actionItem:hover {
  359. background-color: var(--jp-border-color1);
  360. }
  361. .elyra-stringArrayControl-listActions .elyra-actionItemIcon {
  362. color: var(--elyra-color-arrayInput-text);
  363. width: 16px;
  364. height: 20px;
  365. padding: 2px;
  366. margin-right: 2px;
  367. display: flex;
  368. align-items: center;
  369. justify-content: center;
  370. background-position: center;
  371. }
  372. .elyra-tabItemIcon {
  373. cursor: pointer;
  374. user-select: none;
  375. color: var(--elyra-color-arrayInput-text);
  376. display: inline-block;
  377. height: 35px;
  378. line-height: 35px;
  379. min-width: 28px;
  380. margin-right: 4px;
  381. }
  382. .elyra-icon {
  383. background-repeat: no-repeat;
  384. }
  385. .elyra-icon.elyra-item-delete {
  386. background-image: url('data:image/svg+xml;utf8,<svg focusable="false" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" width="15" height="32" viewBox="0 0 32 32"> <title>Delete item</title> <g class="jp-icon3"> <path d="M12 12H14V24H12zM18 12H20V24H18z"></path> <path d="M4 6V8H6V28a2 2 0 002 2H24a2 2 0 002-2V8h2V6zM8 28V8H24V28zM12 2H20V4H12z"></path> </g> </svg>');
  387. }
  388. .elyra-icon.elyra-item-edit {
  389. background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"> <g class="jp-icon3"> <path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/> </g> </svg>');
  390. }
  391. .elyra-icon.elyra-panel-close::before {
  392. content: '';
  393. }
  394. .elyra-icon.properties::before {
  395. content: '';
  396. }
  397. .elyra-icon.palette::before {
  398. content: '\eb5c';
  399. }
  400. .elyra-icon.properties-checkbox {
  401. background-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg"> <g class="jp-icon-none jp-icon-selectable-inverse jp-icon3-hover" fill="none"> <circle cx="12" cy="12" r="11"/></g><g class="jp-icon3 jp-icon-selectable jp-icon-accent2-hover" fill="#616161"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></g><g class="jp-icon-none jp-icon-busy" fill="none"><circle cx="12" cy="12" r="7"/></g></svg>');
  402. }
  403. .elyra-icon.elyra-item-folder {
  404. background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" viewBox="0 0 24 24"> <path class="jp-icon3 jp-icon-selectable" d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/> </svg>');
  405. }
  406. .elyra-stringArrayActions {
  407. height: 100%;
  408. align-items: center;
  409. }
  410. .elyra-inputContainer {
  411. width: 100%;
  412. }
  413. .elyra-listRow {
  414. margin-bottom: 3px;
  415. }
  416. .elyra-loader {
  417. display: block;
  418. position: absolute;
  419. left: -200px;
  420. width: 200px;
  421. height: 4px;
  422. border-radius: 4px;
  423. background-color: var(--jp-brand-color1);
  424. animation: loading 2s linear infinite;
  425. }
  426. /* context menu */
  427. .d3-node-ellipsis-group {
  428. display: none;
  429. }
  430. .context-menu-popover {
  431. margin-top: -6px;
  432. margin-left: 2px;
  433. padding: 6px 0;
  434. backdrop-filter: saturate(180%) blur(20px);
  435. border-radius: 6px;
  436. /* box-shadow: 0px 4px 17.64px 3.36px rgba(0, 0, 0, 0.2); */
  437. user-select: none;
  438. cursor: default;
  439. /* box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.05),
  440. 0px 8px 15px 2px rgba(0, 0, 0, 0.18); */
  441. box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05),
  442. 0px 4px 15px 2px rgba(0, 0, 0, 0.18);
  443. }
  444. .context-menu-popover::before {
  445. position: absolute;
  446. top: 0;
  447. left: 0;
  448. width: 200%;
  449. height: 200%;
  450. border-radius: 13px;
  451. content: '';
  452. transform: scale(0.5);
  453. -webkit-transform: scale(0.5);
  454. transform-origin: 0 0;
  455. -webkit-transform-origin: 0 0;
  456. }
  457. .react-contextmenu-item {
  458. position: relative;
  459. margin: 0 6px;
  460. width: auto;
  461. height: 22px;
  462. border-radius: 4px;
  463. font-size: 13px;
  464. padding: 3px 9px;
  465. box-sizing: border-box;
  466. cursor: default;
  467. z-index: 0;
  468. }
  469. .react-contextmenu-item:hover::before {
  470. content: '';
  471. /* rgba(10, 130, 255, 0.75); */
  472. background-color: rgba(54, 131, 247, 0.75);
  473. backdrop-filter: saturate(0%);
  474. position: absolute;
  475. top: 0;
  476. left: 0;
  477. right: 0;
  478. bottom: 0;
  479. border-radius: 4px;
  480. z-index: -1;
  481. }
  482. .react-contextmenu-item:hover::after {
  483. content: '';
  484. background: var(--elyra-color-panel-bg);
  485. position: absolute;
  486. top: 0;
  487. left: 0;
  488. right: 0;
  489. bottom: 0;
  490. border-radius: 4px;
  491. z-index: -2;
  492. }
  493. .react-contextmenu-item.contextmenu-divider {
  494. margin: 5px 15px;
  495. }
  496. .react-contextmenu-item.react-contextmenu-item--disabled {
  497. cursor: default;
  498. opacity: 1;
  499. }
  500. .react-contextmenu-item:active,
  501. .react-contextmenu-item:focus,
  502. .react-contextmenu-item.react-contextmenu-item--disabled {
  503. background: transparent !important;
  504. }
  505. .react-contextmenu-item.react-contextmenu-item--disabled::before,
  506. .react-contextmenu-item.react-contextmenu-item--disabled::after {
  507. display: none !important;
  508. }
  509. /* ========================================================================== */
  510. /* LIGHT THEME */
  511. /* ========================================================================== */
  512. .context-menu-popover {
  513. background: rgba(231, 231, 231, 0.76);
  514. }
  515. .context-menu-popover::before {
  516. /* box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.22),
  517. inset 0px 0px 0px 2px rgba(255, 255, 255, 0.1); */
  518. box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.22),
  519. inset 0px 0px 0px 1px rgba(255, 255, 255, 0.1);
  520. }
  521. .react-contextmenu-item {
  522. color: rgba(0, 0, 0, 0.85);
  523. }
  524. .react-contextmenu-item:hover {
  525. color: rgba(255, 255, 255, 1);
  526. }
  527. .react-contextmenu-item.react-contextmenu-item--disabled {
  528. color: rgba(0, 0, 0, 0.315); /* 0.27, 0.36 */
  529. }
  530. .react-contextmenu-item.contextmenu-divider {
  531. background-color: #000000;
  532. opacity: 0.13; /* 0.11, 0.15 */
  533. }
  534. /* ========================================================================== */
  535. /* DARK THEME */
  536. /* ========================================================================== */
  537. body.elyra-dark .context-menu-popover {
  538. background: rgba(46, 46, 46, 0.72);
  539. }
  540. body.elyra-dark .context-menu-popover::before {
  541. box-shadow: inset 0px 0px 0px 1px rgba(0, 0, 0, 0.86),
  542. inset 0px 0px 0px 3px rgba(255, 255, 255, 0.2);
  543. }
  544. body.elyra-dark .react-contextmenu-item {
  545. color: rgba(255, 255, 255, 0.9);
  546. }
  547. body.elyra-dark .react-contextmenu-item:hover {
  548. color: rgba(255, 255, 255, 0.9);
  549. }
  550. body.elyra-dark .react-contextmenu-item.react-contextmenu-item--disabled {
  551. color: rgba(255, 255, 255, 0.355); /* 0.29, 0.42 */
  552. }
  553. body.elyra-dark .react-contextmenu-item.contextmenu-divider {
  554. background-color: #ffffff;
  555. opacity: 0.205; /* 0.17, 0.24 */
  556. }
  557. input.elyra-Dialog-checkbox.jp-mod-styled {
  558. appearance: auto;
  559. -moz-appearance: checkbox;
  560. -webkit-appearance: checkbox;
  561. height: auto;
  562. }
  563. .elyra-dialog-form {
  564. max-width: 700px;
  565. }
  566. .elyra-dialog-form input[type='text'] {
  567. width: 100%;
  568. }
  569. .elyra-dialog-form input,
  570. .elyra-dialog-form select.jp-mod-styled {
  571. border-radius: 4px;
  572. }
  573. .elyra-resourceInputDescription {
  574. padding-top: 4px;
  575. padding-bottom: 4px;
  576. }
  577. #cpu,
  578. #gpu,
  579. #memory {
  580. position: absolute;
  581. vertical-align: baseline;
  582. bottom: 0;
  583. width: 20%;
  584. }
  585. /* fix a Safari bug where button margins default to 2px */
  586. .properties-control-panel button {
  587. margin: 0;
  588. }
  589. .toolbar-item-content .toolbar-icon svg {
  590. background: var(--jp-border-color2);
  591. }
  592. .elyra-PipelineEditor .toolbar-item.default button:disabled:hover svg,
  593. .toolbar-item.ghost button:disabled:hover svg,
  594. .toolbar-overflow-menu-item button:disabled:hover svg {
  595. background-color: var(--jp-border-color2);
  596. }
  597. .elyra-PipelineEditor .toolbar-item.default button:hover svg,
  598. .toolbar-item.ghost button:hover svg,
  599. .toolbar-overflow-item button:hover svg,
  600. .toolbar-overflow-menu-item button:hover svg {
  601. background: var(--jp-border-color1);
  602. }
  603. .properties-control-panel[data-id='properties-elyra_resources'] {
  604. display: flex;
  605. }
  606. .properties-control-panel[data-id='properties-elyra_resources']
  607. .properties-ctrl-wrapper {
  608. width: 33%;
  609. }
  610. .elyra-PipelineEditor .toolbar-item.default button:hover,
  611. .toolbar-item.ghost button:hover,
  612. .toolbar-overflow-item button:hover,
  613. .toolbar-overflow-menu-item button:hover {
  614. background-color: var(--jp-border-color1);
  615. }
  616. .properties-custom-ctrl div[data-testid='list-row'] {
  617. background-color: var(--jp-border-color1);
  618. padding: 3px;
  619. }
  620. .properties-control-item[data-id='properties-ci-runtime_image']
  621. ul[role='listbox'] {
  622. max-height: 120px;
  623. overflow-y: scroll;
  624. }
  625. .properties-control-item[data-id='properties-ci-runtime_image']
  626. ul[role='listbox']::-webkit-scrollbar {
  627. width: 10px;
  628. }
  629. .properties-control-item[data-id='properties-ci-runtime_image']
  630. ul[role='listbox']::-webkit-scrollbar-thumb {
  631. background-color: var(--jp-border-color1);
  632. }
  633. .properties-control-item[data-id='properties-ci-runtime_image']
  634. ul[role='listbox']::-webkit-scrollbar-thumb:hover {
  635. background-color: var(--jp-border-color0);
  636. }
  637. .properties-control-item[data-id='properties-ci-runtime_image']
  638. ul[role='listbox']
  639. li {
  640. height: 22px;
  641. display: flex;
  642. align-items: center;
  643. margin-left: 5px;
  644. }
  645. .elyra-PipelineEditor .toolbar-item.tertiary button:disabled,
  646. .elyra-PipelineEditor .toolbar-item.tertiary button:disabled:hover {
  647. background-color: var(--jp-border-color2);
  648. color: var(--jp-content-font-color1);
  649. border: none;
  650. cursor: initial;
  651. }
  652. .elyra-PipelineEditor .elyra_categoryHeader {
  653. padding-left: 33px;
  654. padding-right: 24px;
  655. }
  656. .elyra-PipelineEditor .elyra_categoryHeader .panel-label {
  657. font-size: var(--jp-content-font-size2);
  658. }
  659. .elyra-PipelineEditor-Alert {
  660. white-space: pre-line;
  661. }
  662. /* fix font ligatures */
  663. .lsp-completer-theme-vscode {
  664. letter-spacing: normal;
  665. }
  666. a {
  667. pointer-events: auto;
  668. cursor: pointer;
  669. }
  670. .empty-pipeline-header {
  671. color: #8897a2;
  672. text-align: center;
  673. }
  674. h3.empty-pipeline-header {
  675. font-size: var(--jp-content-font-size5);
  676. }
  677. h4.empty-pipeline-header {
  678. font-size: var(--jp-content-font-size3);
  679. }
  680. .empty-pipeline-icon {
  681. display: inline-block;
  682. vertical-align: middle;
  683. }
  684. .empty-pipeline-button {
  685. display: inline-block;
  686. vertical-align: middle;
  687. pointer-events: auto;
  688. cursor: pointer;
  689. padding: 0;
  690. border: none;
  691. background: none;
  692. color: var(--jp-brand-color1);
  693. }
  694. .empty-pipeline-button:hover {
  695. background-color: var(--jp-layout-color2);
  696. cursor: pointer;
  697. }
  698. .empty-pipeline-button .jp-icon3[fill] {
  699. fill: var(--jp-brand-color1);
  700. }