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.

_table.scss 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. /**
  2. *
  3. * @group table
  4. */
  5. $v-table-border-width: first-number($v-border) !default;
  6. /**
  7. *
  8. * @group table
  9. */
  10. $v-table-row-height: $v-unit-size !default;
  11. $v-table-body-row-height: round($v-table-row-height + $v-table-border-width) !default;
  12. /**
  13. *
  14. * @group table
  15. */
  16. $v-table-border-color: null !default;
  17. /**
  18. *
  19. * @group table
  20. */
  21. $v-table-border-radius: 0 !default;
  22. /**
  23. *
  24. * @group table
  25. */
  26. $v-table-cell-padding-horizontal: round($v-unit-size/3) !default;
  27. /**
  28. *
  29. * @group table
  30. */
  31. $v-table-resizer-width: round($v-unit-size/4.5) !default;
  32. /**
  33. *
  34. * @group table
  35. */
  36. $v-table-sort-indicator-width: round($v-unit-size/2) !default;
  37. /**
  38. *
  39. * @group table
  40. */
  41. $v-table-header-font-size: round($v-font-size * 0.86) !default;
  42. /**
  43. *
  44. * @group table
  45. */
  46. $v-table-background-color: null !default;
  47. /**
  48. *
  49. *
  50. * @param {string} $primary-stylename (v-table) -
  51. *
  52. * @group table
  53. */
  54. @mixin valo-table-global ($primary-stylename: v-table) {
  55. .#{$primary-stylename}-header table,
  56. .#{$primary-stylename}-footer table,
  57. .#{$primary-stylename}-table {
  58. border-spacing: 0;
  59. border-collapse: separate;
  60. margin: 0;
  61. padding: 0;
  62. border: 0;
  63. line-height: $v-line-height;
  64. }
  65. .#{$primary-stylename}-resizer,
  66. .#{$primary-stylename}-sort-indicator {
  67. float: right;
  68. }
  69. .#{$primary-stylename}-caption-container-align-center {
  70. text-align: center;
  71. }
  72. .#{$primary-stylename}-caption-container-align-right {
  73. text-align: right;
  74. }
  75. .#{$primary-stylename}-header td,
  76. .#{$primary-stylename}-footer td,
  77. .#{$primary-stylename}-cell-content {
  78. padding: 0;
  79. }
  80. .#{$primary-stylename}-sort-indicator {
  81. width: 0;
  82. }
  83. }
  84. /**
  85. *
  86. *
  87. * @param {color} $context ($v-background-color) -
  88. *
  89. * @return {color} -
  90. *
  91. * @group table
  92. */
  93. @function valo-table-background-color($context: $v-background-color) {
  94. @if is-dark-color($context) {
  95. @return darken($context, 2%);
  96. }
  97. @return lighten($context, 2%);
  98. }
  99. /**
  100. *
  101. *
  102. * @param {string} $primary-stylename (v-table) -
  103. * @param {bool} $include-additional-styles -
  104. *
  105. * @group table
  106. */
  107. @mixin valo-table ($primary-stylename: v-table, $include-additional-styles: contains($v-included-additional-styles, table)) {
  108. $background-color: $v-table-background-color or valo-table-background-color();
  109. $border-color: $v-table-border-color or first-color(valo-border($color: $background-color, $strength: 0.8));
  110. .#{$primary-stylename} {
  111. // For scroll position indicator
  112. position: relative;
  113. background: $v-background-color;
  114. color: valo-font-color($v-background-color);
  115. // Hide row focus outline
  116. overflow: hidden;
  117. }
  118. .#{$primary-stylename}-header table,
  119. .#{$primary-stylename}-footer table,
  120. .#{$primary-stylename}-table {
  121. @include box-shadow(0 0 0 $v-table-border-width $border-color);
  122. }
  123. .#{$primary-stylename}-header-wrap,
  124. .#{$primary-stylename}-footer-wrap,
  125. .#{$primary-stylename}-header-drag {
  126. border: $v-table-border-width solid $border-color;
  127. @include valo-gradient($v-background-color);
  128. white-space: nowrap;
  129. font-size: $v-table-header-font-size;
  130. text-shadow: valo-text-shadow();
  131. }
  132. .#{$primary-stylename}-header-wrap {
  133. position: relative;
  134. border-bottom: none;
  135. @if $v-table-border-radius > 0 {
  136. border-radius: $v-table-border-radius $v-table-border-radius 0 0;
  137. }
  138. }
  139. .#{$primary-stylename}-footer-wrap {
  140. border-top: none;
  141. @if $v-table-border-radius > 0 {
  142. border-radius: 0 0 $v-table-border-radius $v-table-border-radius;
  143. }
  144. }
  145. .#{$primary-stylename}-footer td {
  146. border-left: $v-table-border-width solid $border-color;
  147. // Hack to overcome fixed "magic number" in VScrollTable.FooterCell (assumes 1px border)
  148. @if $v-table-border-width != 1px {
  149. display: inline-block;
  150. margin-left: ($v-table-border-width - 1px) * -1;
  151. &:first-child {
  152. margin-left: 0;
  153. }
  154. }
  155. }
  156. .#{$primary-stylename}-footer-container,
  157. .#{$primary-stylename}-caption-container {
  158. overflow: hidden;
  159. line-height: 1;
  160. min-height: $v-table-row-height;
  161. box-sizing: border-box;
  162. }
  163. .#{$primary-stylename}-footer-container {
  164. $vertical-padding: round(($v-table-row-height - $v-table-header-font-size)/2);
  165. padding: $vertical-padding - $v-table-border-width $v-table-cell-padding-horizontal $vertical-padding;
  166. float: right;
  167. }
  168. [class^="#{$primary-stylename}-header-cell"] {
  169. position: relative;
  170. }
  171. .#{$primary-stylename}-caption-container,
  172. .#{$primary-stylename}-header-drag {
  173. $vertical-padding: round(($v-table-row-height - $v-table-header-font-size)/2);
  174. padding: $vertical-padding $v-table-cell-padding-horizontal $vertical-padding - $v-table-border-width;
  175. border-left: $v-table-border-width solid $border-color;
  176. }
  177. .#{$primary-stylename}-caption-container-align-right {
  178. padding-right: $v-table-cell-padding-horizontal - $v-table-resizer-width;
  179. }
  180. .#{$primary-stylename}-resizer {
  181. height: $v-table-row-height;
  182. width: $v-table-resizer-width;
  183. cursor: e-resize;
  184. cursor: col-resize;
  185. position: relative;
  186. right: round($v-table-resizer-width / -2);
  187. z-index: 1;
  188. margin-left: -$v-table-resizer-width;
  189. }
  190. .#{$primary-stylename}-cell-content {
  191. border-left: $v-table-border-width solid $border-color;
  192. overflow: hidden;
  193. height: $v-table-body-row-height;
  194. vertical-align: middle;
  195. &:first-child {
  196. border-left: none;
  197. padding-left: $v-table-border-width;
  198. }
  199. }
  200. .#{$primary-stylename}-header td:first-child .#{$primary-stylename}-caption-container,
  201. .#{$primary-stylename}-footer td:first-child {
  202. border-left-color: transparent;
  203. }
  204. .#{$primary-stylename}-cell-wrapper {
  205. line-height: 1;
  206. padding: 0 $v-table-cell-padding-horizontal;
  207. box-sizing: border-box;
  208. margin-right: 0 !important;
  209. > .v-widget {
  210. // Leave some breathing room around the table cell and the widget
  211. margin: round($v-table-cell-padding-horizontal / 4) round($v-table-cell-padding-horizontal / -2);
  212. &.v-label,
  213. &.v-checkbox,
  214. &.v-select-optiongroup {
  215. margin: 0;
  216. }
  217. &.v-progressbar {
  218. margin-left: 0;
  219. margin-right: 0;
  220. }
  221. }
  222. }
  223. .#{$primary-stylename}-body {
  224. border: $v-table-border-width solid $border-color;
  225. overflow-anchor: none; /* In Chrome 56+ */
  226. @include user-select(text);
  227. }
  228. .#{$primary-stylename}-table {
  229. background-color: $background-color;
  230. white-space: nowrap;
  231. }
  232. .#{$primary-stylename}-table td {
  233. border-top: $v-table-border-width solid $border-color;
  234. box-sizing: border-box;
  235. }
  236. .#{$primary-stylename}-table tr:first-child > td {
  237. height: $v-table-row-height;
  238. border-top: none;
  239. }
  240. .#{$primary-stylename}-row {
  241. background-color: $background-color;
  242. cursor: pointer;
  243. }
  244. .#{$primary-stylename}-row-odd {
  245. $bg-lightness: if(color-luminance($background-color) < 10, 4%, -4%);
  246. background-color: scale-color($background-color, $lightness: $bg-lightness);
  247. cursor: pointer;
  248. }
  249. .#{$primary-stylename}-body-noselection .#{$primary-stylename}-row,
  250. .#{$primary-stylename}-body-noselection .#{$primary-stylename}-row-odd {
  251. cursor: default;
  252. }
  253. .#{$primary-stylename} [class*="-row"].v-selected {
  254. $selected-border-color: adjust-color($v-selection-color, $lightness: -8%, $saturation: -8%);
  255. @include valo-gradient($v-selection-color);
  256. background-origin: border-box;
  257. $font-color: valo-font-color($v-selection-color, 0.9);
  258. color: $font-color;
  259. text-shadow: valo-text-shadow($font-color: $font-color, $background-color: $v-selection-color);
  260. + .v-selected {
  261. $gradient-end: first(last(valo-gradient-color-stops($v-selection-color)));
  262. background: $gradient-end;
  263. td {
  264. border-top-color: $gradient-end;
  265. }
  266. }
  267. .#{$primary-stylename}-cell-content {
  268. border-color: transparent;
  269. border-left-color: $selected-border-color;
  270. &:first-child {
  271. border-left-color: transparent;
  272. }
  273. }
  274. }
  275. .#{$primary-stylename}-header-cell-asc .#{$primary-stylename}-sort-indicator,
  276. .#{$primary-stylename}-header-cell-desc .#{$primary-stylename}-sort-indicator {
  277. background: transparent;
  278. width: $v-table-sort-indicator-width;
  279. height: $v-table-row-height;
  280. line-height: $v-table-row-height;
  281. margin-left: -$v-table-sort-indicator-width;
  282. }
  283. .#{$primary-stylename}-header-cell-asc .#{$primary-stylename}-sort-indicator:before,
  284. .#{$primary-stylename}-header-cell-desc .#{$primary-stylename}-sort-indicator:before {
  285. font-style: normal;
  286. font-weight: normal;
  287. display: inline-block;
  288. }
  289. .#{$primary-stylename}-header-cell-asc .#{$primary-stylename}-sort-indicator:before {
  290. @include valo-table-sort-asc-icon-style;
  291. }
  292. .#{$primary-stylename}-header-cell-desc .#{$primary-stylename}-sort-indicator:before {
  293. @include valo-table-sort-desc-icon-style;
  294. }
  295. [class*="rowheader"] span.v-icon {
  296. min-width: 1em;
  297. }
  298. .#{$primary-stylename}-focus {
  299. $outline-width: max($v-table-border-width, 1px);
  300. outline: $outline-width solid $v-focus-color;
  301. outline-offset: -$outline-width;
  302. }
  303. .v-drag-element.#{$primary-stylename}-focus,
  304. .v-drag-element .#{$primary-stylename}-focus {
  305. outline: none;
  306. }
  307. .#{$primary-stylename}-header-drag {
  308. position: absolute;
  309. @include opacity(0.9);
  310. margin-top: round($v-table-row-height/-2);
  311. z-index: 30000;
  312. line-height: 1;
  313. }
  314. .#{$primary-stylename}-focus-slot-right {
  315. border-right: $v-table-border-width + 2px solid $v-focus-color;
  316. right: -$v-table-border-width - 1px;
  317. margin-left: -$v-table-resizer-width - $v-table-border-width - 2px !important;
  318. }
  319. .#{$primary-stylename}-focus-slot-left {
  320. float: left;
  321. border-left: $v-table-border-width + 2px solid $v-focus-color;
  322. left: -$v-table-border-width;
  323. right: auto;
  324. margin-left: 0 !important;
  325. margin-right: -$v-table-resizer-width - $v-table-border-width - 2px;
  326. }
  327. .#{$primary-stylename}-column-selector {
  328. @include valo-button-style($shadow: null);
  329. position: absolute;
  330. z-index: 2;
  331. top: 0;
  332. right: 0;
  333. width: round($v-unit-size/2);
  334. height: round($v-unit-size/2);
  335. line-height: round($v-unit-size/2);
  336. padding: 0;
  337. border-top-width: 0;
  338. border-right-width: 0;
  339. border-radius: 0 0 0 $v-border-radius;
  340. cursor: pointer;
  341. text-align: center;
  342. @include opacity(0);
  343. @if $v-animations-enabled {
  344. @include transition(opacity 200ms 2s);
  345. }
  346. &:after {
  347. content: "";
  348. position: absolute;
  349. border: none;
  350. top: 0;
  351. right: 0;
  352. bottom: 0;
  353. left: 0;
  354. }
  355. &:active:after {
  356. @include valo-button-active-style;
  357. }
  358. &:before {
  359. @include valo-table-column-selector-icon-style;
  360. }
  361. }
  362. .#{$primary-stylename}-header-wrap:hover .#{$primary-stylename}-column-selector {
  363. @include opacity(1);
  364. @include transition-delay(200ms);
  365. }
  366. .v-on,
  367. .v-off {
  368. &:before {
  369. @include valo-table-column-visible-icon-style;
  370. font-size: 0.9em;
  371. margin-right: round($v-unit-size/6);
  372. }
  373. div {
  374. display: inline;
  375. }
  376. &.v-disabled {
  377. @include opacity($v-disabled-opacity);
  378. }
  379. }
  380. .v-off:before {
  381. visibility: hidden;
  382. }
  383. tbody.v-drag-element {
  384. display: block;
  385. overflow: visible;
  386. @include box-shadow(none);
  387. background: transparent;
  388. @include opacity(1);
  389. tr {
  390. display: block;
  391. @include valo-drag-element-style($background-color: null);
  392. background: $background-color;
  393. &[style*="hidden"] {
  394. }
  395. }
  396. }
  397. .#{$primary-stylename}-body {
  398. // Show on top of scroll position indicator (allow scroll events to hit the body instead of indicator)
  399. position: relative;
  400. z-index: 1;
  401. }
  402. .#{$primary-stylename}-scrollposition {
  403. position: absolute;
  404. top: 50%;
  405. width: 100%;
  406. height: $v-unit-size;
  407. line-height: $v-unit-size;
  408. margin: round($v-unit-size/-2) 0 0 !important;
  409. text-align: center;
  410. }
  411. // Drag'n'drop styles
  412. .#{$primary-stylename}-drag {
  413. // Show drag focus outline
  414. overflow: visible;
  415. }
  416. .#{$primary-stylename}-drag .#{$primary-stylename}-body {
  417. @include box-shadow(0 0 0 2px rgba($v-focus-color, .5));
  418. @if color-luminance($v-focus-color) + 50 < color-luminance($background-color) {
  419. border-color: $v-focus-color;
  420. }
  421. .#{$primary-stylename}-focus {
  422. outline: none;
  423. }
  424. }
  425. .#{$primary-stylename}-row-drag-middle .#{$primary-stylename}-cell-content {
  426. $bg: mix($v-focus-color, $background-color, 20%);
  427. background-color: $bg;
  428. color: valo-font-color($bg);
  429. }
  430. .#{$primary-stylename}-row-drag-bottom td.#{$primary-stylename}-cell-content {
  431. border-bottom: 2px solid $v-focus-color;
  432. height: $v-table-body-row-height - 2px;
  433. }
  434. .#{$primary-stylename}-row-drag-bottom .#{$primary-stylename}-cell-wrapper {
  435. margin-bottom: -2px;
  436. }
  437. .#{$primary-stylename}-row-drag-top td.#{$primary-stylename}-cell-content {
  438. border-top: 2px solid $v-focus-color;
  439. height: $v-table-body-row-height - 2px + $v-table-border-width;
  440. }
  441. .#{$primary-stylename}-row-drag-top .#{$primary-stylename}-cell-wrapper {
  442. margin-top: -1px;
  443. }
  444. @if $include-additional-styles {
  445. .#{$primary-stylename}-no-stripes {
  446. @include valo-table-no-stripes-style;
  447. }
  448. .#{$primary-stylename}-no-vertical-lines {
  449. @include valo-table-no-vertical-lines-style;
  450. }
  451. .#{$primary-stylename}-no-horizontal-lines {
  452. @include valo-table-no-horizontal-lines-style;
  453. }
  454. .#{$primary-stylename}-no-header {
  455. @include valo-table-no-header-style;
  456. }
  457. .#{$primary-stylename}-borderless {
  458. @include valo-table-borderless-style;
  459. }
  460. .#{$primary-stylename}-compact,
  461. .#{$primary-stylename}-small {
  462. @include valo-table-spacing-style($row-height: $v-unit-size--small, $cell-padding-horizontal: round($v-table-cell-padding-horizontal / 2));
  463. }
  464. .#{$primary-stylename}-small {
  465. font-size: $v-font-size--small;
  466. &.v-treetable .#{$primary-stylename}-cell-wrapper {
  467. min-height: $v-font-size--small;
  468. }
  469. }
  470. }
  471. }
  472. /**
  473. *
  474. *
  475. *
  476. * @group table
  477. */
  478. @mixin valo-table-sort-asc-icon-style {
  479. content: '\f0de';
  480. font-family: ThemeIcons;
  481. }
  482. /**
  483. *
  484. *
  485. *
  486. * @group table
  487. */
  488. @mixin valo-table-sort-desc-icon-style {
  489. content: '\f0dd';
  490. font-family: ThemeIcons;
  491. }
  492. /**
  493. *
  494. *
  495. *
  496. * @group table
  497. */
  498. @mixin valo-table-column-selector-icon-style {
  499. font-family: ThemeIcons;
  500. content: "\f013";
  501. }
  502. /**
  503. *
  504. *
  505. *
  506. * @group table
  507. */
  508. @mixin valo-table-column-visible-icon-style {
  509. content: "\f00c";
  510. font-family: ThemeIcons;
  511. }
  512. /**
  513. *
  514. *
  515. * @param {string} $primary-stylename (v-table) -
  516. *
  517. * @group table
  518. */
  519. @mixin valo-table-no-stripes-style ($primary-stylename: v-table) {
  520. .#{$primary-stylename}-row,
  521. .#{$primary-stylename}-row-odd {
  522. background: transparent;
  523. }
  524. }
  525. /**
  526. *
  527. *
  528. * @param {string} $primary-stylename (v-table) -
  529. *
  530. * @group table
  531. */
  532. @mixin valo-table-no-vertical-lines-style ($primary-stylename: v-table) {
  533. .#{$primary-stylename}-cell-content {
  534. border-left: none;
  535. padding-left: $v-table-border-width;
  536. }
  537. &.v-treetable {
  538. .#{$primary-stylename}-cell-content {
  539. padding-left: $v-table-cell-padding-horizontal + $v-table-border-width;
  540. }
  541. }
  542. }
  543. /**
  544. *
  545. *
  546. * @param {string} $primary-stylename (v-table) -
  547. *
  548. * @group table
  549. */
  550. @mixin valo-table-no-horizontal-lines-style ($primary-stylename: v-table) {
  551. .#{$primary-stylename}-cell-content {
  552. border-top: none;
  553. border-bottom: none;
  554. }
  555. .#{$primary-stylename}-row-drag-top .#{$primary-stylename}-cell-content,
  556. .#{$primary-stylename}-row-drag-bottom .#{$primary-stylename}-cell-content {
  557. height: $v-table-body-row-height - 1px;
  558. }
  559. }
  560. /**
  561. *
  562. *
  563. * @param {string} $primary-stylename (v-table) -
  564. *
  565. * @group table
  566. */
  567. @mixin valo-table-no-header-style ($primary-stylename: v-table) {
  568. .#{$primary-stylename}-header-wrap {
  569. display: none;
  570. }
  571. }
  572. /**
  573. *
  574. *
  575. * @param {string} $primary-stylename (v-table) -
  576. *
  577. * @group table
  578. */
  579. @mixin valo-table-borderless-style ($primary-stylename: v-table) {
  580. .#{$primary-stylename}-header-wrap,
  581. .#{$primary-stylename}-footer-wrap,
  582. .#{$primary-stylename}-header-drag,
  583. .#{$primary-stylename}-body {
  584. border: none;
  585. }
  586. // TODO copy pasted from the main mixin
  587. $background-color: $v-table-background-color or valo-table-background-color();
  588. $border-color: $v-table-border-color or first-color(valo-border($color: $background-color, $strength: 0.7));
  589. .#{$primary-stylename}-header-wrap {
  590. border-bottom: $v-table-border-width solid $border-color;
  591. }
  592. .#{$primary-stylename}-footer-wrap {
  593. border-top: $v-table-border-width solid $border-color;
  594. }
  595. }
  596. @mixin valo-table-spacing-style (
  597. $primary-stylename: v-table,
  598. $row-height: $v-table-row-height,
  599. $header-font-size: $v-table-header-font-size,
  600. $cell-padding-horizontal: $v-table-cell-padding-horizontal
  601. ) {
  602. $vertical-padding: round(($row-height - $header-font-size)/2);
  603. .#{$primary-stylename}-header-wrap,
  604. .#{$primary-stylename}-footer-wrap,
  605. .#{$primary-stylename}-header-drag {
  606. font-size: $header-font-size;
  607. }
  608. .#{$primary-stylename}-footer-container {
  609. padding: $vertical-padding - $v-table-border-width $cell-padding-horizontal + $v-table-border-width $vertical-padding;
  610. }
  611. .#{$primary-stylename}-caption-container,
  612. .#{$primary-stylename}-header-drag {
  613. padding-top: $vertical-padding;
  614. padding-bottom: $vertical-padding - $v-table-border-width;
  615. padding-left: $cell-padding-horizontal;
  616. padding-right: $cell-padding-horizontal;
  617. }
  618. .#{$primary-stylename}-caption-container-align-right {
  619. padding-right: max(0, $cell-padding-horizontal - $v-table-resizer-width);
  620. }
  621. .#{$primary-stylename}-resizer {
  622. height: $row-height;
  623. }
  624. .#{$primary-stylename}-cell-content {
  625. height: $row-height;
  626. }
  627. .#{$primary-stylename}-cell-wrapper {
  628. padding-left: $cell-padding-horizontal;
  629. padding-right: $cell-padding-horizontal;
  630. > .v-widget {
  631. margin: round($cell-padding-horizontal / 4) round($cell-padding-horizontal / -2);
  632. &.v-label,
  633. &.v-checkbox,
  634. &.v-select-optiongroup {
  635. margin: 0;
  636. }
  637. &.v-progressbar {
  638. margin-left: 0;
  639. margin-right: 0;
  640. }
  641. }
  642. }
  643. .#{$primary-stylename}-header-cell-asc .#{$primary-stylename}-sort-indicator,
  644. .#{$primary-stylename}-header-cell-desc .#{$primary-stylename}-sort-indicator {
  645. height: $row-height;
  646. line-height: $row-height;
  647. }
  648. .#{$primary-stylename}-header-drag {
  649. margin-top: round($row-height/-2);
  650. }
  651. &.v-treetable {
  652. .#{$primary-stylename}-cell-wrapper {
  653. padding-left: 0;
  654. padding-right: 0;
  655. min-height: $v-font-size;
  656. }
  657. .#{$primary-stylename}-cell-content {
  658. padding-left: $cell-padding-horizontal;
  659. padding-right: $cell-padding-horizontal;
  660. &:first-child {
  661. padding-left: $cell-padding-horizontal + $v-table-border-width;
  662. }
  663. }
  664. .#{$primary-stylename}-footer-container {
  665. padding-left: $cell-padding-horizontal;
  666. padding-right: $cell-padding-horizontal;
  667. }
  668. }
  669. .#{$primary-stylename}-row-drag-top .#{$primary-stylename}-cell-content,
  670. .#{$primary-stylename}-row-drag-bottom .#{$primary-stylename}-cell-content {
  671. height: $row-height - 1px;
  672. }
  673. }