@import "../../themes/ionic.globals"; // Checkbox // -------------------------------------------------- :host { /** * @prop --size: Size of the checkbox icon * * @prop --background: Background of the checkbox icon * @prop --background-checked: Background of the checkbox icon when checked * * @prop --border-color: Border color of the checkbox icon * @prop --border-radius: Border radius of the checkbox icon * @prop --border-width: Border width of the checkbox icon * @prop --border-style: Border style of the checkbox icon * @prop --border-color-checked: Border color of the checkbox icon when checked * * @prop --transition: Transition of the checkbox icon * * @prop --checkmark-color: Color of the checkbox checkmark when checked * @prop --checkmark-width: Stroke width of the checkbox checkmark */ --background-checked: #{ion-color(primary, base)}; --border-color-checked: #{ion-color(primary, base)}; --checkmark-color: #{ion-color(primary, contrast)}; --checkmark-width: 1; --transition: none; display: inline-block; position: relative; user-select: none; z-index: $z-index-item-input; } :host(.ion-color) { --background-checked: #{current-color(base)}; --border-color-checked: #{current-color(base)}; --checkmark-color: #{current-color(contrast)}; } label { @include input-cover(); display: flex; align-items: center; opacity: 0; } input { @include visually-hidden(); } .checkbox-icon { @include border-radius(var(--border-radius)); display: block; position: relative; width: 100%; height: 100%; transition: var(--transition); border-width: var(--border-width); border-style: var(--border-style); border-color: var(--border-color); background: var(--background); box-sizing: border-box; } .checkbox-icon path { fill: none; stroke: var(--checkmark-color); stroke-width: var(--checkmark-width); opacity: 0; } // Checked / Indeterminate Checkbox // --------------------------------------------- :host(.checkbox-checked) .checkbox-icon, :host(.checkbox-indeterminate) .checkbox-icon { border-color: var(--border-color-checked); background: var(--background-checked); } :host(.checkbox-checked) .checkbox-icon path, :host(.checkbox-indeterminate) .checkbox-icon path { opacity: 1; } // Disabled Checkbox // --------------------------------------------- :host(.checkbox-disabled) { pointer-events: none; }