layout.pcss.css

Same filename in this branch
  1. main core/themes/olivero/css/layout/layout.pcss.css
  2. main core/themes/claro/css/layout/layout.pcss.css
  3. main core/themes/admin/css/layout/layout.pcss.css
Same filename and directory in other branches
  1. 10 core/themes/olivero/css/layout/layout.pcss.css
  2. 10 core/themes/claro/css/layout/layout.pcss.css
  3. 11.x core/themes/olivero/css/layout/layout.pcss.css
  4. 11.x core/themes/claro/css/layout/layout.pcss.css
  5. 9 core/themes/olivero/css/layout/layout.pcss.css
  6. 9 core/themes/claro/css/layout/layout.pcss.css
  7. 8.9.x core/themes/claro/css/layout/layout.pcss.css
  8. 11.x core/themes/admin/css/layout/layout.pcss.css
  9. 11.x core/themes/default_admin/css/layout/layout.pcss.css
/**
 * Add spacing to top and bottom of pages.
 */

@import "../base/media-queries.pcss.css";

.page-content {
  margin-block: 0 80px;

  > .help,
  > .region-content,
  > .region-highlighted {
    @media (--admin-small) {
      margin-block-start: var(--gin-spacing-l);
    }
  }
}

/**
 * Add color to layout icons.
 */
.layout-icon__region {
  fill: #f5f5f2;
  stroke: #666;
}

.region-sticky {
  position: sticky;
  z-index: 101;
  display: flex;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
  min-height: var(--gin-height-sticky);
  padding: 0;
  background: var(--gin-bg-app);
  inset-block-start: var(--gin-toolbar-y-offset);

  .gin--edit-form & {
    inset-block-start: calc(var(--gin-toolbar-y-offset) - var(--gin-spacing-xxl) - var(--gin-spacing-xxs));
    padding-block-start: var(--gin-spacing-m);

    @media (--admin-large) {
      inset-block-start: var(--gin-toolbar-y-offset);
      padding-block-start: var(--gin-spacing-s);
    }
  }

  @media (prefers-reduced-motion: no-preference) {
    transition: var(--gin-transition);
  }

  @media (--admin-large) {
    height: var(--gin-height-sticky);
    margin-block-end: 0;
    padding: var(--gin-spacing-s) 0;
    inset-block-start: -1px;

    .gin--navigation &,
    .gin--vertical-toolbar &,
    .gin--horizontal-toolbar &,
    .gin--classic-toolbar & {
      inset-block-start: var(--gin-toolbar-y-offset);
    }
  }
}

.region-sticky-watcher {
  position: sticky;
  inset-block-start: -1px;
  height: 0;
}

.region-sticky--is-sticky {
  opacity: 0.95;
  background: var(--gin-bg-app);

  .gin--high-contrast-mode & {
    background: var(--gin-bg-app);
    backdrop-filter: none;
  }

  @supports (backdrop-filter: blur()) {
    opacity: 0.999;
    /* stylelint-disable-next-line color-function-notation */
    background: rgb(from var(--app-bg-color) r g b/ 0.8);
    backdrop-filter: blur(12px);
  }
}

.region-sticky__items {
  display: flex;
  flex-grow: 1;
  align-items: center;
  width: auto;
  min-width: 0;
  height: 100%;

  .block-page-title-block {
    /* @todo add this back after visual regression against Gin 5.x */
    /* display: flex; */
    flex-grow: 1;
    align-self: center;
    min-width: 0;

    .page-title {
      align-self: center;
      margin: 0;
    }
  }

  .gin-sticky-form-actions {
    display: flex;
    width: auto;
    margin-block-start: 0;

    @media (--admin-large) {
      padding-inline-start: var(--gin-spacing-l);
    }
  }

  [id*="block-gin-local-actions"] + .gin-sticky-form-actions {
    padding-inline-start: var(--gin-spacing-xs);
  }

  @media (--admin-small) {
    .settings-tray-editable {
      flex-shrink: 0;
    }
  }
}

.region-sticky__items__inner {
  display: flex;
  flex-wrap: wrap;
  width: 100%;

  @media (--admin-large) {
    flex-wrap: nowrap;
    align-items: center;
    margin-block-end: 0;
  }
}

.sticky-shadow {
  @media (--admin-large) {
    position: relative;
    z-index: 98;
    height: 40px;
    pointer-events: none;
    box-shadow: 0 10px 20px -16px rgb(0, 0, 0, 0.4);
    margin-block: calc(var(--gin-spacing-xxxl) * -1) var(--gin-spacing-l);
    margin-inline: auto;

    .gin--dark-mode & {
      box-shadow: none;
    }
  }

  @media (--admin-large) {
    position: sticky;
    inset-block-start: calc(var(--gin-toolbar-y-offset) + (var(--gin-height-sticky) - 40px));
    width: calc(100% - min(10vw, 96px) + var(--gin-spacing-l));

    .gin--edit-form & {
      max-width: 1300px;
    }
  }
}

.page-wrapper {
  @media (--admin-large) {
    margin-block-start: 1px;
    /* fix for inset-block-start: auto; */
  }
}

.gin-sticky-form-actions {
  display: flex;
  flex-wrap: wrap;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  width: 100%;

  .form-actions {
    flex-grow: 1;
    align-items: center;
    justify-content: flex-end;
    margin: 0;
  }

  .field--name-status {
    display: flex;
    align-items: center;
    margin-inline-end: var(--gin-spacing-xs);

    .form-item__label {
      font-size: 0.8125rem;

      @media (--admin-to-tiny) {
        display: none;
      }
    }

    .form-type--checkbox {
      margin-block: var(--gin-spacing-xs);
    }
  }

  @media (--admin-large) {
    flex-wrap: nowrap;
    width: max-content;
  }
}

