99 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
| /*
 | |
| Copyright 2024 New Vector Ltd.
 | |
| Copyright 2020 The Matrix.org Foundation C.I.C.
 | |
| 
 | |
| SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
 | |
| Please see LICENSE files in the repository root for full details.
 | |
| */
 | |
| 
 | |
| .mx_Checkbox {
 | |
|     $size: $font-16px;
 | |
|     $border-radius: 0.27rem;
 | |
| 
 | |
|     display: flex;
 | |
|     align-items: flex-start;
 | |
| 
 | |
|     input[type="checkbox"] {
 | |
|         appearance: none;
 | |
|         margin: 0;
 | |
|         padding: 0;
 | |
| 
 | |
|         & + label {
 | |
|             display: flex;
 | |
|             align-items: center;
 | |
| 
 | |
|             flex-grow: 1;
 | |
|         }
 | |
| 
 | |
|         & + label > .mx_Checkbox_background {
 | |
|             display: inline-flex;
 | |
|             position: relative;
 | |
| 
 | |
|             flex-shrink: 0;
 | |
| 
 | |
|             height: $size;
 | |
|             width: $size;
 | |
|             size: 0.5rem;
 | |
|             border: 1px solid var(--cpd-color-border-interactive-primary);
 | |
|             box-sizing: border-box;
 | |
|             border-radius: $border-radius;
 | |
| 
 | |
|             .mx_Checkbox_checkmark {
 | |
|                 display: none;
 | |
| 
 | |
|                 height: 100%;
 | |
|                 width: 100%;
 | |
|                 mask-image: url("@vector-im/compound-design-tokens/icons/check.svg");
 | |
|                 mask-position: center;
 | |
|                 mask-size: 100%;
 | |
|                 mask-repeat: no-repeat;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         &:checked + label > .mx_Checkbox_background .mx_Checkbox_checkmark {
 | |
|             display: block;
 | |
|         }
 | |
| 
 | |
|         & + label > *:not(.mx_Checkbox_background) {
 | |
|             margin-left: 10px;
 | |
|         }
 | |
| 
 | |
|         &:disabled + label {
 | |
|             cursor: not-allowed;
 | |
|         }
 | |
| 
 | |
|         &:focus-visible {
 | |
|             & + label .mx_Checkbox_background {
 | |
|                 @mixin unreal-focus;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| .mx_Checkbox.mx_Checkbox_kind_solid input[type="checkbox"] {
 | |
|     & + label > .mx_Checkbox_background .mx_Checkbox_checkmark {
 | |
|         background: var(--cpd-color-icon-on-solid-primary);
 | |
|     }
 | |
| 
 | |
|     &:checked + label > .mx_Checkbox_background {
 | |
|         background: var(--cpd-color-bg-accent-rest);
 | |
|         border-color: var(--cpd-color-bg-accent-rest);
 | |
|     }
 | |
| 
 | |
|     &:checked:disabled + label > .mx_Checkbox_background {
 | |
|         background: var(--cpd-color-bg-action-primary-disabled);
 | |
|         border-color: var(--cpd-color-bg-action-primary-disabled);
 | |
|     }
 | |
| }
 | |
| 
 | |
| .mx_Checkbox.mx_Checkbox_kind_outline input[type="checkbox"] {
 | |
|     & + label > .mx_Checkbox_background .mx_Checkbox_checkmark {
 | |
|         background: var(--cpd-color-bg-accent-rest);
 | |
|     }
 | |
| 
 | |
|     &:checked + label > .mx_Checkbox_background {
 | |
|         background: transparent;
 | |
|         border-color: var(--cpd-color-bg-accent-rest);
 | |
|     }
 | |
| }
 |