button.pcss.css

Same filename in this branch
  1. main core/misc/dialog/off-canvas/css/button.pcss.css
  2. main core/themes/olivero/css/components/button.pcss.css
  3. main core/themes/claro/css/components/button.pcss.css
  4. main core/themes/admin/css/components/button.pcss.css
Same filename and directory in other branches
  1. 10 core/misc/dialog/off-canvas/css/button.pcss.css
  2. 10 core/themes/olivero/css/components/button.pcss.css
  3. 10 core/themes/claro/css/components/button.pcss.css
  4. 11.x core/misc/dialog/off-canvas/css/button.pcss.css
  5. 11.x core/themes/olivero/css/components/button.pcss.css
  6. 11.x core/themes/claro/css/components/button.pcss.css
  7. 9 core/themes/olivero/css/components/button.pcss.css
  8. 9 core/themes/claro/css/components/button.pcss.css
  9. 8.9.x core/themes/claro/css/components/button.pcss.css
  10. 11.x core/themes/admin/css/components/button.pcss.css
  11. 11.x core/themes/default_admin/css/components/button.pcss.css

Button styles.

File

core/themes/default_admin/css/components/button.pcss.css

View source
  1. @import "../base/media-queries.pcss.css";
  2. /**
  3. * @file
  4. * Button styles.
  5. */
  6. /**
  7. * Base button styles.
  8. *
  9. * These styles have been duplicated to dropbutton.css and action-links.css
  10. * since those components inherits most of these design elements. Whenever
  11. * making changes to this file, remember to check if that needs to be applied to
  12. * dropbutton.css or action-links.css as well.
  13. */
  14. .button {
  15. display: inline-flex;
  16. align-items: center;
  17. box-sizing: border-box;
  18. cursor: pointer;
  19. text-align: center;
  20. text-decoration: none;
  21. color: var(--gin-color-primary);
  22. border: 2px solid var(--gin-color-primary);
  23. border-radius: var(--gin-border-m);
  24. background-color: transparent;
  25. box-shadow: 0 1px 2px var(--gin-color-primary-light);
  26. font-size: var(--gin-font-size-s);
  27. font-weight: var(--gin-font-weight-semibold);
  28. line-height: 1;
  29. margin-block: var(--space-m);
  30. margin-inline: 0 var(--space-s);
  31. padding-block: calc(var(--gin-spacing-s) - 2px);
  32. padding-inline: var(--gin-spacing-m);
  33. appearance: none;
  34. &:hover {
  35. text-decoration: none;
  36. color: var(--gin-color-button-text);
  37. border-color: var(--gin-color-primary-hover);
  38. background-color: var(--gin-color-primary-hover);
  39. }
  40. &:active {
  41. color: var(--gin-color-button-text);
  42. border-color: var(--gin-color-primary-active);
  43. background-color: var(--gin-color-primary-active);
  44. }
  45. @media (prefers-reduced-motion: no-preference) {
  46. transition: var(--gin-transition);
  47. }
  48. }
  49. .form-actions .button {
  50. margin-inline-end: var(--gin-spacing-xs);
  51. }
  52. /* Common styles for small buttons. */
  53. .no-touchevents {
  54. & .button--small {
  55. min-height: 2rem;
  56. font-size: var(--font-size-xs);
  57. margin-block: var(--space-s);
  58. margin-inline: 0 var(--space-xs);
  59. padding-block: var(--space-xs);
  60. padding-inline: var(--space-s);
  61. }
  62. /* Common styles for extra small buttons. */
  63. & .button--extrasmall {
  64. min-height: 1.5rem;
  65. font-size: var(--font-size-xxs);
  66. margin-block: var(--space-xs);
  67. margin-inline: 0 var(--space-xs);
  68. padding-block: var(--space-xxs);
  69. padding-inline: var(--space-xs);
  70. }
  71. }
  72. .button.button--small {
  73. border-radius: var(--gin-border-s);
  74. font-size: var(--gin-font-size-xxs);
  75. padding-block: calc(var(--gin-spacing-xxs) + 2px);
  76. padding-inline: var(--gin-spacing-s);
  77. }
  78. /* Common styles for extra small buttons. */
  79. .button.button--extrasmall {
  80. border-radius: var(--gin-border-s);
  81. font-size: var(--gin-font-size-xxs);
  82. padding-block: var(--gin-spacing-xxs);
  83. padding-inline: var(--gin-spacing-s);
  84. }
  85. /* Styles for action link buttons. */
  86. .button--action {
  87. margin: 0;
  88. &::before {
  89. margin-inline: -0.25em 0;
  90. padding-inline: 0 0.25em;
  91. content: "+";
  92. font-weight: 900;
  93. }
  94. }
  95. /* Primary button styles. */
  96. #edit-submit.form-submit,
  97. .button--primary,
  98. .button--primary:not(:focus),
  99. .ief-entity-submit {
  100. background: var(--gin-color-primary);
  101. box-shadow: 0.1em 0.25em 0.5em var(--gin-color-primary-light);
  102. &:hover {
  103. color: var(--gin-color-button-text);
  104. background-color: var(--gin-color-primary-hover);
  105. }
  106. &:active {
  107. color: var(--gin-color-button-text);
  108. background-color: var(--gin-color-primary-active);
  109. }
  110. &,
  111. &:hover,
  112. &:active {
  113. color: var(--gin-color-button-text);
  114. }
  115. }
  116. /* Danger button styles */
  117. .button--danger {
  118. color: var(--button-fg-color--danger);
  119. border-color: transparent;
  120. &:is(:hover, :active) {
  121. color: var(--button-fg-color--danger);
  122. border-color: var(--gin-color-danger);
  123. background-color: var(--button--hover-bg-color--danger);
  124. }
  125. }
  126. a.button:hover,
  127. a.button:active {
  128. color: var(--gin-color-button-text);
  129. }
  130. a.button--primary:hover,
  131. a.button--primary:active {
  132. .gin--dark-mode
  133. }
  134. /**
  135. * Disabled state styles as last.
  136. *
  137. * Overrides every definitions before, including variants.
  138. */
  139. .button.button:disabled,
  140. .button.button.is-disabled {
  141. &,
  142. &:hover,
  143. &:active {
  144. color: var(--gin-color-disabled);
  145. border: 2px solid var(--gin-color-disabled-border) !important;
  146. background: transparent;
  147. box-shadow: none;
  148. }
  149. /* Make disabled behave like a [disabled] or . */
  150. &.is-disabled {
  151. user-select: none;
  152. pointer-events: none;
  153. }
  154. }
  155. .button.button--primary:disabled,
  156. .button.button--primary.is-disabled {
  157. &,
  158. &:hover,
  159. &:active {
  160. color: var(--gin-color-disabled);
  161. background-color: var(--gin-color-disabled-bg);
  162. }
  163. }
  164. /**
  165. * Style a clickable/tappable element as a link. Duplicates the base style for
  166. * the tag, plus a reset for padding, borders and background.
  167. */
  168. .link {
  169. display: inline;
  170. padding: 0;
  171. cursor: pointer;
  172. text-decoration: underline;
  173. border: 0;
  174. background: none;
  175. appearance: none;
  176. }
  177. /* Autocomplete field remove button. */
  178. .multiple-fields-remove-button.button {
  179. border: 0 none !important;
  180. mask-image: var(--admin-icon-remove);
  181. mask-size: 16px 16px;
  182. mask-repeat: no-repeat;
  183. mask-position: center center;
  184. }