You are here

pager.pcss.css in Drupal 10

Styles for Claro's Pagination.

File

core/themes/claro/css/components/pager.pcss.css
View source
  1. /**
  2. * @file
  3. * Styles for Claro's Pagination.
  4. */
  5. :root {
  6. /**
  7. * Pager.
  8. */
  9. --pager-size: 2rem; /* --space-m × 2 */
  10. --pager-border-width: 0.125rem; /* 2px */
  11. --pager-fg-color: var(--color-gray-800);
  12. --pager-bg-color: var(--color-white);
  13. --pager--hover-bg-color: var(--color-bgblue-active);
  14. --pager--focus-bg-color: var(--color-focus);
  15. --pager--active-fg-color: var(--color-white);
  16. --pager--active-bg-color: var(--color-absolutezero);
  17. --pager-border-radius--action: var(--pager-border-width);
  18. }
  19. .pager {
  20. margin-top: var(--space-m);
  21. margin-bottom: var(--space-m);
  22. }
  23. .pager__items {
  24. display: flex;
  25. flex-wrap: wrap;
  26. align-items: flex-end;
  27. justify-content: center;
  28. margin: var(--space-m) 0; /* LTR */
  29. list-style: none;
  30. text-align: center;
  31. font-weight: bold;
  32. }
  33. [dir="rtl"] .pager__items {
  34. margin: var(--space-m) 0;
  35. }
  36. .pager__item {
  37. display: inline-block;
  38. margin-right: calc(var(--space-xs) / 2);
  39. margin-left: calc(var(--space-xs) / 2);
  40. vertical-align: top;
  41. }
  42. .pager__link,
  43. .pager__item--current {
  44. display: flex;
  45. align-items: center;
  46. justify-content: center;
  47. box-sizing: border-box;
  48. min-width: var(--pager-size);
  49. height: var(--pager-size);
  50. padding-right: var(--space-xs);
  51. padding-left: var(--space-xs);
  52. text-decoration: none;
  53. color: var(--pager-fg-color);
  54. border-radius: var(--space-m); /* Pager size ÷ 2 */
  55. background: var(--pager-bg-color); /* Make sure that the text is visible on dark background. */
  56. line-height: 1;
  57. }
  58. .pager__link:hover,
  59. .pager__link:focus,
  60. .pager__link:active {
  61. text-decoration: none;
  62. }
  63. .pager__link:hover,
  64. .pager__link.is-active:hover {
  65. color: var(--pager-fg-color);
  66. background: var(--pager--hover-bg-color);
  67. }
  68. .pager__link--action-link {
  69. border-radius: var(--pager-border-radius--action);
  70. }
  71. /* Active number link. */
  72. .pager__link.is-active,
  73. .pager__item--current {
  74. color: var(--pager--active-fg-color);
  75. border: var(--pager-border-width) solid transparent;
  76. background: var(--pager--active-bg-color);
  77. }
  78. .pager__item--first .pager__link::before {
  79. background-image: url(../../images/icons/545560/pager-first.svg);
  80. }
  81. .pager__item--previous .pager__link::before {
  82. background-image: url(../../images/icons/545560/pager-prev.svg);
  83. }
  84. .pager__item--next .pager__link::after {
  85. background-image: url(../../images/icons/545560/pager-next.svg);
  86. }
  87. .pager__item--last .pager__link::after {
  88. background-image: url(../../images/icons/545560/pager-last.svg);
  89. }
  90. .pager__item--first .pager__link::before,
  91. .pager__item--previous .pager__link::before,
  92. .pager__item--next .pager__link::after,
  93. .pager__item--last .pager__link::after {
  94. position: relative;
  95. display: inline-block;
  96. width: 1rem;
  97. height: 1rem;
  98. content: "";
  99. background-repeat: no-repeat;
  100. background-position: center;
  101. }
  102. @media (forced-colors: active) {
  103. .pager__item--first .pager__link::before {
  104. mask-image: url(../../images/icons/545560/pager-first.svg);
  105. }
  106. .pager__item--previous .pager__link::before {
  107. mask-image: url(../../images/icons/545560/pager-prev.svg);
  108. }
  109. .pager__item--next .pager__link::after {
  110. mask-image: url(../../images/icons/545560/pager-next.svg);
  111. }
  112. .pager__item--last .pager__link::after {
  113. mask-image: url(../../images/icons/545560/pager-last.svg);
  114. }
  115. .pager__item--first .pager__link::before,
  116. .pager__item--previous .pager__link::before,
  117. .pager__item--next .pager__link::after,
  118. .pager__item--last .pager__link::after {
  119. background-color: linktext;
  120. background-image: none;
  121. mask-repeat: no-repeat;
  122. mask-position: center;
  123. }
  124. }
  125. [dir="rtl"] .pager__item--first .pager__link::before,
  126. [dir="rtl"] .pager__item--previous .pager__link::before,
  127. [dir="rtl"] .pager__item--next .pager__link::after,
  128. [dir="rtl"] .pager__item--last .pager__link::after {
  129. transform: scaleX(-1);
  130. }
  131. .pager__item--mini {
  132. margin-right: calc(var(--space-m) / 2);
  133. margin-left: calc(var(--space-m) / 2);
  134. }
  135. .pager__link--mini {
  136. border-radius: 50%;
  137. }
  138. /**
  139. * On the mini pager, remove margins for the previous and next icons.
  140. * Margins are not needed here as there is no accompanying text.
  141. */
  142. .pager__link--mini::before {
  143. margin-right: 0;
  144. margin-left: 0;
  145. }
  146. .pager__item-title--backwards {
  147. margin-left: 0.5rem; /* LTR */
  148. }
  149. [dir="rtl"] .pager__item-title--backwards {
  150. margin-right: 0.5rem;
  151. margin-left: 0;
  152. }
  153. .pager__item-title--forward {
  154. margin-right: 0.5rem; /* LTR */
  155. }
  156. [dir="rtl"] .pager__item-title--forward {
  157. margin-right: 0;
  158. margin-left: 0.5rem;
  159. }
  160. @media (-ms-high-contrast: active), (forced-colors: active) {
  161. .pager__item a:hover {
  162. text-decoration: underline;
  163. }
  164. }