form--checkbox-radio.pcss.css

Same filename in this branch
  1. main core/themes/claro/css/components/form--checkbox-radio.pcss.css
  2. main core/themes/admin/css/components/form--checkbox-radio.pcss.css
Same filename and directory in other branches
  1. 10 core/themes/claro/css/components/form--checkbox-radio.pcss.css
  2. 11.x core/themes/claro/css/components/form--checkbox-radio.pcss.css
  3. 9 core/themes/claro/css/components/form--checkbox-radio.pcss.css
  4. 8.9.x core/themes/claro/css/components/form--checkbox-radio.pcss.css
  5. 11.x core/themes/admin/css/components/form--checkbox-radio.pcss.css
  6. 11.x core/themes/default_admin/css/components/form--checkbox-radio.pcss.css

Checkbox and radio input elements.

File

core/themes/default_admin/css/components/form--checkbox-radio.pcss.css

View source
  1. /**
  2. * @file
  3. * Checkbox and radio input elements.
  4. */
  5. /**
  6. * Form item modifiers.
  7. */
  8. .form-type--boolean {
  9. margin-inline-start: var(--input--label-spacing);
  10. line-height: var(--admin-space-l);
  11. }
  12. .form-boolean {
  13. display: inline-block;
  14. box-sizing: border-box;
  15. width: 21px;
  16. height: 21px;
  17. vertical-align: text-bottom;
  18. border: 1px solid var(--admin-color-border-input);
  19. border-radius: var(--admin-radius-xs);
  20. background: var(--input-bg-color) no-repeat 50% 50%;
  21. background-size: 100% 100%;
  22. appearance: none;
  23. &:focus {
  24. outline-offset: var(--outline-offset);
  25. }
  26. &:hover,
  27. &:active {
  28. border-color: var(--input-fg-color);
  29. box-shadow: inset 0 0 0 1px var(--input-fg-color);
  30. .dark-mode
  31. }
  32. /**
  33. * Radio and checkbox items that are the child of a form item.
  34. */
  35. .form-type--boolean
  36. .form-type--boolean.form-item--no-label
  37. @media (forced-colors: active) {
  38. appearance: revert;
  39. }
  40. }
  41. .form-type--boolean.form-item--no-label {
  42. margin-inline-start: 0;
  43. }
  44. .form-radios,
  45. .form-checkboxes {
  46. .form-type--boolean {
  47. margin-block: var(--admin-space-xs);
  48. }
  49. }
  50. /*
  51. * Radio buttons.
  52. */
  53. .form-boolean--type-radio {
  54. &,
  55. &:hover,
  56. &:active,
  57. &:focus,
  58. &:hover:focus {
  59. border-color: var(--admin-color-border-input);
  60. border-radius: 50%;
  61. background-color: var(--admin-color-bg-input);
  62. }
  63. &:hover {
  64. box-shadow: inset 0 0 0 1px var(--admin-color-border);
  65. &,
  66. .dark-mode
  67. }
  68. &:checked:not(:disabled) {
  69. &,
  70. &:hover {
  71. background-color: var(--admin-color-bg-surface);
  72. box-shadow: inset 0 0 0 5px var(--admin-color-primary);
  73. }
  74. &:active,
  75. &:focus,
  76. &:hover:focus {
  77. border-color: var(--admin-color-focus-border);
  78. }
  79. }
  80. &:disabled {
  81. &,
  82. &:hover {
  83. cursor: not-allowed;
  84. border-color: var(--admin-color-border-disabled);
  85. background: var(--admin-color-bg-disabled);
  86. }
  87. }
  88. &:checked:disabled {
  89. &,
  90. &:hover {
  91. background: var(--admin-color-text-disabled);
  92. box-shadow: inset 0 0 0 5px var(--admin-color-bg-disabled);
  93. }
  94. }
  95. }
  96. /*
  97. * Checkboxes.
  98. */
  99. .form-boolean--type-checkbox {
  100. &:not(:checked) {
  101. .dark-mode
  102. }
  103. &:checked {
  104. border-color: var(--admin-color-primary);
  105. background-color: var(--admin-color-primary);
  106. background-image: url(../../images/icons/ffffff/checkmark-sm.svg);
  107. &:not(:disabled) {
  108. .dark-mode
  109. }
  110. &:hover {
  111. border-color: var(--admin-color-primary-hover);
  112. background-color: var(--admin-color-primary-hover);
  113. }
  114. &:active {
  115. border-color: var(--admin-color-primary-active);
  116. background-color: var(--admin-color-primary-active);
  117. }
  118. }
  119. &[disabled] {
  120. &,
  121. &:hover {
  122. cursor: not-allowed;
  123. border-color: var(--admin-color-border-disabled);
  124. background-color: var(--admin-color-bg-disabled);
  125. &:checked {
  126. border-color: var(--admin-color-border-disabled);
  127. background-color: var(--admin-color-bg-disabled);
  128. box-shadow: none;
  129. }
  130. }
  131. }
  132. }
  133. /**
  134. * Error states.
  135. */
  136. .form-boolean.error {
  137. border-color: var(--input--error-border-color);
  138. background-color: var(--input-bg-color);
  139. box-shadow: inset 0 0 0 1px var(--input--error-border-color);
  140. &:active,
  141. &:hover {
  142. box-shadow: inset 0 0 0 1px var(--input--error-border-color);
  143. }
  144. &:checked:active,
  145. &:checked:hover {
  146. border-color: var(--input--error-border-color);
  147. background-color: var(--input-bg-color);
  148. }
  149. }
  150. .form-boolean--type-checkbox.error:checked,
  151. .form-boolean--type-checkbox.error:checked:active,
  152. .form-boolean--type-checkbox.error:checked:hover {
  153. background-color: var(--input--error-border-color);
  154. }
  155. .form-boolean--type-radio.error:checked,
  156. .form-boolean--type-radio.error:checked:active,
  157. .form-boolean--type-radio.error:checked:hover {
  158. background-image: url(../../images/icons/d72222/circle.svg);
  159. }
  160. /**
  161. * Disabled states.
  162. */
  163. .form-boolean[disabled],
  164. .form-boolean[disabled]:hover,
  165. .form-boolean[disabled].error,
  166. .form-boolean[disabled].error:hover,
  167. .form-boolean--type-radio[disabled]:focus:active,
  168. .form-boolean--type-radio[disabled]:active:hover,
  169. .form-boolean--type-radio[disabled].error:active:hover {
  170. border-color: var(--input--disabled-border-color);
  171. background-color: var(--input--disabled-bg-color);
  172. background-image: none;
  173. box-shadow: none;
  174. }
  175. .form-boolean--type-checkbox[disabled]:checked {
  176. background-image: url(../../images/icons/82828c/checkmark.svg);
  177. }
  178. .form-boolean--type-radio[disabled]:checked,
  179. .form-boolean--type-radio[disabled].error:checked {
  180. background-image: url(../../images/icons/82828c/circle.svg);
  181. }

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