views_ui.admin.theme.pcss.css

Same filename and directory in other branches
  1. 11.x core/themes/claro/css/theme/views_ui.admin.theme.pcss.css
  2. 10 core/themes/claro/css/theme/views_ui.admin.theme.pcss.css
  3. 8.9.x core/themes/claro/css/theme/views_ui.admin.theme.pcss.css

View UI admin theme.

Replaces the styles provided by the views_ui module.

File

core/themes/claro/css/theme/views_ui.admin.theme.pcss.css

View source
  1. /**
  2. * @file
  3. * View UI admin theme.
  4. *
  5. * Replaces the styles provided by the views_ui module.
  6. */
  7. @import "../base/variables.pcss.css";
  8. .views-admin .links {
  9. margin: 0;
  10. list-style: none outside none;
  11. }
  12. .views-admin a:hover {
  13. text-decoration: none;
  14. }
  15. .views-admin .icon {
  16. width: 16px;
  17. height: 16px;
  18. }
  19. .views-admin .icon,
  20. .views-admin .icon-text {
  21. background-image: url(../../../../modules/views_ui/images/sprites.png);
  22. background-repeat: no-repeat;
  23. background-attachment: scroll;
  24. background-position: left top; /* LTR */
  25. }
  26. [dir="rtl"] .views-admin .icon,
  27. [dir="rtl"] .views-admin .icon-text {
  28. background-position: right top;
  29. }
  30. .views-admin a.icon {
  31. border: 1px solid #ddd;
  32. border-radius: 4px;
  33. background: linear-gradient(-90deg, #fff 0, #e8e8e8 100%) no-repeat, repeat-y;
  34. box-shadow: 0 0 0 rgba(0, 0, 0, 0.3333) inset;
  35. }
  36. .views-admin a.icon:hover {
  37. border-color: #d0d0d0;
  38. box-shadow: 0 0 1px rgba(0, 0, 0, 0.3333) inset;
  39. }
  40. .views-admin a.icon:active {
  41. border-color: #c0c0c0;
  42. }
  43. .views-admin span.icon {
  44. position: relative;
  45. float: left; /* LTR */
  46. }
  47. [dir="rtl"] .views-admin span.icon {
  48. float: right;
  49. }
  50. .views-admin .icon.compact {
  51. display: block;
  52. overflow: hidden;
  53. text-indent: -9999px;
  54. direction: ltr;
  55. }
  56. /* Targets any element with an icon -> text combo */
  57. .views-admin .icon-text {
  58. padding-left: 19px; /* LTR */
  59. }
  60. [dir="rtl"] .views-admin .icon-text {
  61. padding-right: 19px;
  62. padding-left: 0;
  63. }
  64. .views-admin .icon.linked {
  65. background-position: center -153px;
  66. }
  67. .views-admin .icon.unlinked {
  68. background-position: center -195px;
  69. }
  70. .views-admin .icon.delete {
  71. background-position: center -52px;
  72. }
  73. .views-admin a.icon.delete {
  74. background-position: center -52px, left top; /* LTR */
  75. }
  76. [dir="rtl"] .views-admin a.icon.delete {
  77. background-position: center -52px, right top;
  78. }
  79. .views-admin .icon.rearrange {
  80. background-position: center -111px;
  81. }
  82. .views-admin a.icon.rearrange {
  83. background-position: center -111px, left top; /* LTR */
  84. }
  85. [dir="rtl"] .views-admin a.icon.rearrange {
  86. background-position: center -111px, right top;
  87. }
  88. details.box-padding {
  89. border: none;
  90. }
  91. .views-admin details details {
  92. margin-bottom: 0;
  93. }
  94. .form-item {
  95. margin-top: 9px;
  96. padding-top: 0;
  97. padding-bottom: 0;
  98. }
  99. .form-type-checkbox {
  100. margin-top: 6px;
  101. }
  102. .form-checkbox,
  103. .form-radio {
  104. vertical-align: baseline;
  105. }
  106. /* Indent form elements so they're directly underneath the label of the checkbox that reveals them */
  107. .views-admin .form-type-checkbox + .form-wrapper {
  108. margin-left: 16px; /* LTR */
  109. }
  110. [dir="rtl"] .views-admin .form-type-checkbox + .form-wrapper {
  111. margin-right: 16px;
  112. margin-left: 0;
  113. }
  114. /* Hide 'remove' checkboxes. */
  115. .views-remove-checkbox {
  116. display: none;
  117. }
  118. /* sizes the labels of checkboxes and radio button to the height of the text */
  119. .views-admin .form-type-checkbox label,
  120. .views-admin .form-type-radio label {
  121. line-height: 2;
  122. }
  123. .views-admin-dependent .form-item {
  124. margin-top: 6px;
  125. margin-bottom: 6px;
  126. }
  127. .views-ui-view-name h3 {
  128. margin: 0.25em 0;
  129. font-weight: bold;
  130. }
  131. .view-changed {
  132. margin-bottom: 21px;
  133. }
  134. .views-admin .unit-title {
  135. margin-top: 18px;
  136. margin-bottom: 0;
  137. font-size: 15px;
  138. line-height: 1.6154;
  139. }
  140. .views-ui-view-displays ul {
  141. margin-left: 0; /* LTR */
  142. padding-left: 0; /* LTR */
  143. list-style: none;
  144. }
  145. [dir="rtl"] .views-ui-view-displays ul {
  146. margin-right: 0;
  147. margin-left: inherit;
  148. padding-right: 0;
  149. padding-left: inherit;
  150. }
  151. /* These header classes are ambiguous and should be scoped to th elements */
  152. .views-ui-name {
  153. width: 20%;
  154. }
  155. .views-ui-description {
  156. width: 30%;
  157. }
  158. .views-ui-machine-name {
  159. width: 15%;
  160. }
  161. .views-ui-displays {
  162. width: 25%;
  163. }
  164. .views-ui-operations {
  165. width: 10%;
  166. }
  167. /**
  168. * I wish this didn't have to be so specific
  169. */
  170. .form-item-description-enable + .form-item-description {
  171. margin-top: 0;
  172. }
  173. .form-item-description-enable label {
  174. font-weight: bold;
  175. }
  176. .form-item-page-create,
  177. .form-item-block-create {
  178. margin-top: 13px;
  179. }
  180. .form-item-page-create label,
  181. .form-item-block-create label,
  182. .form-item-rest-export-create label {
  183. font-weight: bold;
  184. }
  185. /* This makes the form elements after the "Display Format" label flow underneath the label */
  186. .form-item-page-style-style-plugin > label,
  187. .form-item-block-style-style-plugin > label {
  188. display: block;
  189. }
  190. .views-attachment .options-set label {
  191. font-weight: normal;
  192. }
  193. /* Styling for the form that allows views filters to be rearranged. */
  194. .group-populated {
  195. display: none;
  196. }
  197. td.group-title {
  198. font-weight: bold;
  199. }
  200. .views-ui-dialog td.group-title {
  201. height: 1px;
  202. margin: 0;
  203. padding: 0;
  204. }
  205. .views-ui-dialog td.group-title span {
  206. display: block;
  207. overflow: hidden;
  208. height: 1px;
  209. }
  210. .group-message .form-submit,
  211. .views-remove-group-link,
  212. .views-add-group {
  213. float: right; /* LTR */
  214. clear: both;
  215. }
  216. [dir="rtl"] .group-message .form-submit,
  217. [dir="rtl"] .views-remove-group-link,
  218. [dir="rtl"] .views-add-group {
  219. float: left;
  220. }
  221. .views-operator-label {
  222. position: absolute;
  223. z-index: 1;
  224. bottom: -13px;
  225. padding: 0.5px 6px;
  226. text-transform: uppercase;
  227. border: 1px solid var(--color-gray-200);
  228. background: #fff;
  229. font-weight: bold;
  230. font-style: italic;
  231. }
  232. .grouped-description,
  233. .exposed-description {
  234. float: left; /* LTR */
  235. padding-top: 3px;
  236. padding-right: 10px; /* LTR */
  237. }
  238. [dir="rtl"] .grouped-description,
  239. [dir="rtl"] .exposed-description {
  240. float: right;
  241. padding-right: 0;
  242. padding-left: 10px;
  243. }
  244. .views-displays {
  245. padding-bottom: 36px;
  246. border-top: 1px solid var(--color-gray-200-o-80);
  247. border-right: 1px solid var(--color-gray-200-o-80);
  248. border-left: 1px solid var(--color-gray-200-o-80);
  249. }
  250. .views-display-top {
  251. position: relative;
  252. display: flex;
  253. flex-wrap: wrap;
  254. justify-content: space-between;
  255. padding: var(--space-s) var(--space-s) calc(var(--space-s) - 5px);
  256. border-bottom: 1px solid var(--color-gray-200-o-80);
  257. background-color: var(--color-gray-050);
  258. }
  259. .form-edit .form-actions {
  260. margin-top: 0;
  261. padding: var(--space-s) var(--space-m);
  262. border-right: 1px solid var(--color-gray-200-o-80);
  263. border-bottom: 1px solid var(--color-gray-200-o-80);
  264. border-left: 1px solid var(--color-gray-200-o-80);
  265. background-color: var(--color-gray-050);
  266. }
  267. .edit-display-settings {
  268. margin: var(--space-l) var(--space-l) 0 var(--space-l);
  269. }
  270. .edit-display-settings-top.views-ui-display-tab-bucket.views-ui-display-tab-bucket {
  271. position: relative;
  272. display: flex;
  273. flex-wrap: wrap;
  274. justify-content: space-between;
  275. margin: 0 0 var(--space-l);
  276. padding: 0;
  277. border-bottom: none;
  278. line-height: 20px;
  279. }
  280. .edit-display-settings-top.views-ui-display-tab-bucket .views-display-setting {
  281. padding: 0.125rem 0 0;
  282. }
  283. .views-display-column {
  284. border: 1px solid var(--color-gray-200-o-80);
  285. border-radius: var(--base-border-radius);
  286. box-shadow: var(--details-box-shadow);
  287. }
  288. .views-display-column + .views-display-column {
  289. margin-top: 0;
  290. }
  291. .view-preview-form .form-item--view-args,
  292. .view-preview-form .form-actions {
  293. margin-top: 5px;
  294. }
  295. .view-preview-form .arguments-preview {
  296. font-size: 1em;
  297. }
  298. .view-preview-form .form-item--view-args {
  299. margin-top: var(--space-m);
  300. }
  301. .view-preview-form .arguments-preview,
  302. .view-preview-form .form-item--view-args {
  303. margin-right: var(--space-m);
  304. margin-left: var(--space-m);
  305. }
  306. .preview-submit-wrapper {
  307. display: inline-block;
  308. }
  309. .form-item--live-preview,
  310. .view-preview-form .form-actions {
  311. vertical-align: top;
  312. }
  313. @media screen and (min-width: 45em) { /* 720px */
  314. .view-preview-form .form-type-textfield .description {
  315. white-space: nowrap;
  316. }
  317. }
  318. /* These are the individual "buckets," or boxes, inside the display settings area */
  319. .views-ui-display-tab-bucket.views-ui-display-tab-bucket {
  320. position: relative;
  321. margin: 0 0 var(--space-xs);
  322. padding-top: var(--space-xs);
  323. padding-bottom: var(--space-xs);
  324. border-bottom: 1px solid var(--color-gray-200-o-80);
  325. line-height: 20px;
  326. }
  327. .views-ui-display-tab-bucket:last-of-type {
  328. margin-bottom: 0;
  329. border-bottom: none;
  330. }
  331. .views-ui-display-tab-bucket + .views-ui-display-tab-bucket {
  332. border-top: medium none;
  333. }
  334. .views-ui-display-tab-bucket__header {
  335. display: inline-flex;
  336. justify-content: space-between;
  337. box-sizing: border-box;
  338. width: 100%;
  339. padding: var(--space-s) var(--space-m) calc(var(--space-s) + 2px);
  340. }
  341. .views-ui-display-tab-bucket__title {
  342. margin: 0;
  343. font-size: var(--font-size-base);
  344. }
  345. .views-ui-display-tab-bucket.access {
  346. padding-top: 0;
  347. }
  348. .views-ui-display-tab-bucket.page-settings {
  349. border-bottom: medium none;
  350. }
  351. /** Applies an overridden(italics) font style to overridden buckets.
  352. * The better way to implement this would be to add the overridden class
  353. * to the bucket header when the bucket is overridden and style it as a
  354. * generic icon classed element. For the moment, we'll style the bucket
  355. * header specifically with the overridden font style.
  356. */
  357. .views-ui-display-tab-setting.overridden,
  358. .views-ui-display-tab-bucket.overridden .views-ui-display-tab-bucket__title {
  359. font-style: italic;
  360. }
  361. /* This is each row within one of the "boxes." */
  362. .views-ui-display-tab-bucket .views-display-setting {
  363. display: flex;
  364. flex-wrap: wrap;
  365. padding: var(--space-xs) var(--space-m);
  366. color: #666;
  367. font-size: var(--font-size-s);
  368. }
  369. .views-ui-display-tab-actions.views-ui-display-tab-bucket .views-display-setting {
  370. background-color: transparent;
  371. }
  372. .views-ui-display-tab-bucket .views-group-text {
  373. margin-top: 6px;
  374. margin-bottom: 6px;
  375. }
  376. .views-ui-display-tab-bucket__actions {
  377. margin-left: var(--space-xs); /* LTR */
  378. }
  379. [dir="rtl"] .views-ui-display-tab-bucket__actions {
  380. margin-right: var(--space-xs);
  381. margin-left: 0;
  382. }
  383. .views-display-setting .label {
  384. margin-right: var(--space-xs); /* LTR */
  385. white-space: nowrap;
  386. }
  387. [dir="rtl"] .views-display-setting .label {
  388. margin-right: 0;
  389. margin-left: var(--space-xs);
  390. }
  391. .label--separator.label--separator {
  392. margin-right: var(--space-xs);
  393. margin-left: var(--space-xs);
  394. }
  395. .views-edit-view {
  396. margin-bottom: 15px;
  397. }
  398. /* The contents of the popup dialog on the views edit form. */
  399. .views-filterable-options .form-type-checkbox {
  400. padding: 5px 8px;
  401. border-top: none;
  402. }
  403. .filterable-option .form-item {
  404. margin-top: 0;
  405. margin-bottom: 0;
  406. }
  407. .views-filterable-options .form-type-checkbox .description {
  408. margin-top: 0;
  409. margin-bottom: 0;
  410. }
  411. .views-filterable-options-controls .form-item {
  412. width: 30%;
  413. margin: 0 0 0 2%; /* LTR */
  414. }
  415. [dir="rtl"] .views-filterable-options-controls .form-item {
  416. margin: 0 2% 0 0;
  417. }
  418. .views-filterable-options-controls input,
  419. .views-filterable-options-controls select {
  420. width: 100%;
  421. }
  422. .views-ui-dialog.views-ui-dialog > .ui-dialog-content {
  423. padding: 0;
  424. }
  425. .views-ui-dialog .views-filterable-options {
  426. margin-bottom: 10px;
  427. }
  428. [id^="views-ui-add-handler-form"] .scroll {
  429. padding-top: 0;
  430. padding-bottom: 0;
  431. }
  432. .views-ui-dialog .views-add-form-selected {
  433. padding: 0 1rem;
  434. }
  435. .views-ui-dialog .views-add-form-selected > div {
  436. display: block;
  437. margin: 0;
  438. padding: 0.3rem 0.8rem;
  439. border: 1px solid #dedfe4;
  440. border-radius: 2px 2px 0 0;
  441. box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  442. }
  443. .views-ui-dialog .form-item-selected {
  444. margin: 0;
  445. padding: 6px 16px;
  446. }
  447. .views-ui-dialog .views-add-form-selected .views-selected-options {
  448. display: inline;
  449. }
  450. .views-ui-dialog.views-ui-dialog-scroll .ui-dialog-titlebar {
  451. border: none;
  452. }
  453. .views-ui-dialog .views-offset-top:not(:empty) {
  454. position: relative;
  455. padding: var(--space-s) var(--space-m) var(--space-xs);
  456. background-color: var(--color-gray-050);
  457. }
  458. .views-ui-dialog .views-offset-top:not(:empty):after {
  459. position: absolute;
  460. bottom: 0;
  461. left: 0;
  462. width: 100%;
  463. height: 3px;
  464. content: "";
  465. background: linear-gradient(to bottom, rgba(80, 81, 86, 0.11) 0%, rgba(18, 19, 20, 0.02) 49%, rgba(18, 19, 20, 0) 100%);
  466. }
  467. .views-ui-dialog .views-offset-top > * {
  468. margin: 0;
  469. }
  470. .views-ui-dialog .views-offset-top .form-item {
  471. max-width: 40%;
  472. margin: 0 var(--space-s) var(--space-s) 0;
  473. }
  474. .views-ui-dialog .tabledrag-toggle-weight-wrapper {
  475. margin: 0 0 var(--space-m) 0;
  476. }
  477. .views-ui-dialog details .item-list {
  478. padding-left: 2em; /* LTR */
  479. }
  480. [dir="rtl"] .views-ui-dialog details .item-list {
  481. padding-right: 2em;
  482. padding-left: 0;
  483. }
  484. .views-display-columns .details-wrapper {
  485. margin: 0;
  486. }
  487. .views-ui-rearrange-filter-form table {
  488. border-collapse: collapse;
  489. }
  490. .views-ui-rearrange-filter-form tr td[rowspan] {
  491. border: 1px solid var(--color-gray-200);
  492. }
  493. .views-ui-rearrange-filter-form tr[id^="views-row"] {
  494. border-right: 1px solid #cdcdcd; /* LTR */
  495. }
  496. [dir="rtl"] .views-ui-rearrange-filter-form tr[id^="views-row"] {
  497. border-right: 0;
  498. border-left: 1px solid #cdcdcd;
  499. }
  500. .views-ui-rearrange-filter-form .draggable td {
  501. border-bottom: 0.0625rem solid var(--color-gray-200);
  502. }
  503. .views-ui-rearrange-filter-form .group-empty {
  504. border-bottom: 1px solid #cdcdcd;
  505. }
  506. .form-item-options-expose-required,
  507. .form-item-options-expose-label,
  508. .form-item-options-expose-field-identifier,
  509. .form-item-options-expose-description {
  510. margin-top: 6px;
  511. margin-bottom: 6px;
  512. margin-left: 18px; /* LTR */
  513. }
  514. [dir="rtl"] .form-item-options-expose-required,
  515. [dir="rtl"] .form-item-options-expose-label,
  516. [dir="rtl"] .form-item-options-expose-field-identifier,
  517. [dir="rtl"] .form-item-options-expose-description {
  518. margin-right: 18px;
  519. margin-left: 0;
  520. }
  521. .views-preview-wrapper {
  522. border: 1px solid #ccc;
  523. }
  524. .view-preview-form {
  525. position: relative;
  526. }
  527. .view-preview-form__title {
  528. margin-top: 0;
  529. padding: 8px 12px;
  530. border-bottom: 1px solid #ccc;
  531. background-color: var(--color-gray-050);
  532. }
  533. .view-preview-form .form-item--live-preview {
  534. position: absolute;
  535. top: 0.6875rem;
  536. right: var(--space-s);
  537. margin-top: 2px;
  538. margin-left: 2px; /* LTR */
  539. }
  540. [dir="rtl"] .view-preview-form .form-item--live-preview {
  541. right: auto;
  542. left: var(--space-s);
  543. margin-right: 2px;
  544. margin-left: 0;
  545. }
  546. .views-live-preview {
  547. padding: var(--space-m);
  548. }
  549. .views-live-preview .views-query-info {
  550. overflow: auto;
  551. }
  552. .views-live-preview .section-title {
  553. display: inline-block;
  554. margin-top: 0;
  555. margin-bottom: 0;
  556. color: var(--color-gray-800);
  557. font-size: 13px;
  558. font-weight: normal;
  559. line-height: 1.6154;
  560. }
  561. .views-live-preview .view > * {
  562. margin-top: var(--space-m);
  563. }
  564. .views-live-preview .preview-section {
  565. margin: 0 -5px;
  566. padding: 3px 5px;
  567. border: 1px dashed #dedede;
  568. }
  569. .views-live-preview li.views-row + li.views-row {
  570. margin-top: 18px;
  571. }
  572. /* The div.views-row is intentional and excludes li.views-row, for example */
  573. .views-live-preview div.views-row + div.views-row {
  574. margin-top: 36px;
  575. }
  576. .views-query-info table {
  577. margin: 10px 0;
  578. border-spacing: 0;
  579. border-collapse: separate;
  580. border-color: var(--color-bg);
  581. }
  582. .views-query-info table tr {
  583. background-color: var(--color-gray-050);
  584. }
  585. .views-query-info table th,
  586. .views-query-info table td {
  587. padding: var(--space-xs) var(--space-l);
  588. font-size: var(--font-size-s);
  589. }
  590. .messages {
  591. margin-bottom: 18px;
  592. line-height: 1.4555;
  593. }
  594. .js .dropbutton-wrapper .dropbutton .dropbutton-action > .ajax-progress-throbber {
  595. position: absolute;
  596. z-index: 2;
  597. top: -1px;
  598. right: -5px; /* LTR */
  599. }
  600. [dir="rtl"].js .dropbutton-wrapper .dropbutton .dropbutton-action > .ajax-progress-throbber {
  601. right: auto;
  602. left: -5px;
  603. }
  604. /**
  605. * Position dropbuttons with flexbox instead after the dropbuttons have been
  606. * converted to splitbuttons.
  607. *
  608. * @see https://www.drupal.org/project/drupal/issues/3134107
  609. * @see https://www.drupal.org/project/drupal/issues/1899236
  610. */
  611. .edit-display-settings-top.views-ui-display-tab-bucket .dropbutton-wrapper {
  612. top: 0.8125rem;
  613. right: var(--space-s); /* LTR */
  614. }
  615. [dir="rtl"] .edit-display-settings-top.views-ui-display-tab-bucket .dropbutton-wrapper {
  616. right: auto;
  617. left: var(--space-s);
  618. }
  619. .views-list-section {
  620. margin-bottom: 2em;
  621. }
  622. .form-textarea-wrapper,
  623. .form-item-options-content {
  624. width: 100%;
  625. }
  626. .views-messages .messages-list,
  627. .views-messages .messages-list__item {
  628. margin-top: 0;
  629. margin-bottom: 0;
  630. }
  631. /**
  632. * Styles on devices with touchevents.
  633. */
  634. html:not(.no-touchevents) .views-ui-display-tab-bucket__header--actions {
  635. padding: var(--space-l) var(--space-xs);
  636. }
  637. html:not(.no-touchevents) .edit-display-settings-top.views-ui-display-tab-bucket {
  638. padding: var(--space-m) var(--space-xs);
  639. }

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