You are here

details.css in Drupal 10

Collapsible details.

File

core/themes/olivero/css/components/details.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. * Collapsible details.
  10. */
  11. /*
  12. * Media query breakpoints.
  13. * Processed by postcss/postcss-custom-media.
  14. */
  15. /* Navigation related breakpoints */
  16. /* Grid related breakpoints */
  17. /* Grid shifts from 6 to 14 columns. */
  18. /* Width of the entire grid maxes out. */
  19. :root {
  20. --details-border-width: 1px;
  21. --details-summary-transition: background-color 0.12s ease-in-out;
  22. }
  23. .olivero-details {
  24. display: block;
  25. margin-top: var(--sp1);
  26. margin-bottom: var(--sp1);
  27. color: inherit;
  28. border: var(--details-border-width) solid var(--color--gray-95);
  29. border-radius: var(--border-radius);
  30. box-shadow: 0 1px 4px var(--color--gray-90);
  31. }
  32. /* Details summary styles */
  33. [dir="ltr"] .olivero-details__summary {
  34. padding-left: var(--sp2);
  35. }
  36. [dir="rtl"] .olivero-details__summary {
  37. padding-right: var(--sp2);
  38. }
  39. [dir="ltr"] .olivero-details__summary {
  40. padding-right: var(--sp1);
  41. }
  42. [dir="rtl"] .olivero-details__summary {
  43. padding-left: var(--sp1);
  44. }
  45. .olivero-details__summary {
  46. position: relative;
  47. padding-top: var(--sp1);
  48. padding-bottom: var(--sp1);
  49. list-style: none;
  50. cursor: pointer;
  51. transition: var(--details-summary-transition);
  52. word-wrap: break-word;
  53. -webkit-hyphens: auto;
  54. hyphens: auto;
  55. color: inherit;
  56. background-color: var(--color--gray-100);
  57. font-size: var(--line-height-s);
  58. font-weight: 700;
  59. line-height: var(--sp1);
  60. }
  61. /* Arrow icon */
  62. [dir="ltr"] .olivero-details__summary:before,[dir="ltr"]
  63. .collapse-processed > .olivero-details__summary .details-title:before {
  64. left: var(--sp0-75);
  65. }
  66. [dir="rtl"] .olivero-details__summary:before,[dir="rtl"]
  67. .collapse-processed > .olivero-details__summary .details-title:before {
  68. right: var(--sp0-75);
  69. }
  70. .olivero-details__summary:before,
  71. .collapse-processed > .olivero-details__summary .details-title:before {
  72. position: absolute;
  73. top: 50%;
  74. display: block;
  75. width: 0.625rem;
  76. height: 0.625rem;
  77. content: "";
  78. transform: translateY(-50%) rotate(45deg); /* LTR */
  79. border-top: solid 2px currentColor;
  80. border-right: solid 2px currentColor;
  81. }
  82. [dir="rtl"] .olivero-details__summary:before,
  83. [dir="rtl"] .collapse-processed > .olivero-details__summary .details-title:before {
  84. transform: translateY(-50%) rotate(-135deg);
  85. }
  86. /* Pseudo-selector to manage focus styles */
  87. .olivero-details__summary:after,
  88. .collapse-processed > .olivero-details__summary .details-title:after {
  89. position: absolute;
  90. top: calc(var(--details-border-width) * -1);
  91. right: calc(var(--details-border-width) * -1);
  92. bottom: calc(var(--details-border-width) * -1);
  93. left: calc(var(--details-border-width) * -1);
  94. content: "";
  95. pointer-events: none;
  96. opacity: 0;
  97. border-radius: var(--border-radius);
  98. box-shadow: inset 0 0 0 2px var(--color--primary-60);
  99. }
  100. /* Hide the marker */
  101. .olivero-details__summary::-webkit-details-marker {
  102. display: none;
  103. }
  104. /* Disable default outline for summary, since we have own implementation */
  105. .olivero-details__summary:focus {
  106. outline: solid 2px transparent;
  107. outline-offset: -4px;
  108. }
  109. /* Details summary, hover state */
  110. .olivero-details__summary:hover {
  111. background-color: var(--color--gray-95);
  112. }
  113. /* Details summary, focus and active states */
  114. .olivero-details__summary:focus:after,
  115. .olivero-details__summary:active:after,
  116. .collapse-processed > .olivero-details__summary .details-title:focus:after,
  117. .collapse-processed > .olivero-details__summary .details-title:active:after {
  118. opacity: 1;
  119. }
  120. /* Rotate arrow icon of the details summary, when details expanded */
  121. .olivero-details[open] > .olivero-details__summary::before,
  122. .collapse-processed[open] > .olivero-details__summary .details-title::before {
  123. margin-top: -2px;
  124. transform: translateY(-50%) rotate(135deg);
  125. }
  126. /* Collapse processed for non-supporting browsers like IE or Edge */
  127. [dir="ltr"] .collapse-processed > .olivero-details__summary {
  128. padding-left: 0;
  129. }
  130. [dir="rtl"] .collapse-processed > .olivero-details__summary {
  131. padding-right: 0;
  132. }
  133. [dir="ltr"] .collapse-processed > .olivero-details__summary {
  134. padding-right: 0;
  135. }
  136. [dir="rtl"] .collapse-processed > .olivero-details__summary {
  137. padding-left: 0;
  138. }
  139. .collapse-processed > .olivero-details__summary {
  140. padding-top: 0;
  141. padding-bottom: 0
  142. }
  143. .collapse-processed > .olivero-details__summary:before {
  144. content: none;
  145. }
  146. .collapse-processed > .olivero-details__summary:after {
  147. content: none;
  148. }
  149. [dir="ltr"] .collapse-processed > .olivero-details__summary .details-title {
  150. padding-left: var(--sp2);
  151. }
  152. [dir="rtl"] .collapse-processed > .olivero-details__summary .details-title {
  153. padding-right: var(--sp2);
  154. }
  155. [dir="ltr"] .collapse-processed > .olivero-details__summary .details-title {
  156. padding-right: var(--sp1);
  157. }
  158. [dir="rtl"] .collapse-processed > .olivero-details__summary .details-title {
  159. padding-left: var(--sp1);
  160. }
  161. .collapse-processed > .olivero-details__summary .details-title {
  162. position: relative;
  163. display: block;
  164. padding-top: var(--sp1);
  165. padding-bottom: var(--sp1);
  166. transition: var(--details-summary-transition);
  167. text-decoration: none;
  168. color: inherit;
  169. background-color: var(--color--gray-100);
  170. }
  171. .collapse-processed > .olivero-details__summary .details-title:focus {
  172. outline: solid 2px transparent;
  173. }
  174. .collapse-processed > .olivero-details__summary .details-title:hover {
  175. background-color: var(--color--gray-95);
  176. }
  177. @media screen and (-ms-high-contrast: active) {
  178. .collapse-processed > .olivero-details__summary .details-title::after {
  179. top: -0.3125rem;
  180. right: -0.3125rem;
  181. bottom: -0.3125rem;
  182. left: -0.3125rem;
  183. border: 2px dotted;
  184. }
  185. }
  186. /* Details content wrapper */
  187. .olivero-details__wrapper {
  188. margin: var(--sp1)
  189. }
  190. @media (min-width: 62.5rem) {
  191. [dir="ltr"] .olivero-details__wrapper {
  192. margin-left: var(--sp2);
  193. }
  194. [dir="rtl"] .olivero-details__wrapper {
  195. margin-right: var(--sp2);
  196. }
  197. [dir="ltr"] .olivero-details__wrapper {
  198. margin-right: var(--sp2);
  199. }
  200. [dir="rtl"] .olivero-details__wrapper {
  201. margin-left: var(--sp2);
  202. }
  203. .olivero-details__wrapper {
  204. margin-top: var(--sp1-5);
  205. margin-bottom: var(--sp1-5)
  206. }
  207. }
  208. /* Description */
  209. .olivero-details__description {
  210. margin-bottom: var(--sp1);
  211. color: var(--color-text-neutral-medium);
  212. font-size: var(--font-size-xs);
  213. line-height: var(--line-height-s);
  214. }