You are here

media-library.pcss.css in Drupal 10

media-library.pcss.css

Styling for Media Library.

File

core/themes/claro/css/theme/media-library.pcss.css
View source
  1. /**
  2. * @file media-library.pcss.css
  3. * Styling for Media Library.
  4. */
  5. /**
  6. * Negative margins compensate for modal dialog padding and compensate for
  7. * positioning that would otherwise hide the active tab indicator on the left.
  8. */
  9. .media-library-wrapper {
  10. display: flex;
  11. margin: -1rem -1.5rem -1rem -1rem; /* LTR */
  12. }
  13. [dir="rtl"] .media-library-wrapper {
  14. margin-right: -1em;
  15. margin-left: -1.5em;
  16. }
  17. .media-library-wrapper .messages-list,
  18. .media-library-wrapper .messages {
  19. margin-top: 0;
  20. margin-bottom: var(--space-l);
  21. }
  22. .media-library-menu {
  23. position: relative;
  24. display: block;
  25. width: var(--vertical-tabs-menu-width);
  26. margin: 0;
  27. padding-top: var(--vertical-tabs-menu-item-shadow-extraspace);
  28. list-style: none;
  29. color: var(--color-text);
  30. }
  31. [dir="rtl"] .media-library-menu {
  32. margin: 0;
  33. }
  34. .media-library-menu__item {
  35. overflow: hidden;
  36. margin: var(--vertical-tabs-menu-item--top-margin) var(--vertical-tabs-menu-item--right-margin) var(--vertical-tabs-menu-item--bottom-margin) var(--vertical-tabs-menu-item--left-margin); /* LTR */
  37. padding: var(--vertical-tabs-menu-item-shadow-extraspace) 0;
  38. }
  39. [dir="rtl"] .media-library-menu__item {
  40. margin-right: var(--vertical-tabs-menu-item--left-margin);
  41. margin-left: var(--vertical-tabs-menu-item--right-margin);
  42. }
  43. .media-library-menu__item::before {
  44. z-index: var(--vertical-tabs-menu--z-index); /* The line should be kept above the vertical tabs menu link to keep it visible even if the link is hovered and gets the 'hover' background color. */
  45. display: block;
  46. width: 100%;
  47. margin-top: calc(var(--vertical-tabs-menu-separator-size) * -1);
  48. content: "";
  49. border-top: var(--vertical-tabs-menu-separator-size) solid var(--vertical-tabs-menu-separator-color);
  50. }
  51. .media-library-menu__link {
  52. position: relative;
  53. display: block;
  54. margin-top: calc(var(--vertical-tabs-border-size) * -1);
  55. padding: var(--space-s) var(--space-s) var(--space-s) calc(var(--space-l) - var(--vertical-tabs-menu-link--active-border-size)); /* LTR */
  56. text-decoration: none;
  57. word-wrap: break-word;
  58. hyphens: auto;
  59. color: var(--color-text);
  60. border: var(--vertical-tabs-border-size) solid transparent;
  61. border-width: var(--vertical-tabs-border-size) 0 var(--vertical-tabs-border-size) var(--vertical-tabs-menu-link--active-border-size); /* LTR */
  62. border-radius: var(--vertical-tabs-border-radius) 0 0 var(--vertical-tabs-border-radius); /* LTR */
  63. }
  64. [dir="rtl"] .media-library-menu__link {
  65. padding-right: calc(var(--space-l) - var(--vertical-tabs-menu-link--active-border-size));
  66. padding-left: var(--space-s);
  67. border-width: var(--vertical-tabs-border-size) var(--vertical-tabs-menu-link--active-border-size) var(--vertical-tabs-border-size) 0;
  68. border-radius: 0 var(--vertical-tabs-border-radius) var(--vertical-tabs-border-radius) 0;
  69. }
  70. @media screen and (-ms-high-contrast: active) {
  71. .media-library-menu__link {
  72. border-color: transparent;
  73. }
  74. }
  75. /* Menu link states. */
  76. .media-library-menu__link:focus {
  77. z-index: calc(var(--vertical-tabs-menu--z-index) + 3); /* Focus state should be on the highest level to make the focus effect be fully visible. This also means that it should have bigger z-index than the selected link. */
  78. text-decoration: none;
  79. box-shadow: none;
  80. }
  81. .media-library-menu__link:hover {
  82. text-decoration: none;
  83. color: var(--color-absolutezero);
  84. /* These borders are necessary to replace the dividing lines while in the hover state. */
  85. border-top: var(--vertical-tabs-menu-separator-size) solid var(--vertical-tabs-menu-separator-color);
  86. border-bottom: var(--vertical-tabs-menu-separator-size) solid var(--vertical-tabs-menu-separator-color);
  87. background: var(--color-bgblue-hover);
  88. }
  89. /* This pseudo element provides the background for the hover state. */
  90. .media-library-menu__link::before {
  91. position: absolute;
  92. z-index: calc(var(--vertical-tabs-menu--z-index) - 1); /* This should be on a lower level than the menu-item separator lines. */
  93. top: calc(var(--vertical-tabs-border-size) * -1);
  94. right: 0; /* LTR */
  95. bottom: calc(var(--vertical-tabs-border-size) * -1);
  96. left: calc(var(--vertical-tabs-menu-link--active-border-size) * -1); /* LTR */
  97. content: "";
  98. pointer-events: none;
  99. background-clip: padding-box;
  100. }
  101. [dir="rtl"] .media-library-menu__link::before {
  102. right: calc(var(--vertical-tabs-menu-link--active-border-size) * -1);
  103. left: 0;
  104. }
  105. .media-library-menu__link:focus::after {
  106. position: absolute;
  107. top: 0;
  108. right: 0;
  109. bottom: 0;
  110. left: 0;
  111. margin: calc(var(--vertical-tabs-border-size) * -1) calc(var(--vertical-tabs-menu-link--active-border-size) * -1);
  112. content: "";
  113. pointer-events: none;
  114. border: var(--vertical-tabs-menu-link-focus-border-size) solid var(--color-focus);
  115. border-radius: var(--vertical-tabs-border-radius);
  116. }
  117. .media-library-menu__link.active {
  118. z-index: calc(var(--vertical-tabs-menu--z-index) + 2); /* The selected menu link should be on a higher level than the white masking line that hides the gray separator. */
  119. color: var(--color-absolutezero);
  120. border-color: var(--vertical-tabs-border-color) transparent;
  121. background-color: var(--color-white);
  122. box-shadow: var(--vertical-tabs-shadow);
  123. }
  124. .media-library-menu__link.active:hover {
  125. color: var(--color-absolutezero-hover);
  126. background-color: var(--color-bgblue-hover);
  127. }
  128. .media-library-menu__link.active::before {
  129. z-index: 1; /* The blue active-tab indication should be on a higher level than the green focus border. */
  130. border-left: var(--vertical-tabs-menu-link--active-border-size) solid var(--vertical-tabs-menu-link--active-border-color); /* LTR */
  131. border-radius: var(--base-border-radius) 0 0 var(--base-border-radius); /* LTR */
  132. }
  133. [dir=rtl] .media-library-menu__link.active::before {
  134. border-right: var(--vertical-tabs-menu-link--active-border-size) solid var(--vertical-tabs-menu-link--active-border-color);
  135. border-left: 0;
  136. border-radius: 0 var(--base-border-radius) var(--base-border-radius) 0;
  137. }
  138. .media-library-menu__link.active:hover::before {
  139. background: none;
  140. }
  141. .media-library-content {
  142. width: 100%;
  143. padding: 1em;
  144. outline: none;
  145. }
  146. .media-library-menu + .media-library-content {
  147. z-index: var(--vertical-tabs-menu--z-index);
  148. border-left: var(--vertical-tabs-border); /* LTR */
  149. box-shadow: var(--vertical-tabs-shadow);
  150. }
  151. [dir="rtl"] .media-library-menu + .media-library-content {
  152. border-right: var(--vertical-tabs-border);
  153. border-left: 0;
  154. }
  155. /* Generic media add form styles. */
  156. .media-library-add-form--without-input .form-item {
  157. margin-right: 1rem;
  158. }
  159. /**
  160. * Remove outline from added media list.
  161. *
  162. * The added media list receives focus after adding new media, but since it is
  163. * not an interactive element, it does not need an outline.
  164. */
  165. .media-library-add-form__added-media {
  166. margin: 0;
  167. padding: 0;
  168. outline: none;
  169. }
  170. /**
  171. * This Media Library form is an exception to the extrasmall button pattern.
  172. * Additional padding is needed to accommodate the remove button icon. The
  173. * margin is adjusted for alignment within the media library dialog.
  174. */
  175. .media-library-add-form__added-media .media-library-add-form__remove-button.button--extrasmall {
  176. margin: var(--space-xs) 0; /* LTR */
  177. /* Left padding is double the background size of the button icon. */
  178. padding: calc(calc(var(--space-xs) / 2) - 1px) calc(var(--space-s) - 1px) calc(calc(var(--space-xs) / 2) - 1px) calc(var(--space-s) * 2);
  179. }
  180. /* This is needed to override the default extrasmall button left margin. */
  181. [dir="rtl"] .media-library-add-form__added-media .media-library-add-form__remove-button.button--extrasmall {
  182. margin-left: 0;
  183. }
  184. .media-library-add-form__input-wrapper {
  185. padding: var(--space-xs) var(--space-l) var(--space-l) var(--space-l);
  186. border: var(--details-border-size) solid var(--details-border-color);
  187. border-radius: var(--base-border-radius);
  188. background-color: var(--color-white);
  189. box-shadow: var(--details-box-shadow);
  190. }
  191. /* Style the media add upload form. */
  192. .media-library-add-form--upload.media-library-add-form--without-input .form-item-upload {
  193. margin-bottom: 0;
  194. }
  195. .media-library-add-form--upload.media-library-add-form--with-input .form-managed-file__main,
  196. .media-library-add-form--upload.media-library-add-form--with-input .form-managed-file.no-upload {
  197. display: block;
  198. }
  199. /* Adjust the focus border on this element so it is not too close to buttons. */
  200. .media-library-add-form__added-media:focus {
  201. box-shadow: 0 0 0 calc(var(--focus-border-offset-size) + 2px) var(--color-white), 0 0 0 calc(var(--focus-border-size) + var(--focus-border-offset-size) + 2px) var(--color-focus);
  202. }
  203. .media-library-add-form .file-upload-help {
  204. margin: 8px 0 0;
  205. }
  206. /* Align remove buttons with Save button and compensate for IE scrollbar and focus padding. */
  207. @media all and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  208. .ui-dialog > .ui-dialog-content {
  209. padding-right: calc(var(--space-s) - calc(var(--focus-border-size) + var(--focus-border-offset-size) + 2px));
  210. }
  211. [dir="rtl"] .ui-dialog > .ui-dialog-content {
  212. padding-left: calc(var(--space-s) - calc(var(--focus-border-size) + var(--focus-border-offset-size) + 2px));
  213. }
  214. }
  215. /* Style the media add oEmbed form. */
  216. .media-library-add-form--oembed .media-library-add-form__input-wrapper {
  217. display: flex;
  218. align-items: center;
  219. }
  220. @media screen and (max-width: 37.5em) {
  221. .media-library-add-form--oembed .media-library-add-form__input-wrapper {
  222. display: block;
  223. }
  224. }
  225. .media-library-add-form--oembed.media-library-add-form--without-input .form-item-url {
  226. margin-bottom: 0;
  227. }
  228. .media-library-add-form-oembed-url {
  229. width: 100%;
  230. }
  231. /* Media add form selection styles. */
  232. .media-library-add-form__selected-media {
  233. margin-top: 1em;
  234. }
  235. /* Change to padding to account for the negative margin for flex grid. */
  236. .media-library-add-form__selected-media .details-wrapper {
  237. padding: 0 10px 1em 10px;
  238. }
  239. .media-library-add-form__selected-media .media-library-item .field--name-thumbnail img {
  240. height: 100px;
  241. }
  242. /* Generic media library view styles. */
  243. .media-library-select-all {
  244. flex-basis: 100%;
  245. width: 100%;
  246. margin: 10px 8px;
  247. }
  248. .media-library-select-all input {
  249. margin-right: 10px;
  250. }
  251. [dir="rtl"] .media-library-select-all input {
  252. margin-left: 10px;
  253. }
  254. .media-library-views-form,
  255. .media-library-selection,
  256. .media-library-add-form__selected-media .details-wrapper,
  257. .media-library-view .form--inline {
  258. display: flex;
  259. flex-wrap: wrap;
  260. }
  261. .media-library-views-form > .form-actions {
  262. flex-basis: 100%;
  263. }
  264. .media-library-views-form__header {
  265. flex-basis: 100%;
  266. }
  267. .media-library-views-form__header .form-item {
  268. margin-right: 8px; /* @TODO RTL? */
  269. }
  270. .media-library-views-form__rows {
  271. display: flex;
  272. flex-wrap: wrap;
  273. flex-basis: 100%;
  274. margin: 0 -8px;
  275. }
  276. /**
  277. * Override the table display of the visually hidden labels.
  278. *
  279. * The width, height and overflow properties in the styles for the
  280. * .visually-hidden class do not work correctly if the element has a table
  281. * display.
  282. */
  283. .media-library-item label {
  284. display: inline-block;
  285. }
  286. /* Media library widget view styles. */
  287. .media-library-wrapper .media-library-view {
  288. position: relative;
  289. display: flex;
  290. flex-wrap: wrap;
  291. justify-content: space-between;
  292. }
  293. .media-library-wrapper .view-header {
  294. align-self: flex-end;
  295. margin: 1em 0;
  296. text-align: right; /* LTR */
  297. }
  298. [dir="rtl"] .media-library-wrapper .view-header {
  299. text-align: left;
  300. }
  301. .media-library-wrapper .media-library-view .view-filters,
  302. .media-library-wrapper .media-library-view .view-content {
  303. flex: 0 0 100%;
  304. }
  305. .media-library-wrapper .views-display-link {
  306. margin: 0;
  307. padding-left: 22px; /* LTR */
  308. color: #333;
  309. font-size: 15px;
  310. line-height: 16px;
  311. }
  312. [dir="rtl"] .media-library-wrapper .views-display-link {
  313. padding-right: 22px;
  314. padding-left: 0;
  315. }
  316. .media-library-wrapper .views-display-link.is-active {
  317. font-weight: bold;
  318. }
  319. .media-library-wrapper .views-display-link-widget {
  320. margin-right: 15px;
  321. background: url(../../../../misc/icons/333333/grid.svg) left 0 no-repeat; /* LTR */
  322. }
  323. [dir="rtl"] .media-library-wrapper .views-display-link-widget {
  324. background-position: right 0;
  325. }
  326. .media-library-wrapper .views-display-link-widget_table {
  327. background: url(../../../../misc/icons/333333/table.svg) left 0 no-repeat; /* LTR */
  328. }
  329. [dir="rtl"] .media-library-wrapper .views-display-link-widget_table {
  330. background-position: right 0;
  331. }
  332. /**
  333. * Style the media library grid items.
  334. */
  335. .media-library-item {
  336. position: relative;
  337. }
  338. /**
  339. * Ajax throbbers inside a media library item.
  340. */
  341. .media-library-item .ajax-progress.ajax-progress.ajax-progress {
  342. position: absolute;
  343. z-index: calc(var(--vertical-tabs-menu--z-index) + 1);
  344. top: 50%;
  345. left: 50%;
  346. box-sizing: border-box;
  347. width: 3rem; /* 56px */
  348. height: 3rem;
  349. margin: -1.5rem;
  350. border: var(--input-border-size) solid var(--jui-dropdown-border-color);
  351. border-radius: 3.5rem;
  352. background: var(--color-white);
  353. box-shadow: 0 0.25rem 0.625rem var(--jui-dropdown-shadow-color);
  354. }
  355. .media-library-item .ajax-progress__throbber {
  356. position: absolute;
  357. top: 50%;
  358. left: 50%;
  359. width: 1.75rem;
  360. height: 1.75rem;
  361. margin: -0.875rem;
  362. border: 3px solid var(--color-absolutezero);
  363. border-right: 3px dotted transparent;
  364. }
  365. .media-library-item .ajax-progress__message {
  366. display: none;
  367. }
  368. .media-library-item--grid {
  369. justify-content: center;
  370. box-sizing: border-box;
  371. width: 50%;
  372. padding: 8px;
  373. vertical-align: top;
  374. outline: none;
  375. background: #fff;
  376. }
  377. .media-library-item--grid:before {
  378. position: absolute;
  379. top: 7px;
  380. left: 7px;
  381. width: calc(100% - 16px);
  382. height: calc(100% - 16px);
  383. content: "";
  384. transition: border-color 0.2s, color 0.2s, background 0.2s;
  385. pointer-events: none;
  386. border: 1px solid #dbdbdb;
  387. border-radius: 2px;
  388. box-shadow: var(--details-box-shadow);
  389. }
  390. /**
  391. * The media library grid item focus border is moved to a child element to
  392. * improve padding.
  393. */
  394. .media-library-item--grid:focus {
  395. outline: none;
  396. box-shadow: none;
  397. }
  398. .media-library-item--grid:focus .media-library-item__preview-wrapper {
  399. outline: var(--focus-outline);
  400. box-shadow: var(--focus-box-shadow);
  401. }
  402. /* Media library widget weight field styles. */
  403. .media-library-item--grid .form-item {
  404. margin: 0.75em;
  405. }
  406. /* The selected items in the add form should be shown a bit smaller. */
  407. .media-library-add-form__selected-media .media-library-item--small {
  408. width: 33.3%;
  409. }
  410. .media-library-widget-modal .ui-dialog-buttonpane {
  411. display: flex;
  412. align-items: center;
  413. }
  414. .media-library-widget-modal .ui-dialog-buttonpane .form-actions {
  415. flex: 1;
  416. }
  417. /**
  418. * By default, the dialog is too narrow to be usable.
  419. * @see Drupal.ckeditor.openDialog()
  420. */
  421. .ui-dialog--narrow.media-library-widget-modal {
  422. max-width: 75%;
  423. }
  424. @media screen and (min-width: 45em) {
  425. .media-library-item--grid {
  426. width: 33.3%;
  427. }
  428. /* Change the width for the modal and widget since there is less space. */
  429. .media-library-widget-modal .media-library-item--grid,
  430. .media-library-selection .media-library-item--grid {
  431. width: 50%;
  432. }
  433. /* The selected items in the add form should be shown a bit smaller. */
  434. .media-library-add-form__selected-media .media-library-item--small {
  435. width: 25%;
  436. }
  437. }
  438. @media screen and (min-width: 60em) {
  439. .media-library-item--grid {
  440. width: 25%;
  441. }
  442. /* Change the width for the modal and widget since there is less space. */
  443. .media-library-widget-modal .media-library-item--grid,
  444. .media-library-selection .media-library-item--grid {
  445. width: 33.3%;
  446. }
  447. /* The selected items in the add form should be shown a bit smaller. */
  448. .media-library-add-form__selected-media .media-library-item--small {
  449. width: 16.6%;
  450. }
  451. }
  452. @media screen and (min-width: 77em) {
  453. .media-library-item--grid {
  454. width: 16.6%;
  455. }
  456. /* Change the width for the modal and widget since there is less space. */
  457. .media-library-widget-modal .media-library-item--grid,
  458. .media-library-selection .media-library-item--grid {
  459. width: 25%;
  460. }
  461. /* The selected items in the add form should be shown a bit smaller. */
  462. .media-library-add-form__selected-media .media-library-item--small {
  463. width: 16.6%;
  464. }
  465. }
  466. .media-library-item--grid .field--name-thumbnail {
  467. overflow: hidden;
  468. text-align: center;
  469. background-color: #ebebeb;
  470. }
  471. .media-library-item--grid .field--name-thumbnail img {
  472. height: 180px;
  473. object-fit: contain;
  474. object-position: center center;
  475. }
  476. .media-library-item--grid.is-hover:before,
  477. .media-library-item--grid.checked:before,
  478. .media-library-item--grid.is-focus:before {
  479. top: 5px;
  480. left: 5px;
  481. border-width: 3px;
  482. border-radius: 3px;
  483. }
  484. .media-library-item--grid.is-hover:before,
  485. .media-library-item--grid.checked.is-hover:before {
  486. border-color: var(--color-absolutezero-hover);
  487. }
  488. .media-library-item--grid.is-focus:before {
  489. border-color: var(--color-focus);
  490. }
  491. .media-library-item--grid.checked:before {
  492. border-color: var(--button--focus-border-color);
  493. }
  494. .media-library-item--grid .form-boolean--type-checkbox:checked {
  495. border-color: var(--button--focus-border-color);
  496. background-color: var(--button--focus-border-color);
  497. }
  498. .media-library-item__click-to-select-checkbox {
  499. position: absolute;
  500. z-index: 1;
  501. top: 16px;
  502. left: 16px; /* LTR */
  503. display: block;
  504. }
  505. [dir="rtl"] .media-library-item__click-to-select-checkbox {
  506. right: 16px;
  507. left: auto;
  508. }
  509. .media-library-item__click-to-select-checkbox input {
  510. width: 20px;
  511. height: 20px;
  512. }
  513. .media-library-item__click-to-select-checkbox .form-item {
  514. margin: 0;
  515. }
  516. .media-library-item__click-to-select-trigger {
  517. overflow: hidden;
  518. height: 100%;
  519. cursor: pointer;
  520. }
  521. /* Media library item table styles. */
  522. .media-library-item--table img {
  523. max-width: 100px;
  524. height: auto;
  525. }
  526. /* Media library entity view display styles. */
  527. .media-library-item__preview {
  528. padding-bottom: 34px;
  529. }
  530. .field--widget-media-library-widget .media-library-item__preview {
  531. cursor: move;
  532. }
  533. .field--widget-media-library-widget .media-library-item__preview img {
  534. border-top-left-radius: 2px;
  535. border-top-right-radius: 2px;
  536. }
  537. .field--widget-media-library-widget .js-media-library-item:only-child .media-library-item__preview {
  538. cursor: inherit;
  539. }
  540. .media-library-item__status {
  541. position: absolute;
  542. top: 40px;
  543. left: 5px; /* LTR */
  544. padding: 5px 10px;
  545. pointer-events: none;
  546. color: #e4e4e4;
  547. background: #666;
  548. font-size: 12px;
  549. font-style: italic;
  550. }
  551. [dir="rtl"] .media-library-item__status {
  552. right: 5px;
  553. left: auto;
  554. }
  555. .media-library-item__attributes {
  556. position: absolute;
  557. bottom: 0;
  558. display: block;
  559. overflow: hidden;
  560. max-width: calc(100% - 10px);
  561. max-height: calc(100% - 50px);
  562. padding: 5px;
  563. background: white;
  564. }
  565. .media-library-item__name {
  566. display: block;
  567. overflow: hidden;
  568. margin: calc(var(--space-xs) / 2) var(--space-xs);
  569. white-space: nowrap;
  570. text-overflow: ellipsis;
  571. font-size: 14px;
  572. }
  573. .media-library-item__attributes:hover .media-library-item__name,
  574. .media-library-item--grid.is-focus .media-library-item__name,
  575. .media-library-item--grid.checked .media-library-item__name {
  576. white-space: normal;
  577. }
  578. .media-library-item__type {
  579. color: #696969;
  580. font-size: 12px;
  581. }
  582. .media-library-item--disabled {
  583. pointer-events: none;
  584. opacity: 0.5;
  585. }
  586. /* Media library widget styles. */
  587. .media-library-widget {
  588. position: relative;
  589. }
  590. .media-library-widget__toggle-weight.media-library-widget__toggle-weight {
  591. position: absolute;
  592. top: var(--space-s);
  593. right: var(--space-m); /* LTR */
  594. text-decoration: none;
  595. }
  596. [dir="rtl"] .media-library-widget__toggle-weight.media-library-widget__toggle-weight {
  597. right: auto;
  598. left: var(--space-m);
  599. }
  600. /* Add negative margin for flex grid. */
  601. .media-library-selection {
  602. margin: 1em -8px;
  603. }
  604. /**
  605. * Media library widget edit and delete button styles.
  606. *
  607. * We have to override the .button styles since buttons make heavy use of
  608. * background and border property changes.
  609. */
  610. .media-library-item__edit,
  611. .media-library-item__edit:hover,
  612. .media-library-item__edit:focus,
  613. .media-library-item__remove,
  614. .media-library-item__remove:hover,
  615. .media-library-item__remove:focus,
  616. .media-library-item__remove.button,
  617. .media-library-item__remove.button:first-child,
  618. .media-library-item__remove.button:disabled,
  619. .media-library-item__remove.button:disabled:active,
  620. .media-library-item__remove.button:hover,
  621. .media-library-item__remove.button:focus {
  622. position: absolute;
  623. z-index: 1;
  624. top: 10px;
  625. overflow: hidden;
  626. width: 24px;
  627. height: 24px;
  628. margin: 5px;
  629. padding: 0;
  630. transition: 0.2s border-color;
  631. color: transparent;
  632. background-size: 12px;
  633. text-shadow: none;
  634. font-size: 0;
  635. }
  636. .media-library-item__edit {
  637. right: 40px; /* LTR */
  638. }
  639. [dir="rtl"] .media-library-item__edit {
  640. right: auto;
  641. left: 40px;
  642. }
  643. .media-library-item__remove {
  644. right: 10px; /* LTR */
  645. }
  646. [dir="rtl"] .media-library-item__remove {
  647. right: auto;
  648. left: 10px;
  649. }
  650. .media-library-item__edit {
  651. /* !important to override button class border. */
  652. border: 1px solid var(--color-gray-200) !important;
  653. background-image: url("../../images/icons/545560/pencil.svg");
  654. background-repeat: no-repeat;
  655. background-position: center;
  656. background-size: 12px;
  657. }
  658. .media-library-item__edit:active {
  659. background-image: url("../../../../misc/icons/ffffff/pencil.svg");
  660. }
  661. .media-library-item__remove,
  662. .media-library-item__remove.button,
  663. .media-library-item__remove.button:first-child,
  664. .media-library-item__remove.button:disabled,
  665. .media-library-item__remove.button:disabled:active,
  666. .media-library-item__remove.button:hover,
  667. .media-library-item__remove.button:focus {
  668. /* !important to override button class border. */
  669. border: 1px solid var(--color-gray-200) !important;
  670. background-image: url("../../../../misc/icons/545560/ex.svg");
  671. background-repeat: no-repeat;
  672. background-position: center;
  673. background-size: 12px;
  674. }
  675. .media-library-item__remove:active,
  676. .media-library-item__remove.button:active,
  677. .media-library-item__remove.button:disabled:active {
  678. /* !important to override button class border. */
  679. border-color: var(--color-absolutezero) !important;
  680. background-image: url("../../../../misc/icons/ffffff/ex.svg");
  681. }
  682. /* Style the added media item container. */
  683. .media-library-add-form__media {
  684. position: relative;
  685. display: flex;
  686. border-bottom: 1px solid #c0c0c0;
  687. }
  688. /* Do not show the bottom border and padding for the last item. */
  689. .media-library-add-form__media:last-child {
  690. padding-bottom: 0;
  691. border-bottom: 0;
  692. }
  693. .media-library-add-form__preview {
  694. display: flex;
  695. align-items: center;
  696. justify-content: center;
  697. width: 220px;
  698. margin-right: 20px; /* LTR */
  699. background: var(--color-gray-050-o-40);
  700. }
  701. [dir="rtl"] .media-library-add-form__preview {
  702. margin-right: 0;
  703. margin-left: 20px;
  704. }
  705. .media-library-add-form__fields {
  706. flex-grow: 1;
  707. }
  708. .media-library-add-form__remove-button {
  709. position: absolute;
  710. right: 0; /* LTR */
  711. background-image: url("../../../../misc/icons/000000/ex.svg");
  712. background-repeat: no-repeat;
  713. background-position: var(--space-xs) center;
  714. background-size: var(--space-s);
  715. }
  716. [dir="rtl"] .media-library-add-form__remove-button {
  717. right: auto;
  718. left: 0;
  719. }
  720. .media-library-add-form__remove-button.button:disabled {
  721. background-image: url("../../../../misc/icons/8e929c/ex.svg");
  722. }
  723. /* @todo Remove in https://www.drupal.org/project/drupal/issues/3064914 */
  724. .views-live-preview .media-library-view div.views-row + div.views-row {
  725. margin-top: 0;
  726. }