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(--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(--gin-border-color-form-element);
  19. border-radius: var(--gin-border-xs);
  20. background: var(--input-bg-color) no-repeat 50% 50%;
  21. background-size: 100% 100%;
  22. appearance: none;
  23. &:focus {
  24. outline-offset: -1px;
  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. .gin--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(--gin-spacing-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(--gin-border-color-form-element);
  60. border-radius: 50%;
  61. background-color: var(--gin-bg-input);
  62. }
  63. &:hover {
  64. box-shadow: inset 0 0 0 1px var(--gin-border-color-layer2);
  65. &,
  66. .gin--dark-mode
  67. }
  68. &:checked:not(:disabled) {
  69. &,
  70. &:hover {
  71. background-color: var(--gin-bg-layer);
  72. box-shadow: inset 0 0 0 5px var(--gin-color-primary);
  73. }
  74. &:active,
  75. &:focus,
  76. &:hover:focus {
  77. border-color: var(--gin-color-focus-border);
  78. box-shadow:
  79. inset 0 0 0 5px var(--gin-color-primary),
  80. 0 0 0 1px var(--gin-color-focus-border),
  81. 0 0 0 4px var(--gin-color-focus);
  82. }
  83. }
  84. &:disabled {
  85. &,
  86. &:hover {
  87. cursor: not-allowed;
  88. border-color: var(--gin-color-disabled-border);
  89. background: var(--gin-color-disabled-bg);
  90. }
  91. }
  92. &:checked:disabled {
  93. &,
  94. &:hover {
  95. background: var(--gin-color-disabled);
  96. box-shadow: inset 0 0 0 5px var(--gin-color-disabled-bg);
  97. }
  98. }
  99. }
  100. /*
  101. * Checkboxes.
  102. */
  103. .form-boolean--type-checkbox {
  104. &:not(:checked) {
  105. .gin--dark-mode
  106. }
  107. &:checked {
  108. border-color: var(--gin-color-primary);
  109. background-color: var(--gin-color-primary);
  110. background-image: url(../../images/icons/ffffff/checkmark-sm.svg);
  111. &:not(:disabled) {
  112. .gin--dark-mode
  113. }
  114. &:hover {
  115. border-color: var(--gin-color-primary-hover);
  116. background-color: var(--gin-color-primary-hover);
  117. }
  118. &:active {
  119. border-color: var(--gin-color-primary-active);
  120. background-color: var(--gin-color-primary-active);
  121. }
  122. }
  123. &[disabled] {
  124. &,
  125. &:hover {
  126. cursor: not-allowed;
  127. border-color: var(--gin-color-disabled-border);
  128. background-color: var(--gin-color-disabled-bg);
  129. &:checked {
  130. border-color: var(--gin-color-disabled-border);
  131. background-color: var(--gin-color-disabled-bg);
  132. box-shadow: none;
  133. }
  134. }
  135. }
  136. }
  137. /**
  138. * Error states.
  139. */
  140. .form-boolean.error {
  141. border-color: var(--input--error-border-color);
  142. background-color: var(--input-bg-color);
  143. box-shadow: inset 0 0 0 1px var(--input--error-border-color);
  144. &:active,
  145. &:hover {
  146. box-shadow: inset 0 0 0 1px var(--input--error-border-color);
  147. }
  148. &:focus,
  149. &:focus:active,
  150. &:focus:hover {
  151. box-shadow:
  152. 0 0 0 2px var(--color-white),
  153. 0 0 0 5px var(--color-focus),
  154. inset 0 0 0 1px var(--input--error-border-color);
  155. }
  156. &:checked:active,
  157. &:checked:hover {
  158. border-color: var(--input--error-border-color);
  159. background-color: var(--input-bg-color);
  160. }
  161. }
  162. .form-boolean--type-checkbox.error:checked,
  163. .form-boolean--type-checkbox.error:checked:active,
  164. .form-boolean--type-checkbox.error:checked:hover {
  165. background-color: var(--input--error-border-color);
  166. }
  167. .form-boolean--type-radio.error:checked,
  168. .form-boolean--type-radio.error:checked:active,
  169. .form-boolean--type-radio.error:checked:hover {
  170. background-image: url(../../images/icons/d72222/circle.svg);
  171. }
  172. .form-boolean--type-radio.error:checked:focus {
  173. box-shadow:
  174. 0 0 0 2px var(--color-white),
  175. 0 0 0 5px var(--color-focus),
  176. inset 0 0 0 1px var(--input--error-border-color);
  177. }
  178. /**
  179. * Disabled states.
  180. */
  181. .form-boolean[disabled],
  182. .form-boolean[disabled]:hover,
  183. .form-boolean[disabled].error,
  184. .form-boolean[disabled].error:hover,
  185. .form-boolean--type-radio[disabled]:focus:active,
  186. .form-boolean--type-radio[disabled]:active:hover,
  187. .form-boolean--type-radio[disabled].error:active:hover {
  188. border-color: var(--input--disabled-border-color);
  189. background-color: var(--input--disabled-bg-color);
  190. background-image: none;
  191. box-shadow: none;
  192. }
  193. .form-boolean--type-checkbox[disabled]:checked {
  194. background-image: url(../../images/icons/82828c/checkmark.svg);
  195. }
  196. .form-boolean--type-radio[disabled]:checked,
  197. .form-boolean--type-radio[disabled].error:checked {
  198. background-image: url(../../images/icons/82828c/circle.svg);
  199. }

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