default-theme.css 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. :root {
  2. --header-background: #113244;
  3. --header-color: #fff;
  4. --background: #f4f4f4;
  5. --background-transparent: rgba(240, 240, 240, 0.9);
  6. --background-secondary: rgba(208, 208, 208, 1);
  7. --background-tertiary: rgba(188, 188, 188, 1);
  8. --normal: #333;
  9. --normal-secondary: #999;
  10. --primary: #5060a0;
  11. --primary-darker: #405090;
  12. --primary-lighter: #6080b0;
  13. --primary-inverse: #fff;
  14. --secondary: #666;
  15. --secondary-inverse: #eee;
  16. --node-label: #fff;
  17. --node-socket: #444;
  18. --node-socket--withvalue: #44f;
  19. --link-hover: #f00;
  20. --selector-background: rgba(0, 0, 200, 0.1);
  21. --selector-color: var(--primary);
  22. --transition-speed-fast: 0.2s;
  23. --transition-speed: 0.4s;
  24. --transition-speed-slow: 0.8s;
  25. --node-selection: rgba(0, 0, 155, 1);
  26. --border-color: rgba(50, 50, 50, 0.3);
  27. --border-color-lighter: rgba(150, 150, 150, 0.17);
  28. }
  29. .vertical_sep {
  30. flex-basis: 1px;
  31. width: 1px;
  32. height: 30px;
  33. background: var(--primary);
  34. }
  35. .primary {
  36. color: var(--primary);
  37. }
  38. .primary-inverse {
  39. position: relative;
  40. background: var(--primary) !important;
  41. color: var(--primary-inverse) !important;
  42. }
  43. a {
  44. color: var(--primary);
  45. text-decoration: none;
  46. }
  47. button.active:hover::after,
  48. .primary-inverse:hover::after {
  49. content: " ";
  50. position: absolute;
  51. top: 0;
  52. right: 0;
  53. bottom: 0;
  54. left: 0;
  55. transition: all var(--transition-speed);
  56. opacity: 0.2;
  57. background: #000;
  58. }
  59. .secondary {
  60. color: var(--secondary);
  61. }
  62. .secondary-inverse {
  63. background: var(--secondary);
  64. color: var(--secondary-inverse);
  65. }
  66. button {
  67. color: inherit;
  68. }
  69. button.active {
  70. background: var(--primary);
  71. color: var(--primary-inverse);
  72. }
  73. .hover {
  74. position: relative;
  75. }
  76. button::after,
  77. .hover::after {
  78. background: var(--normal);
  79. opacity: 0;
  80. transition: all var(--transition-speed);
  81. }
  82. button:hover::after,
  83. .hover:hover::after {
  84. opacity: 0.1;
  85. }
  86. button:active,
  87. .hover:active {
  88. text-shadow: 0 1px 1px var(--background);
  89. box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.3);
  90. }
  91. button:active::after,
  92. .hover:active::after {
  93. opacity: 0.2;
  94. }
  95. .content-input {
  96. word-wrap: break-word;
  97. overflow: hidden;
  98. }
  99. .content-input,
  100. textarea,
  101. input {
  102. padding: 20px;
  103. outline: none;
  104. box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
  105. transition: all var(--transition-speed);
  106. }
  107. /* only resize textarea vertical */
  108. textarea {
  109. display: block;
  110. resize: vertical;
  111. height: min-content;
  112. }
  113. input::placeholder {
  114. opacity: 0.4;
  115. }
  116. .flow-main h1,
  117. .flow-main h2,
  118. .flow-main h3,
  119. .flow-main h4 {
  120. font-weight: bold;
  121. color: var(--normal);
  122. }
  123. .app-header {
  124. display: flex;
  125. align-items: center;
  126. color: var(--header-color);
  127. background: var(--header-background);
  128. box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
  129. overflow: visible;
  130. z-index: 10;
  131. transition: all var(--transition-speed);
  132. }
  133. .app-info {
  134. color: var(--normal);
  135. }
  136. .app-watermark {
  137. color: black;
  138. opacity: 0.02;
  139. }
  140. .app-flow-container {
  141. background: var(--background);
  142. transition: all var(--transition-speed);
  143. }
  144. .flow-panel__container {
  145. background: var(--background-secondary) !important;
  146. }
  147. /* Flow Funcs PANEL */
  148. .flow-funcs__control {
  149. border-bottom: solid 1px var(--primary);
  150. }
  151. .flow-funcs__group {
  152. background: var(--background-tertiary);
  153. }
  154. .flow-funcs__search input {
  155. color: var(--normal);
  156. border: none;
  157. border-bottom: solid 1px var(--border-color-lighter);
  158. }
  159. .flow-funcs__src {
  160. background: #777;
  161. color: var(--node-label);
  162. text-shadow: 0 0 14px #000, 0 0 4px #000;
  163. }
  164. .flow-funcs__src b {
  165. text-shadow: 0 0 14px #000, 0 0 4px #000;
  166. }
  167. .flow-funcs__container .flow-funcs__header {
  168. color: var(--normal);
  169. }
  170. .hx-toggle-arrow {
  171. color: var(--normal-secondary);
  172. }
  173. .hx-toggle-arrow.active {
  174. color: var(--primary);
  175. }
  176. .flow-funcs__inner {
  177. display: flex;
  178. flex: 1;
  179. flex-flow: column;
  180. justify-content: center;
  181. }
  182. .flow-funcs__inner .hx-collapsible {
  183. transition: all var(--transition-speed);
  184. /*border: none !important;*/
  185. }
  186. .hx-collapsible__header {
  187. transition: all var(--transition-speed);
  188. }
  189. .flow-funcs__container .item {
  190. color: var(--normal) !important;
  191. border: none !important;
  192. }
  193. .flow-funcs__control .item {
  194. color: var(--normal) !important;
  195. }
  196. .flow-container__control button {
  197. color: var(--normal);
  198. }
  199. .flow-container__info {
  200. color: var(--normal);
  201. }
  202. /*
  203. * FLOW manager
  204. */
  205. .flow-selector {
  206. /* TODO: theme */
  207. stroke: var(--selector-color);
  208. fill: var(--selector-background);
  209. }
  210. /*
  211. * LINKS
  212. */
  213. .flow-link__visible {
  214. opacity: 1;
  215. stroke: var(--normal);
  216. }
  217. .flow-view:not(.activity)
  218. .flow-link:not(.flow-link--pointer):hover
  219. .flow-link__visible {
  220. stroke: var(--link-hover);
  221. }
  222. .flow-link__head {
  223. fill: var(--normal) !important;
  224. }
  225. /*
  226. * TRIGGERS
  227. */
  228. .flow-trigger-link__visible {
  229. opacity: 0.5;
  230. stroke: var(--normal);
  231. }
  232. .flow-view:not(.activity)
  233. .flow-trigger-link:not(.flow-trigger-link--pointer):hover
  234. .flow-trigger-link__visible {
  235. stroke: var(--link-hover);
  236. }
  237. /*
  238. * NODES
  239. */
  240. .flow-node {
  241. /*filter: url(#highlight-border);*/
  242. }
  243. .flow-node__label {
  244. font-family: RobotoMono, monospace;
  245. letter-spacing: -0.05em;
  246. font-size: 14px;
  247. fill: var(--node-label);
  248. }
  249. .flow-node__selection {
  250. transition: all var(--transition-speed);
  251. }
  252. .flow-node--selected .flow-node__selection {
  253. stroke: var(--primary);
  254. }
  255. .flow-node--dragging .flow-node__body,
  256. .flow-view:not(.activity) .flow-node:hover .flow-node__body {
  257. stroke-width: 1.5;
  258. stroke: var(--normal);
  259. }
  260. .flow-node__socket {
  261. fill: var(--node-socket);
  262. stroke: var(--node-socket);
  263. }
  264. .flow-linking.flow-node__socket--match,
  265. .flow-node__socket.flow-node__socket--match {
  266. stroke: #2f2 !important;
  267. fill: #2f2 !important;
  268. }
  269. .flow-node__socket-detail {
  270. font-size: 12px;
  271. font-weight: 100;
  272. fill: var(--normal);
  273. }
  274. .flow-node__socket-detail--background {
  275. fill: rgba(230, 230, 230, 0.7);
  276. }
  277. .flow-node__trigger {
  278. fill: var(--node-socket);
  279. stroke: var(--node-socket);
  280. }
  281. .flow-node__trigger--match {
  282. stroke: #2f2 !important;
  283. fill: #2f2 !important;
  284. }
  285. /*
  286. * NODE ACTIVITY
  287. */
  288. .flow-node__activity {
  289. fill: white;
  290. /* fill: var(--background-secondary); */
  291. }
  292. .flow-node__activity-icon > * {
  293. stroke: var(--normal);
  294. }
  295. .flow-node__activity-time {
  296. fill: var(--normal);
  297. }
  298. /*
  299. * HX-MODAL
  300. */
  301. .hx-modal__container {
  302. background: var(--background-transparent);
  303. color: var(--normal);
  304. width: 70vw !important;
  305. height: 80vh;
  306. display: flex;
  307. flex-flow: column;
  308. overflow: hidden;
  309. }
  310. .hx-modal__header {
  311. border-bottom: solid 1px var(--border-color);
  312. flex-shrink: 0;
  313. margin-bottom: 16px;
  314. }
  315. .hx-modal__body {
  316. overflow-y: auto;
  317. flex-grow: 1;
  318. margin: 0;
  319. padding: 0 20px !important;
  320. padding: 20px;
  321. }
  322. .hx-modal__footer {
  323. margin-top: 16px;
  324. flex-shrink: 0;
  325. }
  326. /*
  327. * CHAT
  328. */
  329. .flow-chat {
  330. background: var(--background-secondary);
  331. color: var(--normal);
  332. }
  333. .flow-chat__area {
  334. border-left: solid 1px var(--border-color);
  335. }
  336. .flow-chat__users {
  337. border-left: solid 1px var(--border-color-lighter);
  338. }
  339. .flow-chat__toggle {
  340. border: none;
  341. background: var(--background-secondary);
  342. border-top: solid 1px var(--border-color);
  343. border-left: solid 1px var(--border-color);
  344. border-bottom: solid 1px var(--border-color);
  345. }
  346. .flow-chat__messages .message {
  347. border-bottom: solid 1px var(--border-color-lighter);
  348. }
  349. .flow-chat__messages .handle .name {
  350. font-weight: bold;
  351. }
  352. .flow-chat__messages .message .text {
  353. color: #777;
  354. }
  355. .flow-chat__messages .handle .time {
  356. color: #999;
  357. }
  358. .flow-chat input.handle {
  359. background: #777;
  360. color: #fff;
  361. }
  362. .flow-chat input.message {
  363. background: var(--background) !important;
  364. color: var(--normal);
  365. }
  366. /***************************
  367. * MARKDOWN
  368. ****************/
  369. .markdown-body pre {
  370. background: #333;
  371. color: #eee;
  372. }
  373. .markdown-body pre * {
  374. text-shadow: 0 -1px 1px #000;
  375. }
  376. .fade-enter-active,
  377. .fade-leave-active {
  378. transition: opacity 0.5s;
  379. }
  380. .fade-enter,
  381. .fade-leave-to {
  382. opacity: 0;
  383. }