media-library-item.css

Same filename and directory in other branches
  1. 11.x core/themes/default_admin/css/components/media-library-item.css

Style the media library items.

File

core/themes/default_admin/css/components/media-library-item.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. *
  10. * Style the media library items.
  11. */
  12. .media-library-item {
  13. position: relative;
  14. background: none;
  15. /* Ajax throbbers inside a media library item. */
  16. .ajax-progress {
  17. position: absolute;
  18. z-index: calc(var(--vertical-tabs-menu--z-index) + 1);
  19. box-sizing: border-box;
  20. width: 3.5rem;
  21. height: 3.5rem;
  22. margin: -1.5rem;
  23. transform: translateY(-50%);
  24. border: var(--input-border-size) solid var(--jui-dropdown-border-color);
  25. border-radius: 3.5rem;
  26. background: var(--admin-color-bg-raised);
  27. box-shadow: 0 0.25rem 0.625rem var(--jui-dropdown-shadow-color);
  28. inset-block-start: 50%;
  29. inset-inline-start: 50%;
  30. }
  31. .ajax-progress__throbber {
  32. position: absolute;
  33. inset-block-start: 50%;
  34. inset-inline-start: 50%;
  35. width: 1.75rem;
  36. height: 1.75rem;
  37. margin: -0.875rem;
  38. border: 3px solid var(--admin-color-link);
  39. border-inline-end: 0.1875rem dotted transparent;
  40. }
  41. label {
  42. display: inline-block;
  43. }
  44. .ajax-progress__message {
  45. display: none;
  46. }
  47. .form-item {
  48. margin: var(--admin-space-xs);
  49. }
  50. }
  51. .media-library-item__preview-wrapper {
  52. position: relative;
  53. .media-library-item:focus
  54. }
  55. .media-library-item--grid {
  56. justify-content: center;
  57. box-sizing: border-box;
  58. padding: 0.5rem;
  59. vertical-align: top;
  60. border-radius: var(--admin-radius-xl);
  61. outline: none;
  62. /**
  63. * The media library grid item focus border is moved to a child element to
  64. * improve padding.
  65. */
  66. &:focus {
  67. outline: none;
  68. box-shadow: none;
  69. .media-library-item__preview-wrapper {
  70. outline: var(--focus-outline);
  71. box-shadow: var(--focus-box-shadow);
  72. }
  73. }
  74. /* Media library widget weight field styles. */
  75. .form-item {
  76. margin: 0.75em;
  77. }
  78. }
  79. /* Edit/remove button base appearance. */
  80. .media-library-edit__link,
  81. .media-library-item__edit,
  82. .media-library-item__edit.button,
  83. .media-library-item__remove,
  84. .media-library-item__remove.button {
  85. border-color: var(--admin-color-border);
  86. &:focus {
  87. outline: var(--focus-outline);
  88. }
  89. }
  90. .media-library-edit__link,
  91. .media-library-item__edit {
  92. inset-block-start: 0.625rem;
  93. inset-inline-end: 3.125rem;
  94. background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3e %3cg fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e %3cpath d='M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z'%3e%3c/path%3e %3c/g%3e%3c/svg%3e");
  95. background-size: 0.75rem 0.75rem;
  96. }
  97. .media-library-item__remove,
  98. .media-library-item__remove.button {
  99. background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3e %3cg fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3e %3cpath d='M20 4L4 20' /%3e %3cpath d='M4 4L20 20' /%3e %3c/g%3e%3c/svg%3e");
  100. background-size: 0.75rem 0.75rem;
  101. }
  102. .media-library-item__click-to-select-checkbox {
  103. position: absolute;
  104. z-index: 1;
  105. inset-block-start: 1rem;
  106. inset-inline-start: 1rem;
  107. display: block;
  108. input {
  109. width: 1.25rem;
  110. height: 1.25rem;
  111. }
  112. .form-item {
  113. margin: 0;
  114. }
  115. .form-boolean {
  116. width: 1.8125rem;
  117. height: 1.8125rem;
  118. border-radius: var(--admin-radius-xs);
  119. box-shadow: 0 2px 4px rgb(0, 0, 0, 0.15);
  120. &:hover,
  121. &:active {
  122. border-color: transparent;
  123. }
  124. &:checked {
  125. border-color: var(--admin-color-primary);
  126. background-color: var(--admin-color-primary);
  127. }
  128. }
  129. }
  130. .media-library-item__click-to-select-trigger {
  131. cursor: pointer;
  132. }
  133. /* Media library item table styles. */
  134. .media-library-item--table img {
  135. max-width: 6.25rem;
  136. height: auto;
  137. }
  138. /* Media library entity view display styles. */
  139. .media-library-item__preview {
  140. position: relative;
  141. overflow: clip;
  142. border: 1px solid var(--admin-color-border);
  143. border-radius: var(--admin-radius-xl);
  144. aspect-ratio: 1;
  145. background-color: var(--admin-color-bg-surface-nested);
  146. background-image: linear-gradient(-45deg, var(--admin-color-border) 25%, transparent 26%), linear-gradient(-45deg, var(--admin-color-border) 25%, transparent 26%), linear-gradient(135deg, var(--admin-color-border) 25%, transparent 26%), linear-gradient(135deg, var(--admin-color-border) 25%, transparent 26%);
  147. background-position:
  148. 0 0,
  149. var(--admin-pattern-square) var(--admin-pattern-square),
  150. var(--admin-pattern-square) var(--admin-pattern-square),
  151. 0 0;
  152. background-size: calc(var(--admin-pattern-square) * 2) calc(var(--admin-pattern-square) * 2);
  153. svg,
  154. img {
  155. position: absolute;
  156. max-width: 100%;
  157. max-height: 100%;
  158. margin: auto;
  159. object-fit: cover;
  160. inset: 0;
  161. }
  162. .media-library-item.is-hover
  163. }
  164. .media-library-item.checked &,
  165. .media-library-item.is-active
  166. }
  167. /*
  168. * Status overlay shown during media processing; only fires for transient
  169. * states.
  170. */
  171. .media-library-item__status {
  172. position: absolute;
  173. inset-block-start: 2.5rem;
  174. inset-inline-start: 0.3125rem;
  175. padding: 0.3125rem 0.625rem;
  176. pointer-events: none;
  177. color: #e4e4e4;
  178. background: #666;
  179. font-size: 0.75rem;
  180. font-style: italic;
  181. }
  182. .media-library-item__attributes {
  183. padding: var(--admin-space-xs);
  184. }
  185. .media-library-item__name {
  186. text-wrap: pretty;
  187. color: var(--admin-color-text);
  188. font-size: 0.875rem;
  189. }
  190. .media-library-item__content {
  191. display: flex;
  192. height: 100%;
  193. article {
  194. width: 100%;
  195. }
  196. }
  197. .media-library-item__type {
  198. color: #696969;
  199. font-size: 0.75rem;
  200. }
  201. .media-library-item--disabled {
  202. pointer-events: none;
  203. opacity: 0.5;
  204. }
  205. /**
  206. * Media library widget edit and delete button styles.
  207. *
  208. * We have to override the .button styles since buttons make heavy use of
  209. * background and border property changes.
  210. */
  211. .media-library-item__edit,
  212. .media-library-item__edit:hover,
  213. .media-library-item__edit:focus,
  214. .media-library-item__remove,
  215. .media-library-item__remove:hover,
  216. .media-library-item__remove:focus,
  217. .media-library-item__remove.button,
  218. .media-library-item__remove.button:first-child,
  219. .media-library-item__remove.button:disabled,
  220. .media-library-item__remove.button:disabled:active,
  221. .media-library-item__remove.button:hover,
  222. .media-library-item__remove.button:focus {
  223. position: absolute;
  224. z-index: 1;
  225. inset-block-start: 0.625rem;
  226. overflow: hidden;
  227. width: 1.5rem;
  228. height: 1.5rem;
  229. margin: 0.3125rem;
  230. padding: 0;
  231. transition: 0.2s border-color;
  232. color: transparent;
  233. background-size: 0.75rem;
  234. text-shadow: none;
  235. font-size: 0;
  236. }
  237. .media-library-item__edit {
  238. inset-inline-end: 2.5rem;
  239. border: 1px solid var(--admin-color-border);
  240. background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3e%3cg fill='%23545560'%3e%3cpath d='M14.545 3.042l-1.586-1.585a1.003 1.003 0 00-1.414 0L10.252 2.75l3 3 1.293-1.293a1.004 1.004 0 000-1.415zM5.25 13.751l-3-3 6.998-6.998 3 3zM.908 14.775c-.087.262.055.397.316.312l2.001-.667-1.65-1.646-.667 2.001z'/%3e%3c/g%3e%3c/svg%3e");
  241. background-repeat: no-repeat;
  242. background-position: center;
  243. background-size: 0.75rem;
  244. &:active {
  245. background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3e%3cg%3e%3cpath fill='%23ffffff' d='M14.545 3.042l-1.586-1.585c-.389-.389-1.025-.389-1.414 0l-1.293 1.293 3 3 1.293-1.293c.389-.389.389-1.026 0-1.415z'/%3e%3crect fill='%23ffffff' x='5.129' y='3.8' transform='matrix(-.707 -.707 .707 -.707 6.189 20.064)' width='4.243' height='9.899'/%3e%3cpath fill='%23ffffff' d='M.908 14.775c-.087.262.055.397.316.312l2.001-.667-1.65-1.646-.667 2.001z'/%3e%3c/g%3e%3c/svg%3e");
  246. }
  247. }
  248. .media-library-item__remove,
  249. .media-library-item__remove.button,
  250. .media-library-item__remove.button:first-child,
  251. .media-library-item__remove.button:disabled,
  252. .media-library-item__remove.button:disabled:active,
  253. .media-library-item__remove.button:hover,
  254. .media-library-item__remove.button:focus {
  255. inset-inline-end: 0.625rem;
  256. border: 1px solid var(--admin-color-border);
  257. background-image: url("data:image/svg+xml,%3csvg width='16' height='16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M2.344 2.343l11.313 11.313M2.344 13.657L13.657 2.343' stroke='%2355565B' stroke-width='3'/%3e%3c/svg%3e");
  258. background-repeat: no-repeat;
  259. background-position: center;
  260. background-size: 0.75rem;
  261. }
  262. .media-library-item__remove:active,
  263. .media-library-item__remove.button:active,
  264. .media-library-item__remove.button:disabled:active {
  265. border-color: var(--admin-color-link);
  266. background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3e%3cpath fill='%23ffffff' d='M3.51 13.925c.194.194.512.195.706.001l3.432-3.431c.194-.194.514-.194.708 0l3.432 3.431c.192.194.514.193.707-.001l1.405-1.417c.191-.195.189-.514-.002-.709l-3.397-3.4c-.192-.193-.192-.514-.002-.708l3.401-3.43c.189-.195.189-.515 0-.709l-1.407-1.418c-.195-.195-.513-.195-.707-.001l-3.43 3.431c-.195.194-.516.194-.708 0l-3.432-3.431c-.195-.195-.512-.194-.706.001l-1.407 1.417c-.194.195-.194.515 0 .71l3.403 3.429c.193.195.193.514-.001.708l-3.4 3.399c-.194.195-.195.516-.001.709l1.406 1.419z'/%3e%3c/svg%3e");
  267. }

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