tables.css

Same filename in this branch
  1. main core/themes/claro/css/components/tables.css
  2. main core/themes/admin/css/components/tables.css
Same filename and directory in other branches
  1. 10 core/themes/claro/css/components/tables.css
  2. 11.x core/themes/claro/css/components/tables.css
  3. 9 core/themes/seven/css/components/tables.css
  4. 9 core/themes/claro/css/components/tables.css
  5. 8.9.x core/themes/seven/css/components/tables.css
  6. 8.9.x core/themes/claro/css/components/tables.css
  7. 11.x core/themes/admin/css/components/tables.css
  8. 11.x core/themes/default_admin/css/components/tables.css

Claro styles for Tables.

File

core/themes/default_admin/css/components/tables.css

View source
  1. /*
  2. * DO NOT EDIT THIS FILE.
  3. * See the following change record for more information,
  4. * https://www.drupal.org/node/3084859
  5. * @preserve
  6. */
  7. /**
  8. * @file
  9. * Claro styles for Tables.
  10. */
  11. table {
  12. width: 100%;
  13. margin-block: var(--space-l);
  14. border-collapse: collapse;
  15. thead {
  16. border-radius: var(--gin-border-m);
  17. background: transparent;
  18. tr {
  19. border-block-end: 2px solid var(--gin-border-color-table-header);
  20. &:hover {
  21. background: transparent;
  22. }
  23. }
  24. }
  25. th {
  26. background: var(--gin-bg-layer);
  27. font-size: var(--gin-font-size-s);
  28. font-weight: var(--gin-font-weight-bold);
  29. &,
  30. .form-item__label {
  31. color: var(--gin-color-title);
  32. }
  33. }
  34. tbody {
  35. tr {
  36. border-block-end: 1px solid var(--gin-border-color-table);
  37. }
  38. td {
  39. height: auto;
  40. padding: var(--gin-spacing-density-m) var(--gin-spacing-m);
  41. }
  42. }
  43. tr,
  44. tr:focus-within,
  45. .draggable-table.tabledrag-disabled tr {
  46. color: var(--gin-color-text);
  47. background-color: transparent;
  48. &:hover {
  49. color: var(--gin-color-text);
  50. background: var(--gin-bg-item);
  51. }
  52. &.selected:hover {
  53. background: transparent;
  54. }
  55. }
  56. tr.selected {
  57. .gin--dark-mode
  58. td {
  59. background-color: var(--gin-bg-item-hover);
  60. }
  61. }
  62. td {
  63. a {
  64. -webkit-text-decoration: none;
  65. text-decoration: none;
  66. &:hover {
  67. -webkit-text-decoration: underline;
  68. text-decoration: underline;
  69. text-decoration-style: var(--gin-link-decoration-style);
  70. }
  71. }
  72. .group-label {
  73. color: var(--gin-color-title);
  74. }
  75. }
  76. &.gin--sticky-table-header {
  77. position: sticky;
  78. z-index: 97;
  79. visibility: hidden;
  80. overflow: hidden;
  81. width: auto !important;
  82. margin-block-start: calc(var(--gin-spacing-xs) * -1);
  83. inset-block-start: calc(var(--gin-toolbar-y-offset) + var(--gin-height-sticky) - 1px);
  84. tr {
  85. display: block;
  86. width: max-content;
  87. }
  88. }
  89. }
  90. table.sticky-header {
  91. inset-inline-start: auto !important;
  92. min-width: 100%;
  93. max-width: fit-content;
  94. background: transparent;
  95. }
  96. table.position-sticky,
  97. table.sticky-header {
  98. thead {
  99. position: static;
  100. }
  101. &.--is-processed thead {
  102. pointer-events: none;
  103. tr {
  104. border-color: transparent;
  105. .sortable-heading.is-active > a::before {
  106. display: none;
  107. }
  108. }
  109. }
  110. }
  111. caption {
  112. text-align: start;
  113. }
  114. th {
  115. position: relative;
  116. box-sizing: border-box;
  117. height: var(--space-xxl);
  118. padding: var(--space-xs) var(--space-m);
  119. text-align: start;
  120. color: var(--color-text);
  121. background: var(--color-gray-050);
  122. line-height: 1.25rem;
  123. /* 20px */
  124. }
  125. table th {
  126. @media (min-width: 61em) {
  127. height: auto;
  128. padding: var(--gin-spacing-m);
  129. }
  130. }
  131. /* The actual sort link. */
  132. .sortable-heading {
  133. padding: var(--gin-spacing-xs) var(--gin-spacing-m);
  134. & > a {
  135. display: block;
  136. padding-block: var(--space-xs);
  137. padding-inline: 0 1.5rem;
  138. -webkit-text-decoration: none;
  139. text-decoration: none;
  140. color: inherit;
  141. &:focus,
  142. &:hover {
  143. -webkit-text-decoration: none;
  144. text-decoration: none;
  145. &::before {
  146. border-color: inherit;
  147. border-block-end-width: 0.1875rem;
  148. }
  149. &::after {
  150. opacity: 1;
  151. }
  152. }
  153. &::before {
  154. position: absolute;
  155. z-index: 0;
  156. inset-block-start: 0;
  157. inset-inline-end: 1rem;
  158. inset-block-end: -2px;
  159. inset-inline-start: 1rem;
  160. display: block;
  161. content: "";
  162. border-bottom: 0.125rem solid transparent;
  163. }
  164. &::after {
  165. position: absolute;
  166. inset-block-start: 50%;
  167. inset-inline-end: 1rem;
  168. width: 0.875rem;
  169. height: 1rem;
  170. margin-block-start: -0.5rem;
  171. content: "";
  172. opacity: 0.5;
  173. background: var(--gin-color-text-light);
  174. background-size: contain;
  175. mask-image: var(--admin-icon-sort);
  176. mask-repeat: no-repeat;
  177. mask-position: center center;
  178. [dir="rtl"]
  179. }
  180. @media (forced-colors: active) {
  181. opacity: 1;
  182. background: linktext;
  183. mask: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8'%3e%3cpath d='M1.75.25v1.5h10.5V.25zm0 3v1.5h7.5v-1.5zm0 3v1.5h4.5v-1.5z' fill='%23000f33'/%3e%3c/svg%3e") no-repeat 50% 50%;
  184. }
  185. }
  186. }
  187. &.is-active > a {
  188. color: var(--color-absolutezero);
  189. &::before {
  190. /* border-bottom: 0.1875rem solid var(--color-absolutezero); */
  191. border-block-end: 0.1875rem solid var(--gin-color-primary-active);
  192. background-color: var(--gin-bg-item);
  193. border-start-start-radius: var(--gin-border-s);
  194. border-start-end-radius: var(--gin-border-s);
  195. }
  196. &::after {
  197. content: none;
  198. }
  199. &,
  200. &:hover,
  201. &:active {
  202. color: var(--gin-color-primary-active);
  203. }
  204. }
  205. &.is-active > a::before,
  206. > a:hover::before {
  207. width: 100%;
  208. inset-inline-start: 0;
  209. }
  210. }
  211. tr {
  212. border-bottom: 0.0625rem solid var(--color-gray-200);
  213. &:hover,
  214. &:focus-within {
  215. color: var(--color-text);
  216. background: var(--color-bgblue-hover);
  217. }
  218. &.color-warning:hover,
  219. &.color-warning:focus {
  220. color: var(--color-text);
  221. background: #fdf8ed;
  222. }
  223. &.color-error:hover,
  224. &.color-error:focus {
  225. color: var(--color-text);
  226. background: #fcf4f2;
  227. }
  228. }
  229. tr,
  230. .draggable-table.tabledrag-disabled tr {
  231. color: var(--color-text);
  232. background: var(--color-white);
  233. }
  234. thead tr {
  235. border: 0;
  236. }
  237. td {
  238. box-sizing: border-box;
  239. height: 4rem;
  240. padding: var(--space-xs) var(--space-m);
  241. text-align: start;
  242. & .item-list ul {
  243. margin: 0;
  244. }
  245. &.is-active {
  246. background: none;
  247. }
  248. }
  249. /**
  250. * Target every .form-element input that parent is a form-item of a table cell.
  251. * This ignores the filter format select of the textarea editor.
  252. */
  253. td {
  254. & > .form-item {
  255. display: flex;
  256. align-items: center;
  257. }
  258. & > .form-item > .form-item__prefix {
  259. margin-inline-end: var(--space-xs);
  260. white-space: nowrap;
  261. }
  262. & > .form-item > .form-item__suffix {
  263. margin-inline-start: var(--space-xs);
  264. white-space: nowrap;
  265. }
  266. & > .form-item > .form-element,
  267. & > .ajax-new-content > .form-item > .form-element,
  268. & > .form-item > .claro-autocomplete,
  269. & > .form-item > .claro-autocomplete > .form-element,
  270. & > .ajax-new-content > .form-item > .claro-autocomplete,
  271. & > .ajax-new-content > .form-item > .claro-autocomplete > .form-element {
  272. width: 100%;
  273. }
  274. & > .form-item > .form-element--type-select,
  275. & > .ajax-new-content > .form-item > .form-element--type-select {
  276. width: max-content;
  277. min-width: 100%;
  278. }
  279. }
  280. /* Win over table-file-multiple-widget. */
  281. th.is-disabled.is-disabled {
  282. color: var(--input--disabled-fg-color);
  283. }
  284. /* Force browsers to calculate the width of a 'select all' element. */
  285. th.select-all {
  286. width: 1px;
  287. }
  288. /**
  289. * Captions.
  290. */
  291. .caption {
  292. margin-block-end: 1.25rem;
  293. /* 20px */
  294. }
  295. tfoot {
  296. font-weight: bold;
  297. & tr {
  298. &:last-child {
  299. border-bottom: 0;
  300. }
  301. &:first-child td {
  302. border-top: 0.0625rem solid var(--color-gray-500);
  303. }
  304. }
  305. }
  306. /**
  307. * Responsive table cells.
  308. */
  309. th.priority-low,
  310. th.priority-medium,
  311. td.priority-low,
  312. td.priority-medium {
  313. display: none;
  314. }
  315. @media screen and (min-width: 38em) {
  316. th.priority-medium,
  317. td.priority-medium {
  318. display: table-cell;
  319. }
  320. }
  321. @media screen and (min-width: 60em) {
  322. th.priority-low,
  323. td.priority-low {
  324. display: table-cell;
  325. }
  326. }
  327. .gin-table-scroll-wrapper {
  328. clear: both;
  329. overflow-x: auto;
  330. overflow-y: hidden;
  331. overscroll-behavior-x: contain;
  332. margin-block-start: calc(var(--gin-spacing-xs) * -1);
  333. }
  334. .gin-horizontal-scroll-shadow {
  335. background-color: var(--gin-bg-layer);
  336. background-image: linear-gradient(to right, var(--gin-bg-layer), var(--gin-bg-layer)), linear-gradient(to right, var(--gin-bg-layer), var(--gin-bg-layer)), linear-gradient(to right, rgb(0, 0, 0, 0.125), rgb(255, 255, 255, 0)), linear-gradient(to left, rgb(0, 0, 0, 0.125), rgb(255, 255, 255, 0));
  337. background-repeat: no-repeat;
  338. background-attachment: local, local, scroll, scroll;
  339. background-position:
  340. left center,
  341. right center,
  342. left center,
  343. right center;
  344. background-size:
  345. 1.5rem 100%,
  346. 1.5rem 100%,
  347. 0.75rem 100%,
  348. 0.75rem 100%;
  349. &:dir(rtl) {
  350. background-image: linear-gradient(to left, var(--gin-bg-layer), var(--gin-bg-layer)), linear-gradient(to left, var(--gin-bg-layer), var(--gin-bg-layer)), linear-gradient(to left, rgb(0, 0, 0, 0.125), rgb(255, 255, 255, 0)), linear-gradient(to right, rgb(0, 0, 0, 0.125), rgb(255, 255, 255, 0));
  351. background-position:
  352. right center,
  353. left center,
  354. right center,
  355. left center;
  356. }
  357. }
  358. .tablesort {
  359. background-color: var(--gin-color-primary-active);
  360. background-image: none;
  361. mask-image: var(--admin-icon-sort);
  362. mask-repeat: no-repeat;
  363. mask-position: 0 50%;
  364. }
  365. .tablesort--asc {
  366. mask-image: var(--admin-icon-sort-asc);
  367. @media (forced-colors: active) {
  368. background: linktext;
  369. }
  370. }
  371. .tablesort--desc {
  372. mask-image: var(--admin-icon-sort-desc);
  373. @media (forced-colors: active) {
  374. background: linktext;
  375. }
  376. }
  377. .field-plugin-settings-edit-wrapper {
  378. float: inline-end;
  379. + a {
  380. float: inline-start;
  381. }
  382. }
  383. .region-title {
  384. border-block-end: 2px solid var(--gin-color-text);
  385. }
  386. .field-multiple-table {
  387. th {
  388. padding-block: var(--gin-spacing-xs);
  389. padding-inline: var(--gin-spacing-l) var(--gin-spacing-m);
  390. border-block-end: 0;
  391. background: transparent;
  392. &.th__order {
  393. padding: 0;
  394. font-size: 0;
  395. }
  396. }
  397. thead {
  398. th {
  399. background: var(--gin-bg-header);
  400. &:first-of-type {
  401. border-start-start-radius: var(--gin-border-m);
  402. border-end-start-radius: var(--gin-border-m);
  403. }
  404. }
  405. &:not(:has(th:last-of-type:not([style*="display: none"]))) th:nth-last-of-type(2),
  406. th:last-of-type:not([style*="display: none"]) {
  407. border-start-end-radius: var(--gin-border-m);
  408. border-end-end-radius: var(--gin-border-m);
  409. }
  410. tr {
  411. border-block-end: 0;
  412. }
  413. .field-label .label,
  414. .form-item__label--multiple-value-form {
  415. display: inline-block;
  416. margin: 0;
  417. padding: var(--gin-spacing-xs) 0;
  418. letter-spacing: -0.025em;
  419. color: var(--gin-color-primary-active);
  420. font-size: var(--gin-font-size-l);
  421. font-weight: var(--gin-font-weight-bold);
  422. line-height: 1.33333em;
  423. }
  424. }
  425. tr .form-item:not(:last-of-type) {
  426. margin-block-end: var(--gin-spacing-m);
  427. }
  428. /* Fixes paragraphs extending beyond layout */
  429. .ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items {
  430. flex-wrap: wrap;
  431. }
  432. }
  433. .gin-layer-wrapper .views-table {
  434. margin-block-start: 0;
  435. }
  436. table td.field-plugin-summary-cell {
  437. vertical-align: middle;
  438. }
  439. table .views-field.views-field-operations {
  440. text-align: end;
  441. }

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.