boardColors.styl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. // We define a set of six board colors that we took from the FlatUI palette.
  2. // http://flatuicolors.com
  3. //
  4. // XXX Centralizing all these properties in a single file just because their
  5. // value is derived from the same color, doesn't make any sense. We should
  6. // create a mixin/macro that would generate 6 versions of a given property and
  7. // dispatch this list in the other stylus files.
  8. setBoardColor(color)
  9. &#header,
  10. &.sk-spinner div,
  11. .board-backgrounds-list &.background-box,
  12. .board-list & a
  13. background-color: color
  14. .is-selected .minicard
  15. border-left: 3px solid color
  16. button[type=submit].primary, input[type=submit].primary
  17. background-color: darken(color, 20%)
  18. &.pop-over .pop-over-list li a:not(.disabled):hover,
  19. .sidebar .sidebar-content .sidebar-btn:hover,
  20. .sidebar-list li a:hover
  21. background-color: lighten(color, 10%)
  22. &#header ul li.current, &#header-quick-access ul li.current
  23. border-bottom: 2px solid lighten(color, 10%)
  24. &#header-quick-access
  25. background: darken(color, 10%)
  26. color: white
  27. &#header #header-main-bar .board-header-btn.emphasis
  28. background: complement(color)
  29. &:hover,
  30. .board-header-btn-close
  31. background: darken(complement(color), 10%)
  32. &:hover .board-header-btn-close
  33. background: darken(complement(color), 20%)
  34. .materialCheckBox.is-checked
  35. border-bottom: 2px solid color
  36. border-right: 2px solid color
  37. .is-multiselection-active .multi-selection-checkbox
  38. &.is-checked + .minicard
  39. background: lighten(color, 90%)
  40. &:not(.is-checked) + .minicard:hover:not(.minicard-composer)
  41. background: lighten(color, 97%)
  42. .toggle-label
  43. &:after
  44. background-color: darken(color, 20%)
  45. .toggle-switch:checked ~ .toggle-label
  46. background-color: lighten(color, 20%)
  47. &:after
  48. background-color: darken(color, 20%)
  49. @media screen and (max-width: 800px)
  50. &.pop-over .header
  51. background: color
  52. color: white
  53. &#header ul li.current, &#header-quick-access ul li.current
  54. border-bottom: 4px solid lighten(color, 20%)
  55. .board-color-nephritis
  56. setBoardColor(#27AE60)
  57. .board-color-pomegranate
  58. setBoardColor(#C0392B)
  59. .board-color-belize
  60. setBoardColor(#2980B9)
  61. .board-color-wisteria
  62. setBoardColor(#8E44AD)
  63. .board-color-midnight
  64. setBoardColor(#2C3E50)
  65. .board-color-pumpkin
  66. setBoardColor(#E67E22)
  67. .board-color-moderatepink
  68. setBoardColor(#CD5A91)
  69. .board-color-strongcyan
  70. setBoardColor(#00AECC)
  71. .board-color-limegreen
  72. setBoardColor(#4BBF6B)
  73. .board-color-dark
  74. setBoardColor(#2C3E51)
  75. /* Not hidden in dark mode.
  76. card fields: received, start, due, end, members, requested, assigned
  77. .card-details-item.card-details-item-received,
  78. .card-details-item.card-details-item-start,
  79. .card-details-item.card-details-item-due,
  80. .card-details-item.card-details-item-end,
  81. .card-details-item.card-details-item-members,
  82. .card-details-item.card-details-item-name { display:none; }
  83. .card-details-items:empty { display:none; }
  84. */
  85. // DARK MODE, when dark background mode selected.
  86. // Modified version from https://github.com/wekan/wekan/wiki/Custom-CSS-themes#dark-theme
  87. // In progress, please send pull requests to fix remaining visibility issues.
  88. .ui-sortable,
  89. .swimlane,
  90. .swimlane >.swimlane-header-wrap,
  91. .swimlane >.list.js-list,
  92. .swimlane >.list-composer.js-list-composer,
  93. .list-body,
  94. .list,
  95. .list-composer,
  96. .sidebar-content,
  97. .card-details
  98. background-color:#2C3E50
  99. .card-details h3,
  100. .card-details-items,
  101. .card-checklist-items .ui-sortable,
  102. .card-subtasks-items,
  103. .activities,
  104. .material-toggle-switch
  105. color:#bbbbbb
  106. .list-header
  107. background-color: #888888
  108. .board-widget,
  109. .board-widget-labels,
  110. .board-widget-members
  111. color: #aaaaaa
  112. /* popup menu titles (boards, swimlanes, lists, cards, labels) */
  113. .pop-over >.header
  114. display:none;
  115. /* HIDE UNTIL HOVER -------------------------------------------------- */
  116. /* header "+" button */
  117. #header-quick-access .fa-plus
  118. display:none
  119. #header-quick-access:hover .fa-plus
  120. display:inherit
  121. /* "add card" links (use visibility rather than display so items don't jump) */
  122. .open-minicard-composer
  123. visibility:hidden
  124. .list.js-list:hover .open-minicard-composer
  125. visibility:visible
  126. .list-header-menu
  127. visibility:hidden
  128. .list.js-list:hover .list-header-menu
  129. visibility:visible
  130. /* "add list/swimlane" links (use visibility rather than display so items don't jump) */
  131. .list.js-list-composer >.list-header
  132. visibility:hidden
  133. .list.js-list-composer:hover >.list-header
  134. visibility:visible
  135. /* headers */
  136. #header-quick-access, #header
  137. background-color:rgba(0,0,0,.75) !important
  138. #header .board-header-btn:hover
  139. background-color:rgba(255,255,255,0.3) !important
  140. /* foregrounds: swimlanes, lists */
  141. .list >.list-header, .swimlane-header
  142. color:rgba(255,255,255,.7)
  143. /* minicards */
  144. .minicard
  145. background-color:rgba(255,255,255,.4)
  146. .minicard-wrapper.is-selected .minicard,
  147. .minicard:hover,
  148. .minicard-composer.js-composer,
  149. .open-minicard-composer:hover
  150. background-color:rgba(255,255,255,.8) !important
  151. color:#000
  152. .minicard, .minicard .badge
  153. color:#fff
  154. .minicard:hover .badge, .minicard-wrapper.is-selected .badge
  155. color:#000
  156. /* cards */
  157. .card-details .card-details-header
  158. background-color:#ccc
  159. /* sidebar */
  160. .sidebar-tongue, .sidebar-shadow
  161. background-color:#666 !important
  162. .sidebar-content h3, .sidebar-content h2, .sidebar-content
  163. color:rgba(255,255,255,.7) !important
  164. .board-color-relax
  165. setBoardColor(#27AE61)
  166. // RELAX MODE: light green background, with green background color,
  167. // to help this theme users to relax.
  168. // Colors and emphasis are specific to this Wekan theme contributor's company.
  169. .ui-sortable
  170. background-color:#a7e366
  171. .list-header
  172. background-color:#a7e366
  173. border-bottom: 6px solid #a7e366
  174. .list-body
  175. background-color:#a7e366
  176. .list
  177. border-left: 1px dotted #000000
  178. // Card details text emphasis: black border and white background
  179. // to make it details text field easier to find for RELAX MODE users,
  180. // and focus attention.
  181. .card-details .card-details-items
  182. & ~ .js-open-inlined-form
  183. .viewer
  184. background-color #ffffff !important
  185. padding 15px !important
  186. border 1px solid #000000 !important
  187. word-wrap: break-word
  188. // When card has comment, emphasis on minicard:
  189. // bigger red comment icon and number of comments,
  190. // to make it easier notice card comments and focus attention.
  191. .minicard .badges .badge
  192. .badge-icon,
  193. .badge-text
  194. &.badge-comment
  195. display: block
  196. border-radius: 4px
  197. padding: 1px 3px
  198. margin-bottom: 0.3rem
  199. color: #ff0000
  200. background-color: #ffffff
  201. font-weight: bold
  202. font-size: 11pt
  203. .board-color-corteza
  204. setBoardColor(#568BA2)
  205. /*
  206. Wekan for Corteza https://cortezaproject.org
  207. Theme to match Corteza colors from:
  208. https://github.com/cortezaproject/corteza-webapp-messaging/blob/master/src/assets/sass/variables.scss
  209. // Paths
  210. $fonts_dir : './assets/fonts/';
  211. $icomoon-font-path: $fonts_dir + 'icomoon' !default;
  212. $icomoon-font-family: "icomoon" !default;
  213. // Typography
  214. $regular: 'nunito_sansregular';
  215. $bold: 'nunito_sansbold';
  216. $semibold: 'nunito_sanssemibold';
  217. // Color system
  218. $white: #fff !default;
  219. $black: #000 !default;
  220. $primary: #568ba2;
  221. $secondary: #90A3B1;
  222. $success: #719430;
  223. $warning: #F5D380;
  224. $danger: #E85568;
  225. $light: #F3F3F5;
  226. $dark: #1e2224;
  227. $currentmymessagebgcolor : #a7d0e3;
  228. */
  229. //.header-quick-access
  230. // backgroud-color: #568ba2
  231. /*
  232. Alternate "Clear" Styling
  233. */
  234. setBoardClear(color1,color2)
  235. //color1: The quick access color
  236. //color2: The main bar color
  237. &.sk-spinner div,
  238. .board-backgrounds-list &.background-box,
  239. .board-list & a
  240. background: linear-gradient(180deg, color1 0%, color2 100%)
  241. //background: linear-gradient(180deg, rgb(73, 155, 234) 0%, rgb(0, 174, 204) 100%)
  242. .is-selected .minicard
  243. border-left: 3px solid color1
  244. &.pop-over .pop-over-list li a:not(.disabled):hover,
  245. .sidebar .sidebar-content .sidebar-btn:hover,
  246. .sidebar-list li a:hover
  247. background-color: lighten(color1, 10%)
  248. &#header ul li.current, &#header-quick-access ul li.current
  249. border-bottom: 4px solid lighten(color2, 10%)
  250. &#header-quick-access
  251. background: darken(color1, 10%)
  252. //background: rgba(66,137,204,1)
  253. color: #FFF
  254. &#header-quick-access #header-new-board-icon,
  255. &#header-quick-access #header-user-bar,
  256. &#header-quick-access ul li
  257. color: rgba(255,255,255,0.5)
  258. // The background-color value here is not seen,
  259. // its covered by the background of #header-main-bar
  260. // it's just to aid transitions between boards
  261. &#header
  262. background-color: color2
  263. border-bottom: 1px solid darken(color2, 20%)
  264. border-top: 1px solid darken(color2, 40%)
  265. // Since the theme uses a gradient for the header
  266. // and gradients break transitions, it has to be set here
  267. &#header #header-main-bar
  268. background: linear-gradient(180deg, color1 0%, color2 100%)
  269. &#header #header-main-bar p
  270. margin-bottom: 6px
  271. &#header #header-main-bar .board-header-btn.emphasis
  272. background: lighten(color2, 10%)
  273. &:hover,
  274. .board-header-btn-close
  275. background: rgba(0,0,0,0.2)
  276. &:hover .board-header-btn-close
  277. background: rgba(0,0,0,0.2)
  278. .materialCheckBox.is-checked
  279. border-bottom: 2px solid color1
  280. border-right: 2px solid color1
  281. .is-multiselection-active .multi-selection-checkbox
  282. &.is-checked + .minicard
  283. background: lighten(color2, 90%)
  284. &:not(.is-checked) + .minicard:hover:not(.minicard-composer)
  285. background: lighten(color2, 97%)
  286. .toggle-switch:checked ~ .toggle-label
  287. background-color: lighten(color1, 20%)
  288. &:after
  289. background-color: darken(color1, 20%)
  290. .board-canvas
  291. background: linear-gradient(135deg, color1 0%, color2 100%)
  292. .swimlane
  293. background: none
  294. .list:first-child
  295. margin-left: 15px
  296. .list
  297. background: rgba(255,255,255,0.35)
  298. margin: 10px
  299. border: 0
  300. border-radius: 14px
  301. .list.list-composer
  302. background: rgba(255,255,255,0.1)
  303. height: min-content
  304. flex: unset
  305. width: 270px
  306. padding-bottom: 16px
  307. .list.list-composer .open-list-composer
  308. border-radius: 7px
  309. color: rgba(0,0,0,0.3)
  310. padding: 7px 10px
  311. display: block
  312. .list.list-composer .open-list-composer:hover
  313. box-shadow: 0 1px 2px rgba(0,0,0,.2)
  314. background: rgba(255,255,255,0.7)
  315. color: rgba(0,0,0,0.6)
  316. .list-header
  317. background-color: rgba(255,255,255,0.25)
  318. border-radius: 14px 14px 0 0
  319. .list-header:not([class*="list-header-"])
  320. border-bottom: 6px solid rgba(255,255,255,0)
  321. .list-header .list-header-name
  322. color: rgba(0,0,0,0.6)
  323. .list-body
  324. padding: 11px
  325. .minicard
  326. border-radius: 7px
  327. padding: 10px 10px 4px 10px
  328. box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.15)
  329. color: #222
  330. .card-details
  331. border-radius: 0 0 14px 14px
  332. box-shadow: 0 0 7px 0 rgba(0,0,0,0.5)
  333. margin-left: -10px
  334. .list-body .open-minicard-composer
  335. border-radius: 7px
  336. color: rgba(0,0,0,.3)
  337. margin-bottom: 11px
  338. .list-body .open-minicard-composer:hover
  339. background: rgba(255,255,255,0.7)
  340. color: rgba(0,0,0,0.6)
  341. button[type=submit].primary, input[type=submit].primary
  342. box-shadow: none
  343. background-color: rgba(255,255,255,0.5)
  344. color: rgba(0,0,0,0.55)
  345. border-radius: 7px
  346. border: 0
  347. button[type="submit"].primary:hover, input[type="submit"].primary:hover
  348. background-color: rgba(255,255,255,0.7)
  349. color: rgba(0,0,0,0.8)
  350. box-shadow: 0 1px 2px rgba(0,0,0,.2)
  351. .quiet, .quiet a
  352. color: rgba(0,0,0,0.4)
  353. .list-header .list-header-watch-icon
  354. color: rgba(0,0,0,0.5)
  355. position: absolute
  356. margin-top: -34px
  357. margin-let: -11px
  358. a.fa, a i.fa
  359. color: rgba(0,0,0,0.3)
  360. a:not(.disabled).is-active.fa, a:not(.disabled).is-active i.fa, a:not(.disabled):hover.fa, a:not(.disabled):hover i.fa
  361. color: rgba(0,0,0,0.6)
  362. input[type="email"], input[type="password"], input[type="text"]
  363. border: 0
  364. border-radius: 7px
  365. .sidebar-shadow
  366. box-shadow: none
  367. border-left: 9px solid color2
  368. .is-open .sidebar-shadow
  369. box-shadow: -10px 0 8px rgba(0,0,0,0.3)
  370. .list.ui-sortable-helper
  371. transform:rotate(0deg)
  372. .minicard-wrapper.placeholder
  373. background: rgba(0,0,0,0.1)
  374. .minicard-wrapper.ui-sortable-helper
  375. transform:rotate(0deg)
  376. opacity: 0.8
  377. .list-body .open-minicard-composer
  378. color: rgba(0,0,0,.3)
  379. .swinlane.ui-sortable-helper
  380. transform:rotate(0deg)
  381. .swimlane .swimlane-header-wrap
  382. background: linear-gradient(0deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.25) 100%)
  383. .swimlane-header-wrap .inlined-form
  384. width: 100%
  385. .swimlane-header-wrap .list-composer
  386. text-align: center
  387. margin: 5px
  388. .swimlane-header-wrap .list-name-input.full-line
  389. margin: 0
  390. display: inline-block
  391. width: 270px
  392. .swimlane-header-wrap .edit-controls
  393. display: inline-block
  394. vertical-align: middle
  395. .swimlane-header-wrap .primary.confirm
  396. margin-right: 0
  397. .swimlane-header-wrap .fa.fa-times-thin
  398. margin-top: 2px
  399. // This is a general fix so that the little grabby hand appears when dragging the list via the title
  400. .list.ui-sortable-helper,
  401. .list.ui-sortable-helper .list-header.ui-sortable-handle,
  402. .list.ui-sortable-helper .viewer
  403. cursor:-webkit-grabbing;
  404. cursor:grabbing
  405. .board-color-clearblue
  406. setBoardClear(rgb(73, 155, 234),rgb(0, 174, 204))
  407. /*
  408. Alternate "Natural" Styling
  409. */
  410. .board-color-natural
  411. setBoardColor(#596557)
  412. &#header-quick-access
  413. background-color: #2d392b
  414. .ui-sortable
  415. background-color:#dedede
  416. .list-header
  417. background-color: #c9cfc3
  418. border-bottom: 6px solid #c9cfc3
  419. .swimlane .swimlane-header-wrap
  420. background-color: #c2c0ab