UNPKG

@workday/canvas-kit-css

Version:

The parent module that contains all Workday Canvas Kit CSS components

94 lines (73 loc) 2.99 kB
.cnvs-switch-container { box-sizing: border-box; position: relative; height: var(--cnvs-sys-space-x6); width: var(--cnvs-sys-space-x8); } .cnvs-switch-input { box-sizing: border-box; display: flex; position: absolute; height: var(--cnvs-sys-space-x6); width: var(--cnvs-sys-space-x8); margin: var(--cnvs-sys-space-zero); margin-left: var(--cnvs-sys-space-x1); border-radius: var(--cnvs-sys-shape-round); opacity: 0; cursor: pointer; } .cnvs-switch-input:checked~div:first-of-type, .cnvs-switch-input.checked~div:first-of-type { background-color: var(--cnvs-brand-primary-base); } .cnvs-switch-input:checked:disabled~div:first-of-type, .cnvs-switch-input.checked:disabled~div:first-of-type, .cnvs-switch-input:checked.disabled~div:first-of-type, .cnvs-switch-input.checked.disabled~div:first-of-type { opacity: var(--cnvs-sys-opacity-disabled); } .cnvs-switch-input:disabled, .cnvs-switch-input.disabled { cursor: not-allowed; } .cnvs-switch-input:disabled~div:first-of-type, .cnvs-switch-input.disabled~div:first-of-type { opacity: var(--cnvs-sys-opacity-disabled); } .cnvs-switch-input:focus-visible, .cnvs-switch-input:focus, .cnvs-switch-input.focus { outline: none; } .cnvs-switch-input:focus-visible~div:first-of-type, .cnvs-switch-input:focus~div:first-of-type, .cnvs-switch-input.focus~div:first-of-type { box-shadow: 0 0 0 2px var(--cnvs-sys-color-border-inverse, rgba(255,255,255,1)),0 0 0 4px var(--cnvs-brand-common-focus-outline, rgba(8,117,225,1)); } .cnvs-switch-input.error-error~div:first-of-type { box-shadow: 0 0 0 0.125rem var(--cnvs-sys-color-border-inverse),0 0 0 var(--cnvs-sys-space-x1) var(--cnvs-brand-common-error-inner),0 0 0 0.3125rem transparent; } .cnvs-switch-input.error-caution~div:first-of-type { box-shadow: 0 0 0 0.125rem var(--cnvs-sys-color-border-inverse),0 0 0 var(--cnvs-sys-space-x1) var(--cnvs-brand-common-alert-inner),0 0 0 0.3125rem var(--cnvs-brand-common-alert-outer); } .cnvs-switch-background { box-sizing: border-box; position: absolute; display: flex; align-items: center; pointer-events: none; margin-top: var(--cnvs-sys-space-x1); width: var(--cnvs-sys-space-x8); height: var(--cnvs-sys-space-x4); border-radius: var(--cnvs-sys-shape-round); padding: var(--cnvs-sys-space-zero) 0.125rem; transition: background-color 200ms ease; background-color: var(--cnvs-sys-color-bg-muted-soft); } .cnvs-switch-circle { box-sizing: border-box; width: var(--cnvs-sys-space-x3); height: var(--cnvs-sys-space-x3); border-radius: var(--cnvs-sys-shape-round); box-shadow: var(--cnvs-sys-depth-1); transition: transform 150ms ease; pointer-events: none; background-color: var(--cnvs-brand-primary-accent); transform: translateX(var(--cnvs-sys-space-zero)); } .cnvs-switch-circle.checked { transform: translateX(var(--cnvs-sys-space-x4)); } .cnvs-switch-circle.checked :dir(rtl) { transform: translateX(calc(var(--cnvs-sys-space-x4) * -1)); }