_d3.scss 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435
  1. /* ------------------------------------------------------------------------------
  2. *
  3. * # D3.js library
  4. *
  5. * Basic styles for D3.js visualization library
  6. *
  7. * ---------------------------------------------------------------------------- */
  8. // Check if component is enabled
  9. @if $enable-d3 {
  10. // Axis
  11. // ------------------------------
  12. // Base
  13. .d3-axis {
  14. // Path
  15. path {
  16. fill: none;
  17. stroke: $gray-600;
  18. shape-rendering: crispEdges;
  19. }
  20. // Line
  21. line {
  22. stroke: $gray-200;
  23. shape-rendering: crispEdges;
  24. }
  25. // Ticks
  26. .tick {
  27. &,
  28. text {
  29. font-size: $font-size-sm;
  30. fill: $gray-900;
  31. }
  32. }
  33. }
  34. // Lighter axis text
  35. .d3-axis-solid {
  36. path,
  37. line {
  38. stroke: $gray-500;
  39. }
  40. // Ticks
  41. .tick {
  42. fill: $gray-600;
  43. text {
  44. fill: $gray-600;
  45. }
  46. }
  47. }
  48. // Stronger axis text
  49. .d3-axis-strong {
  50. path,
  51. line {
  52. stroke: $gray-500;
  53. }
  54. // Ticks
  55. .tick {
  56. fill: $gray-900;
  57. text {
  58. fill: $gray-900;
  59. }
  60. }
  61. }
  62. // Transparent axis
  63. .d3-axis-transparent {
  64. // Hide path
  65. path {
  66. stroke: none;
  67. }
  68. // Hide line
  69. line {
  70. stroke: $gray-300;
  71. }
  72. // Change tick colors
  73. .tick {
  74. fill: $gray-600;
  75. text {
  76. fill: $gray-600;
  77. }
  78. }
  79. }
  80. // Tooltip
  81. // ------------------------------
  82. //
  83. // Basic tooltip
  84. //
  85. // Base
  86. .d3-tip {
  87. position: absolute;
  88. padding: $tooltip-padding-y $tooltip-padding-x;
  89. background-color: $tooltip-bg;
  90. color: $tooltip-color;
  91. margin-bottom: -($tooltip-arrow-height);
  92. font-size: $tooltip-font-size;
  93. z-index: $zindex-tooltip;
  94. @include border-radius($tooltip-border-radius);
  95. // Arrow
  96. .d3-tip-arrow {
  97. position: absolute;
  98. width: 0;
  99. height: 0;
  100. border-color: transparent;
  101. border-style: solid;
  102. }
  103. }
  104. // Tooltip positioning
  105. .d3-tip {
  106. &.n .d3-tip-arrow {
  107. bottom: -($tooltip-arrow-height);
  108. left: 50%;
  109. margin-left: -($tooltip-arrow-height);
  110. border-width: $tooltip-arrow-height $tooltip-arrow-height 0;
  111. border-top-color: $tooltip-arrow-color;
  112. }
  113. &.e .d3-tip-arrow {
  114. top: 50%;
  115. margin-top: -$tooltip-arrow-height;
  116. /*rtl:begin:ignore*/
  117. left: -($tooltip-arrow-height);
  118. border-width: $tooltip-arrow-height $tooltip-arrow-height $tooltip-arrow-height 0;
  119. border-right-color: $tooltip-arrow-color;
  120. /*rtl:end:ignore*/
  121. }
  122. &.w .d3-tip-arrow {
  123. top: 50%;
  124. margin-top: -$tooltip-arrow-height;
  125. /*rtl:begin:ignore*/
  126. right: -($tooltip-arrow-height);
  127. border-width: $tooltip-arrow-height 0 $tooltip-arrow-height $tooltip-arrow-height;
  128. border-left-color: $tooltip-arrow-color;
  129. /*rtl:end:ignore*/
  130. }
  131. &.s .d3-tip-arrow {
  132. top: 0;
  133. left: 50%;
  134. margin-left: -$tooltip-arrow-height;
  135. border-width: 0 $tooltip-arrow-height $tooltip-arrow-height;
  136. border-bottom-color: $tooltip-arrow-color;
  137. }
  138. }
  139. //
  140. // Venn diagram tooltip
  141. //
  142. // Base
  143. .venntooltip {
  144. position: absolute;
  145. text-align: center;
  146. white-space: nowrap;
  147. background-color: $tooltip-bg;
  148. color: $tooltip-color;
  149. padding: $tooltip-padding-y $tooltip-padding-x;
  150. display: none;
  151. @include border-radius($tooltip-border-radius);
  152. }
  153. // Chart types
  154. // ------------------------------
  155. // Lines
  156. .d3-line {
  157. fill: none;
  158. // Thin stroke
  159. &-thin {
  160. stroke-width: 1px;
  161. }
  162. // Medium stroke
  163. &-medium {
  164. stroke-width: 1.5px;
  165. }
  166. // Strong stroke
  167. &-strong {
  168. stroke-width: 2px;
  169. }
  170. }
  171. // Line circles
  172. .d3-line-circle {
  173. fill: none;
  174. cursor: pointer;
  175. // Thin stroke
  176. &-thin {
  177. stroke-width: 1px;
  178. }
  179. // Medium stroke
  180. &-medium {
  181. stroke-width: 1.5px;
  182. }
  183. // Strong stroke
  184. &-strong {
  185. stroke-width: 2px;
  186. }
  187. }
  188. // Grid
  189. // ------------------------------
  190. // Basic grid
  191. .d3-grid {
  192. .tick {
  193. line {
  194. stroke-width: 1px;
  195. stroke: $gray-300;
  196. shape-rendering: crispEdges;
  197. }
  198. text {
  199. fill: $gray-900;
  200. stroke: none;
  201. }
  202. }
  203. }
  204. // Dashed grid
  205. .d3-grid-dashed {
  206. .tick {
  207. stroke-dasharray: 4,2;
  208. stroke-width: 1px;
  209. stroke: $gray-300;
  210. shape-rendering: crispEdges;
  211. }
  212. path {
  213. stroke-width: 0;
  214. }
  215. }
  216. // Components
  217. // ------------------------------
  218. // Crosshair overlay
  219. .d3-crosshair-overlay {
  220. fill: none;
  221. pointer-events: all;
  222. }
  223. // Bullets
  224. // ------------------------------
  225. //
  226. // Base
  227. //
  228. // Ticks
  229. .bullet-tick {
  230. // Line styles
  231. line {
  232. stroke: $gray-600;
  233. stroke-width: 1px;
  234. shape-rendering: crispEdges;
  235. }
  236. // Text styles
  237. text {
  238. fill: $gray-600;
  239. font-size: $font-size-sm;
  240. }
  241. }
  242. // Marker
  243. .bullet-marker {
  244. stroke-width: 2px;
  245. shape-rendering: crispEdges;
  246. }
  247. // Title
  248. .bullet-title {
  249. font-size: $font-size-base;
  250. font-weight: $font-weight-semibold;
  251. }
  252. // Subtitle
  253. .bullet-subtitle {
  254. fill: $gray-600;
  255. }
  256. //
  257. // First bullet
  258. //
  259. // Ranges
  260. .bullet-1 .bullet-range-1 {
  261. fill: rgba($color-slate-500, 0.8);
  262. }
  263. .bullet-1 .bullet-range-2 {
  264. fill: rgba($color-slate-500, 0.4);
  265. }
  266. .bullet-1 .bullet-range-3 {
  267. fill: $color-slate-500;
  268. }
  269. // Measures
  270. .bullet-1 .bullet-measure-1 {
  271. fill: rgba($color-slate-600, 0.9);
  272. }
  273. .bullet-1 .bullet-measure-2 {
  274. fill: $white;
  275. }
  276. // Marker
  277. .bullet-1 .bullet-marker {
  278. stroke: $color-slate-800;
  279. }
  280. //
  281. // Second bullet
  282. //
  283. // Ranges
  284. .bullet-2 .bullet-range-1 {
  285. fill: rgba($color-warning-400, 0.6);
  286. }
  287. .bullet-2 .bullet-range-2 {
  288. fill: rgba($color-warning-400, 0.3);
  289. }
  290. .bullet-2 .bullet-range-3 {
  291. fill: $color-warning-400;
  292. }
  293. // Measures
  294. .bullet-2 .bullet-measure-1 {
  295. fill: rgba($color-warning-600, 0.9);
  296. }
  297. .bullet-2 .bullet-measure-2 {
  298. fill: $white;
  299. }
  300. // Marker
  301. .bullet-2 .bullet-marker {
  302. stroke: $color-warning-800;
  303. }
  304. //
  305. // Third bullet
  306. //
  307. // Ranges
  308. .bullet-3 .bullet-range-1 {
  309. fill: rgba($color-success-400, 0.7);
  310. }
  311. .bullet-3 .bullet-range-2 {
  312. fill: rgba($color-success-400, 0.35);
  313. }
  314. .bullet-3 .bullet-range-3 {
  315. fill: $color-success-400;
  316. }
  317. // Measures
  318. .bullet-3 .bullet-measure-1 {
  319. fill: rgba($color-success-600, 0.9);
  320. }
  321. .bullet-3 .bullet-measure-2 {
  322. fill: $white;
  323. }
  324. // Marker
  325. .bullet-3 .bullet-marker {
  326. stroke: $color-success-800;
  327. }
  328. // Progress counter icon. Styles moved to
  329. // CSS, because IE9 drove me crazy...
  330. // ------------------------------
  331. .counter-icon {
  332. font-size: ($icon-font-size * 2);
  333. position: absolute;
  334. left: 50%;
  335. margin-left: -($icon-font-size);
  336. }
  337. // Legend
  338. // ------------------------------
  339. .chart-widget-legend {
  340. margin: 0.625rem 0 0 0;
  341. padding: 0;
  342. font-size: $font-size-sm;
  343. text-align: center;
  344. li {
  345. margin: 0.3125rem 0.625rem 0;
  346. padding: 0.4375rem 0.5rem 0.3125rem;
  347. display: inline-block;
  348. }
  349. }
  350. }