UNPKG

@kelvininc/ui-components

Version:
121 lines (118 loc) 4.35 kB
/** HEADINGS **/ /** LABELS **/ /** SPANS **/ /** PARAGRAPHS **/ /** TODO: CODE/CONSOLE **/ @property --rotation { syntax: "<angle>"; initial-value: 0deg; inherits: false; } @keyframes rotate-border { to { --rotation: 360deg; } } /** * Design Tokens - Auto-generated by Style Dictionary * Do not edit manually - run `pnpm tokens:build` to regenerate */ kv-dropdown-base:not(.hydrated) > [slot=list] { display: none; } /* stylelint-disable csstools/value-no-unknown-custom-properties */ /* stylelint-enable csstools/value-no-unknown-custom-properties */ :host { /** * @prop --off-background-color: Button background color when OFF. * @prop --on-background-color: Button background color when ON. * @prop --disabled-background-color: Button background color when disabled. * @prop --switch-icon-color: Icon square container background color. * @prop --switch-disabled-icon-color: Icon square container background color when disabled. * @prop --switch-height-large: Switch height when size is large. * @prop --switch-height-small: Switch height when size is small. * @prop --switch-width-large: Switch width when size is large. * @prop --switch-width-small: Switch width when size is small. * @prop --switch-icon-size-large: Switch icon size when size is large. * @prop --switch-icon-size-small: Switch icon size when size is small. * @prop --switch-padding-large: Switch padding when size is large. * @prop --switch-padding-small: Switch padding when size is small. */ --off-background-color: var(--switch-background-off); --on-background-color: var(--switch-background-on); --disabled-background-color: var(--switch-background-disabled); --switch-icon-color: var(--switch-icon-color-default); --switch-disabled-icon-color: var(--switch-icon-color-disabled); --switch-height-large: var(--switch-height-regular); --switch-height-small: var(--switch-height-compact); --switch-width-large: var(--switch-width-regular); --switch-width-small: var(--switch-width-compact); --switch-icon-size-large: var(--switch-icon-size-regular); --switch-icon-size-small: var(--switch-icon-size-compact); --switch-padding-large: var(--spacing-2xs); --switch-padding-small: 2.5px; display: flex; align-items: center; gap: var(--spacing-md); } .switch-button { display: flex; box-sizing: border-box; border-radius: var(--switch-radius-default); background-color: var(--off-background-color); transition: background-color 0.3s ease-out; cursor: pointer; } .switch-button--disabled { background-color: var(--disabled-background-color); cursor: not-allowed; user-select: none; } .switch-button--disabled .icon-square kv-icon { --icon-color: var(--switch-disabled-icon-color); } .switch-button--on:not(.switch-button--disabled) { background-color: var(--on-background-color); } .switch-button--large { height: var(--switch-height-large); width: var(--switch-width-large); } .switch-button--large .icon-square { width: var(--switch-icon-size-large); height: var(--switch-icon-size-large); padding: var(--switch-padding-large); } .switch-button--large .icon-square kv-icon { --icon-width: calc(var(--switch-icon-size-large) - var(--switch-padding-large) * 2); --icon-height: calc(var(--switch-icon-size-large) - var(--switch-padding-large) * 2); } .switch-button--large.switch-button--on .icon-square { transform: translateX(calc(var(--switch-width-large) - var(--switch-icon-size-large))); } .switch-button--small { height: var(--switch-height-small); width: var(--switch-width-small); } .switch-button--small .icon-square { width: var(--switch-icon-size-small); height: var(--switch-icon-size-small); padding: var(--switch-padding-small); } .switch-button--small .icon-square kv-icon { --icon-width: calc(var(--switch-icon-size-small) - var(--switch-padding-small) * 2); --icon-height: calc(var(--switch-icon-size-small) - var(--switch-padding-small) * 2); } .switch-button--small.switch-button--on .icon-square { transform: translateX(calc(var(--switch-width-small) - var(--switch-icon-size-small))); } .icon-square { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; transition: transform 0.3s ease-out; } .icon-square kv-icon { --icon-color: var(--switch-icon-color); }