File

core/themes/default_admin/css/layout/layout.pcss.css

View source
  1. /**
  2. * Add spacing to top and bottom of pages.
  3. */
  4. @import "../base/media-queries.pcss.css";
  5. .page-content {
  6. margin-block: 0 80px;
  7. > .help,
  8. > .region-content,
  9. > .region-highlighted {
  10. @media (--admin-small) {
  11. margin-block-start: var(--gin-spacing-l);
  12. }
  13. }
  14. }
  15. /**
  16. * Add color to layout icons.
  17. */
  18. .layout-icon__region {
  19. fill: #f5f5f2;
  20. stroke: #666;
  21. }
  22. .region-sticky {
  23. position: sticky;
  24. z-index: 101;
  25. display: flex;
  26. align-items: center;
  27. box-sizing: border-box;
  28. width: 100%;
  29. min-height: var(--gin-height-sticky);
  30. padding: 0;
  31. background: var(--gin-bg-app);
  32. inset-block-start: var(--gin-toolbar-y-offset);
  33. .gin--edit-form
  34. }
  35. @media (prefers-reduced-motion: no-preference) {
  36. transition: var(--gin-transition);
  37. }
  38. @media (--admin-large) {
  39. height: var(--gin-height-sticky);
  40. margin-block-end: 0;
  41. padding: var(--gin-spacing-s) 0;
  42. inset-block-start: -1px;
  43. .gin--navigation &,
  44. .gin--vertical-toolbar &,
  45. .gin--horizontal-toolbar &,
  46. .gin--classic-toolbar
  47. }
  48. }
  49. .region-sticky-watcher {
  50. position: sticky;
  51. inset-block-start: -1px;
  52. height: 0;
  53. }
  54. .region-sticky--is-sticky {
  55. opacity: 0.95;
  56. background: var(--gin-bg-app);
  57. .gin--high-contrast-mode
  58. @supports (backdrop-filter: blur()) {
  59. opacity: 0.999;
  60. /* stylelint-disable-next-line color-function-notation */
  61. background: rgb(from var(--app-bg-color) r g b/ 0.8);
  62. backdrop-filter: blur(12px);
  63. }
  64. }
  65. .region-sticky__items {
  66. display: flex;
  67. flex-grow: 1;
  68. align-items: center;
  69. width: auto;
  70. min-width: 0;
  71. height: 100%;
  72. .block-page-title-block {
  73. /* @todo add this back after visual regression against Gin 5.x */
  74. /* display: flex; */
  75. flex-grow: 1;
  76. align-self: center;
  77. min-width: 0;
  78. .page-title {
  79. align-self: center;
  80. margin: 0;
  81. }
  82. }
  83. .gin-sticky-form-actions {
  84. display: flex;
  85. width: auto;
  86. margin-block-start: 0;
  87. @media (--admin-large) {
  88. padding-inline-start: var(--gin-spacing-l);
  89. }
  90. }
  91. [id*="block-gin-local-actions"] + .gin-sticky-form-actions {
  92. padding-inline-start: var(--gin-spacing-xs);
  93. }
  94. @media (--admin-small) {
  95. .settings-tray-editable {
  96. flex-shrink: 0;
  97. }
  98. }
  99. }
  100. .region-sticky__items__inner {
  101. display: flex;
  102. flex-wrap: wrap;
  103. width: 100%;
  104. @media (--admin-large) {
  105. flex-wrap: nowrap;
  106. align-items: center;
  107. margin-block-end: 0;
  108. }
  109. }
  110. .sticky-shadow {
  111. @media (--admin-large) {
  112. position: relative;
  113. z-index: 98;
  114. height: 40px;
  115. pointer-events: none;
  116. box-shadow: 0 10px 20px -16px rgb(0, 0, 0, 0.4);
  117. margin-block: calc(var(--gin-spacing-xxxl) * -1) var(--gin-spacing-l);
  118. margin-inline: auto;
  119. .gin--dark-mode
  120. }
  121. @media (--admin-large) {
  122. position: sticky;
  123. inset-block-start: calc(var(--gin-toolbar-y-offset) + (var(--gin-height-sticky) - 40px));
  124. width: calc(100% - min(10vw, 96px) + var(--gin-spacing-l));
  125. .gin--edit-form
  126. }
  127. }
  128. .page-wrapper {
  129. @media (--admin-large) {
  130. margin-block-start: 1px;
  131. /* fix for inset-block-start: auto; */
  132. }
  133. }
  134. .gin-sticky-form-actions {
  135. display: flex;
  136. flex-wrap: wrap;
  137. flex-shrink: 0;
  138. align-items: center;
  139. justify-content: space-between;
  140. width: 100%;
  141. .form-actions {
  142. flex-grow: 1;
  143. align-items: center;
  144. justify-content: flex-end;
  145. margin: 0;
  146. }
  147. .field--name-status {
  148. display: flex;
  149. align-items: center;
  150. margin-inline-end: var(--gin-spacing-xs);
  151. .form-item__label {
  152. font-size: 0.8125rem;
  153. @media (--admin-to-tiny) {
  154. display: none;
  155. }
  156. }
  157. .form-type--checkbox {
  158. margin-block: var(--gin-spacing-xs);
  159. }
  160. }
  161. @media (--admin-large) {
  162. flex-wrap: nowrap;
  163. width: max-content;
  164. }
  165. }

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