PlatformIO package of the Teensy core framework compatible with GCC 10 & C++20
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

878 lines
16KB

  1. /**
  2. * Copyright 2013 IBM Corp.
  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. font: 13px "Helvetica" !important;
  18. padding-top: 100px;
  19. background: url("img/pw_maze_white.png");
  20. }
  21. #dropTarget {
  22. position: absolute;
  23. top: 0; bottom: 0;
  24. left: 0; right: 0;
  25. background: rgba(100,100,100,0.5);
  26. display:table;
  27. width: 100%;
  28. height: 100%;
  29. display: none;
  30. }
  31. #dropTarget div {
  32. display: table-cell;
  33. vertical-align: middle;
  34. text-align: center;
  35. font-size: 40px;
  36. color: #fff;
  37. }
  38. div.btn-group, a.btn {
  39. -webkit-user-select: none;
  40. -khtml-user-select: none;
  41. -moz-user-select: none;
  42. -ms-user-select: none;
  43. user-select: none;
  44. }
  45. a.brand {
  46. line-height: 16px;
  47. }
  48. a.brand span {
  49. vertical-align: middle;
  50. font-size: 16px;
  51. }
  52. a.brand img {
  53. height: 16px;
  54. }
  55. .navbar-fixed-top {
  56. position: absolute !important;
  57. z-index: 100 !important;
  58. }
  59. .navbar-inner > .container-fluid {
  60. padding-right: 10px;
  61. }
  62. #workspace {
  63. margin-left: 160px;
  64. overflow: hidden;
  65. }
  66. #chart {
  67. overflow: auto;
  68. background: #e3e3e3;
  69. position: absolute;
  70. bottom:0px;
  71. top: 30px;
  72. left:0px;
  73. right:0px;
  74. }
  75. #workspace-toolbar {
  76. display: none;
  77. position: absolute;
  78. top: 30px;
  79. left:0;
  80. right: 18px;
  81. padding: 5px;
  82. background: #f3f3f3;
  83. }
  84. #chart-zoom-controls {
  85. padding-top: 3px;
  86. text-align: right;
  87. float: right;
  88. }
  89. #palette {
  90. background: #f3f3f3;
  91. width: 160px;
  92. text-align: center;
  93. -webkit-user-select: none;
  94. -khtml-user-select: none;
  95. -moz-user-select: none;
  96. -ms-user-select: none;
  97. user-select: none;
  98. }
  99. .palette-scroll {
  100. display: none;
  101. position: absolute;
  102. top: 0;
  103. left:0;
  104. right: 0;
  105. bottom: 35px;
  106. padding: 5px;
  107. overflow-y: auto;
  108. box-sizing:border-box;
  109. -moz-box-sizing: border-box;
  110. }
  111. .palette-spinner {
  112. padding-top: 40px;
  113. }
  114. #palette-search {
  115. position: absolute;
  116. display: none;
  117. bottom: 0;
  118. left:0;
  119. right:0;
  120. overflow: hidden;
  121. background: #f3f3f3;
  122. text-align: center;
  123. height: 35px;
  124. padding: 3px;
  125. border-top: 1px solid #999;
  126. box-sizing:border-box;
  127. -moz-box-sizing: border-box;
  128. }
  129. #palette-search i.icon-search {
  130. position: absolute;
  131. pointer-events: none;
  132. left: 3px;
  133. top: 10px;
  134. }
  135. #palette-search i.icon-remove {
  136. position: absolute;
  137. right: 3px;
  138. top: 10px;
  139. }
  140. #palette-search-clear {
  141. display: none;
  142. }
  143. #palette-search input {
  144. border-radius: 0;
  145. border: none;
  146. width: 100%;
  147. box-shadow: none;
  148. -webkit-box-shadow: none;
  149. padding: 3px 17px;
  150. margin: 0px;
  151. height: 30px;
  152. box-sizing:border-box;
  153. -moz-box-sizing: border-box;
  154. }
  155. #palette-search input:focus {
  156. border: none;
  157. box-shadow: none;
  158. -webkit-box-shadow: none;
  159. }
  160. .palette-category {
  161. border: 1px solid #999;
  162. border-radius: 3px;
  163. margin-bottom: 5px;
  164. }
  165. .palette-content {
  166. background: #fff;
  167. border-top: 1px solid #aaa;
  168. padding-bottom: 3px;
  169. }
  170. .palette-header {
  171. background: #f3f3f3;
  172. border-radius: 3px;
  173. cursor: pointer;
  174. text-align: left;
  175. padding: 3px;
  176. }
  177. .palette-header i {
  178. float: right;
  179. -webkit-transition: all 0.2s ease-in-out;
  180. -moz-transition: all 0.2s ease-in-out;
  181. -o-transition: all 0.2s ease-in-out;
  182. -webkit-transform: rotate(-90deg);
  183. -moz-transform: rotate(-90deg);
  184. -o-transform: rotate(-90deg);
  185. }
  186. .palette-header i.expanded {
  187. -webkit-transform: rotate(0deg);
  188. -moz-transform: rotate(0deg);
  189. -o-transform: rotate(0deg);
  190. }
  191. .palette-header span {
  192. clear: both;
  193. }
  194. .palette_label {
  195. line-height: 25px;
  196. text-align: center;
  197. }
  198. .palette_node {
  199. cursor:move;
  200. font-size:13px;
  201. background: #ddd;
  202. margin: 10px auto;
  203. height: 25px;
  204. border-radius: 6px;
  205. border: 2px solid #999;
  206. background-position: 5% 50%;
  207. background-repeat: no-repeat;
  208. width: 110px;
  209. background-size: contain;
  210. position: relative;
  211. }
  212. .palette_node:hover {
  213. border-color: #ff7f0e;
  214. background-color: #eee;
  215. }
  216. .palette_port {
  217. position: absolute;
  218. top:8px;
  219. left: -5px;
  220. box-sizing: border-box;
  221. -moz-box-sizing: border-box;
  222. background:#d9d9d9;
  223. border-radius: 3px;
  224. width: 10px;
  225. height: 10px;
  226. border: 1px solid #999;
  227. }
  228. .palette_port_output {
  229. left:105px;
  230. }
  231. .palette_node:hover .palette_port {
  232. border-color: #999;
  233. background-color: #eee;
  234. }
  235. #sidebar {
  236. background: #fff;
  237. box-sizing: border-box;
  238. -moz-box-sizing: border-box;
  239. }
  240. #sidebar.closing {
  241. background: #eee;
  242. border-color: #900;
  243. border-style: dashed;
  244. }
  245. /* ---------- Layout ---------- */
  246. #main-container {
  247. position: absolute;
  248. top:50px; left:0; bottom: 0; right:0;
  249. overflow:hidden;
  250. }
  251. #palette {
  252. position: absolute;
  253. top: 5px; left:10px; bottom: 10px;
  254. }
  255. #workspace {
  256. position: absolute;
  257. margin: 0;
  258. top:5px; left:160px; bottom: 10px; right: 330px;
  259. }
  260. #chart-zoom-controls {
  261. position: absolute;
  262. bottom:30px; right: 350px;
  263. }
  264. #sidebar {
  265. width: 305px;
  266. position: absolute;
  267. right: 10px; top: 5px; bottom:10px;
  268. }
  269. #sidebar-separator {
  270. width: 15px;
  271. background: url("img/grip.png") no-repeat 50% 50%;
  272. position: absolute;
  273. right: 316px; top: 5px; bottom:10px;
  274. cursor: col-resize;
  275. }
  276. .sidebar-closed > #sidebar { display: none; }
  277. .sidebar-closed > #sidebar-separator { right: 0px !important; }
  278. .sidebar-closed > #workspace { right: 15px !important; }
  279. .sidebar-closed > #chart-zoom-controls { right: 35px !important; }
  280. /* ---------- end layout ---------- */
  281. .lasso {
  282. stroke-width: 2px;
  283. stroke: #ff7f0e;
  284. fill: rgba(20,125,255,0.1);
  285. stroke-dasharray: 10 5;
  286. }
  287. .group-box {
  288. stroke-width: 1px;
  289. stroke: #aaaaaa;
  290. fill: rgba(208, 211, 238, 0.1);
  291. stroke-dasharray: 3 3;
  292. }
  293. .group-box-active {
  294. fill: #fff;
  295. stroke: #ff7f0e;
  296. }
  297. .group_label {
  298. stroke-width: 0;
  299. fill: #999;
  300. font-size: 11px;
  301. pointer-events: none;
  302. -webkit-touch-callout: none;
  303. -webkit-user-select: none;
  304. -khtml-user-select: none;
  305. -moz-user-select: none;
  306. -ms-user-select: none;
  307. user-select: none;
  308. }
  309. .pull-right {
  310. margin-left: 20px;
  311. }
  312. #workspace, #palette, #sidebar {
  313. border: 1px solid #000;
  314. border-radius: 3px;
  315. }
  316. #sidebar-content {
  317. font-size: 1.2em;
  318. overflow-y: auto;
  319. position: absolute;
  320. top: 30px; left: 0px; right: 0; bottom: 1px;
  321. }
  322. .node_label_italic {
  323. font-style: italic;
  324. }
  325. .node_label_unknown {
  326. font-style: italic;
  327. fill: #e00 !important;
  328. }
  329. .node_label_white {
  330. fill: #eee !important;
  331. }
  332. .node_label {
  333. stroke-width: 0;
  334. fill: #333;
  335. font-size: 14px;
  336. pointer-events: none;
  337. -webkit-touch-callout: none;
  338. -webkit-user-select: none;
  339. -khtml-user-select: none;
  340. -moz-user-select: none;
  341. -ms-user-select: none;
  342. user-select: none;
  343. }
  344. .function_label {
  345. font-size: 12px;
  346. }
  347. .node {
  348. stroke: #999;
  349. cursor: move;
  350. stroke-width: 2;
  351. }
  352. .node_unknown {
  353. stroke-dasharray:10,4;
  354. stroke: #f33;
  355. }
  356. .tool_arrow {
  357. stroke-width: 1;
  358. stroke: #999;
  359. fill: #999;
  360. cursor: pointer;
  361. }
  362. .node_tools {
  363. fill: #ddd;
  364. stroke: #999;
  365. cursor: move;
  366. stroke-width: 1;
  367. cursor: pointer;
  368. }
  369. .node_tools_hovered {
  370. stroke: #ff7f0e;
  371. fill: #eee;
  372. }
  373. .node_button {
  374. fill: inherit;
  375. }
  376. .node_reqerror {
  377. cursor:pointer;
  378. }
  379. .port {
  380. fill: #ddd;
  381. cursor: crosshair;
  382. }
  383. .node_error {
  384. stroke: #ff0000;
  385. stroke-width: 2;
  386. fill: #ff7f0e;
  387. }
  388. .node_badge {
  389. stroke: rgb(93, 114, 145);
  390. stroke-width: 1;
  391. fill: rgb(190, 209, 255);
  392. }
  393. .node_badge_label {
  394. stroke-width:0;
  395. fill: #fff;
  396. font-size: 11px;
  397. pointer-events: none;
  398. -webkit-touch-callout: none;
  399. -webkit-user-select: none;
  400. -khtml-user-select: none;
  401. -moz-user-select: none;
  402. -ms-user-select: none;
  403. user-select: none;
  404. }
  405. .node_invalid {
  406. stroke: #ff0000;
  407. }
  408. .node_selected {
  409. stroke: #ff7f0e;
  410. }
  411. .node_highlighted {
  412. stroke: #dd1616;
  413. stroke-width: 3;
  414. stroke-dasharray: 10, 4;
  415. }
  416. .node_hovered {
  417. }
  418. .port_hovered {
  419. stroke: #ff7f0e;
  420. fill: #ff7f0e;
  421. }
  422. .drag_line {
  423. stroke: #ff7f0e;
  424. stroke-width: 5;
  425. fill: none;
  426. pointer-events: none;
  427. }
  428. .drag_line_hidden {
  429. stroke: #ff7f0e;
  430. stroke-width: 0;
  431. pointer-events: none;
  432. fill: none;
  433. }
  434. .link_line {
  435. stroke: #7f7f7f;
  436. stroke-width: 4;
  437. fill: none;
  438. pointer-events: none;
  439. }
  440. .link_outline {
  441. stroke: #fff;
  442. stroke-width: 6;
  443. cursor: crosshair;
  444. fill: none;
  445. pointer-events: none;
  446. }
  447. .link_background {
  448. stroke: #fff;
  449. opacity: 0;
  450. stroke-width: 25;
  451. cursor: crosshair;
  452. fill: none;
  453. }
  454. g.link_selected path.link_line {
  455. stroke: #ff7f0e;
  456. }
  457. g.link_unknown path.link_line {
  458. stroke: #f00;
  459. stroke-width: 2;
  460. stroke-dasharray: 10, 4;
  461. }
  462. #shade {
  463. position: absolute;
  464. top:0;
  465. left:0;
  466. width: 100%;
  467. height: 100%;
  468. background: rgba(0,0,0,0.5);
  469. text-align: center;
  470. display: none;
  471. }
  472. #dialog {
  473. }
  474. .container {
  475. }
  476. .notification {
  477. position: absolute;
  478. }
  479. #notifications {
  480. z-index: 10000;
  481. width: 500px;
  482. margin-left: -250px;
  483. left: 50%;
  484. position: absolute;
  485. top: 1px;
  486. }
  487. #notifications .alert {
  488. box-shadow: 0 0 1px 1px;
  489. margin-bottom: 5px;
  490. }
  491. .form-row {
  492. clear: both;
  493. margin-bottom: 7px;
  494. }
  495. .form-row label {
  496. display: inline-block;
  497. width: 100px;
  498. }
  499. .form-row input {
  500. width:70%;
  501. }
  502. input.input-append-left {
  503. border-top-right-radius: 0px;
  504. border-bottom-right-radius: 0px;
  505. }
  506. button.input-append-right {
  507. border-top-left-radius: 0px !important;
  508. border-bottom-left-radius: 0px !important;
  509. border-top-right-radius: 4px !important;
  510. border-bottom-right-radius: 4px !important;
  511. margin-left: -1px !important;
  512. padding-left: 4px !important;
  513. padding-right: 4px !important;
  514. }
  515. .form-tips {
  516. background: lightgoldenrodyellow;
  517. font-size: 12px;
  518. padding: 8px;
  519. border-radius: 5px;
  520. border: 1px solid #999;
  521. }
  522. .form-tips code {
  523. border: none;
  524. padding: auto;
  525. }
  526. .ui-tabs .ui-tabs-panel {
  527. padding: 0px;
  528. }
  529. table.node-info {
  530. margin: 5px;
  531. width: 97%;
  532. }
  533. table.node-info tr {
  534. border: 1px solid #ddd;
  535. }
  536. table.node-info tr.blank {
  537. border: none;
  538. }
  539. table.node-info tr.blank td {
  540. padding-top: 8px;
  541. }
  542. table.node-info td:first-child{
  543. color: #000;
  544. vertical-align: top;
  545. width: 90px;
  546. padding: 0 3px;
  547. border-right: 1px solid #ddd;
  548. }
  549. table.node-info td:last-child{
  550. padding-left: 5px;
  551. color: #666;
  552. }
  553. div.node-info {
  554. margin: 5px;
  555. }
  556. .input-error {
  557. border-color: rgb(214, 97, 95) !important;
  558. }
  559. .hidden {
  560. display: none;
  561. }
  562. .dropdown-menu * .icon-ok {
  563. display: none;
  564. }
  565. .dropdown-menu * a.active > .icon-ok {
  566. display: inline-block;
  567. }
  568. .dropdown-menu>li.disabled>a:hover>[class^="icon-"] {
  569. background-image: url("bootstrap/img/glyphicons-halflings.png") !important;
  570. }
  571. /** Fix for unreachable dropdown menu **/
  572. .dropdown-menu {
  573. width: 200px !important;
  574. }
  575. .dropdown-menu > li > a {
  576. padding-left: 28px ;
  577. text-indent: -8px ;
  578. white-space: normal !important;
  579. }
  580. .navbar-fixed-top, .navbar-fixed-bottom {
  581. z-index: 1000;
  582. }
  583. .popover-title { display: none; }
  584. .ui-autocomplete {
  585. max-height: 250px;
  586. overflow-x: hidden;
  587. overflow-y: scroll;
  588. }
  589. .leftButton {
  590. margin-right: 200px !important;
  591. }
  592. #node-help {
  593. width: 700px;
  594. }
  595. #node-help * td {
  596. padding: 0.8em 0.5em;
  597. }
  598. #node-help * tr > td:first-child+td+td {
  599. padding-left: 5em;
  600. }
  601. .help-key {
  602. border: 1px solid #ddd;
  603. padding: 4px;
  604. border-radius: 3px;
  605. background: #f6f6f6;
  606. font-family: Courier, monospace;
  607. box-shadow: #999 1px 1px 1px;
  608. }
  609. #helpcontent {
  610. padding: 20px;
  611. border: 1px solid #ddd;
  612. border-radius: 10px;
  613. background: #fff;
  614. }
  615. #helpnavigation {
  616. overflow: hidden;
  617. border: 1px solid #ddd;
  618. border-radius: 10px;
  619. background: #fff;
  620. }
  621. #helpnavigation li a{
  622. font-size: 1.2em;
  623. padding: 10px;
  624. border-bottom: 1px solid #ddd;
  625. }
  626. #node-select-library {
  627. overflow: hidden;
  628. }
  629. #node-select-library ul {
  630. list-style: none;
  631. padding: 0px;
  632. margin: 2px;
  633. }
  634. #node-select-library li {
  635. cursor: pointer;
  636. }
  637. #node-select-library li.list-selected {
  638. background: #eee;
  639. }
  640. #node-select-library li.list-hover {
  641. background: #ffffd0;
  642. }
  643. .node-text-editor {
  644. border:1px solid #ccc;
  645. border-radius:5px;
  646. overflow: hidden;
  647. }
  648. #workspace-tabs {
  649. margin-right: 28px;
  650. }
  651. #workspace-add-tab {
  652. position: absolute;
  653. top: 0;
  654. right: 0;
  655. height: 29px;
  656. width: 28px;
  657. border-bottom: 1px solid #999;
  658. }
  659. #btn-workspace-add-tab {
  660. display: inline-block;
  661. width: 100%;
  662. background: #e3e3e3;
  663. height: 100%;
  664. line-height: 28px;
  665. text-align: center;
  666. }
  667. #btn-workspace-add-tab:hover {
  668. background: #efefef;
  669. }
  670. ul.red-ui-tabs {
  671. list-style-type: none;
  672. padding:5px 2px 0px 5px;
  673. margin: 0;
  674. display: block;
  675. height: 24px;
  676. border-bottom: 1px solid #999;
  677. background: #e3e3e3;
  678. -webkit-user-select: none;
  679. -khtml-user-select: none;
  680. -moz-user-select: none;
  681. -ms-user-select: none;
  682. user-select: none;
  683. }
  684. ul.red-ui-tabs li {
  685. border-top-left-radius: 5px;
  686. border-top-right-radius: 5px;
  687. display: inline-block;
  688. border-left: 1px solid #999;
  689. border-top: 1px solid #999;
  690. border-right: 1px solid #999;
  691. border-bottom: 1px solid #999;
  692. background: #e3e3e3;
  693. margin: 0 5px 0 0;
  694. height: 23px;
  695. line-height: 17px;
  696. max-width: 150px;
  697. width: 14%;
  698. overflow: hidden;
  699. white-space: nowrap;
  700. }
  701. ul.red-ui-tabs li a.red-ui-tab-label {
  702. display: block;
  703. padding: 3px 16px;
  704. color: #666;
  705. }
  706. ul.red-ui-tabs li {
  707. position: relative;
  708. }
  709. ul.red-ui-tabs li a.red-ui-tab-close {
  710. background: rgba(227,227,227,0.8);
  711. position: absolute;
  712. right: 2px;
  713. top: 2px;
  714. display: block;
  715. width: 20px;
  716. height: 20px;
  717. line-height: 20px;
  718. text-align: center;
  719. padding: 0px;
  720. border-radius: 5px;
  721. }
  722. ul.red-ui-tabs li a.red-ui-tab-close:hover {
  723. background: #bbb !important;
  724. }
  725. ul.red-ui-tabs li a:hover {
  726. text-decoration: none;
  727. background: #f0f0f0;
  728. }
  729. ul.red-ui-tabs li.active {
  730. background: #fff;
  731. border-bottom: 1px solid #fff;
  732. }
  733. ul.red-ui-tabs li.active a {
  734. color: #333;
  735. }
  736. ul.red-ui-tabs li.active a.red-ui-tab-close {
  737. background: rgba(255,255,255,0.8);
  738. }
  739. ul.red-ui-tabs li.active a.red-ui-tab-label:hover {
  740. background: #fff;
  741. }
  742. ul.red-ui-tabs li.red-ui-add-tab {
  743. width: 25px;
  744. border-top-right-radius: 15px;
  745. line-height: 22px;
  746. }
  747. ul.red-ui-tabs li.red-ui-add-tab a {
  748. padding: 2px 4px;
  749. }
  750. ul.tab-config-list {
  751. list-style-type: none;
  752. padding: 3px;
  753. margin: 0;
  754. -webkit-user-select: none;
  755. -khtml-user-select: none;
  756. -moz-user-select: none;
  757. -ms-user-select: none;
  758. user-select: none;
  759. }
  760. ul.tab-config-list li {
  761. max-width: 400px;
  762. font-size: 13px;
  763. background: #f3f3f3;
  764. margin: 10px auto;
  765. border-radius: 3px;
  766. border: 1px solid #ccc;
  767. padding: 3px 8px;
  768. }
  769. div.tab-config-list-type {
  770. }
  771. div.tab-config-list-entry {
  772. position: relative;
  773. margin: 4px 0;
  774. padding: 8px 4px 8px 10px;
  775. background: #fff;
  776. border: 1px solid #ccc;
  777. border-radius: 4px;
  778. cursor: pointer;
  779. }
  780. div.tab-config-list-entry:hover {
  781. background: #f6f6f6;
  782. }
  783. div.tab-config-list-label {
  784. }
  785. div.tab-config-list-users {
  786. position: absolute;
  787. right: 3px;
  788. top: 3px;
  789. bottom: 3px;
  790. line-height: 27px;
  791. font-size: 11px;
  792. background: #f6f6f6;
  793. float: right;
  794. border: 1px solid #eee;
  795. border-radius: 3px;
  796. padding: 1px 5px;
  797. }
  798. i.spinner {
  799. display: inline-block;
  800. width: 14px;
  801. height: 14px;
  802. line-height: 14px;
  803. vertical-align: text-top;
  804. margin-top: 0px;
  805. background: url("img/spin.svg") no-repeat 50% 50%;
  806. background-size: contain
  807. }