UNPKG

vuestic-ui

Version:
177 lines 5.39 kB
:root, :host { --va-radio-display: inline-flex; --va-radio-cursor: pointer; --va-radio-position: relative; --va-radio-gap: 0.5rem; --va-radio-transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); --va-radio-disabled-cursor: default; --va-radio-border-color: var(--va-background-border); --va-radio-background: transparent; /* Icon */ --va-radio-icon-transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); --va-radio-icon-width: 1.4rem; --va-radio-icon-height: 1.4rem; --va-radio-icon-border-radius: 100%; --va-radio-icon-border: var(--va-background-border) solid var(--va-form-element-border-width); /* Dot */ --va-radio-dot-transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); --va-radio-dot-top: 50%; --va-radio-dot-left: 50%; --va-radio-dot-right: 50%; --va-radio-dot-bottom: 50%; --va-radio-dot-border-radius: 100%; --va-radio-dot-background-color: inherit; --va-radio-dot-opacity: 0; /* Background */ --va-radio-background-transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); --va-radio-background-top: -0.35rem; --va-radio-background-left: -0.35rem; --va-radio-background-right: -0.35rem; --va-radio-background-bottom: -0.35rem; --va-radio-background-background-color: var(--va-background-element); --va-radio-background-border-radius: 100%; --va-radio-background-z-index: 0; --va-radio-background-opacity: 0; /* Text */ --va-radio-text-display: inline-flex; --va-radio-text-margin-left: 0.5rem; --va-radio-text-margin-right: 0; } .va-radio { display: flex; width: -moz-max-content; width: max-content; flex-direction: var(--va-flex-direction); gap: var(--va-radio-gap); } .va-radio__square { display: inline-flex; align-items: center; width: 100%; cursor: var(--va-radio-cursor); position: var(--va-radio-position); margin-top: var(--va-radio-margin-top); margin-right: var(--va-radio-margin-right); transition: var(--va-radio-transition, var(--va-swing-transition)); font-family: var(--va-font-family); color: var(--va-label-style-color); } .va-radio + .va-radio { margin-top: 0.5rem; } .va-radio .va-radio:last-child { margin: 0; } .va-radio--disabled { cursor: var(--va-radio-disabled-cursor); } .va-radio--readonly { cursor: default; pointer-events: none; } .va-radio--readonly .va-radio--left-label, .va-radio--readonly .va-radio__text { cursor: initial; pointer-events: none; } .va-radio--left-label { flex-direction: row-reverse; display: inline-flex; align-items: center; } .va-radio--left-label.va-radio__square { justify-content: space-between; } .va-radio__input { position: absolute; width: 1px; height: 1px; margin: -1px; border: 0; padding: 0; white-space: nowrap; -webkit-clip-path: inset(100%); clip-path: inset(100%); clip: rect(0 0 0 0); overflow: hidden; } .va-radio__icon { transition: var(--va-radio-icon-transition); display: flex; align-items: center; width: var(--va-radio-icon-width); height: var(--va-radio-icon-height); border-color: var(--va-icon-computed-styles-border-color); border-radius: var(--va-radio-icon-border-radius); background: var(--va-radio-background); position: relative; border: var(--va-radio-icon-border); box-sizing: border-box; margin: 4px; } .va-radio__input:disabled + .va-radio__icon { cursor: default; opacity: 0.4; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .va-radio__input:focus-visible + .va-radio__icon { outline: 2px solid var(--va-focus) !important; border-radius: "inherit"; } .va-radio__icon__dot { transition: var(--va-radio-dot-transition, var(--va-swing-transition)); position: absolute; top: var(--va-radio-dot-top); left: var(--va-radio-dot-left); right: var(--va-radio-dot-right); bottom: var(--va-radio-dot-bottom); border-radius: var(--va-radio-dot-border-radius); opacity: var(--va-radio-dot-opacity); border-color: var(--va-icon-dot-computed-styles-border-color); background-color: var(--va-icon-dot-computed-styles-background-color); } .va-radio__input:checked + .va-radio__icon .va-radio__icon__dot { opacity: 1; top: 0.25rem; left: 0.25rem; right: 0.25rem; bottom: 0.25rem; } .va-radio__icon__background { transition: var(--va-radio-background-transition, var(--va-swing-transition)); position: absolute; top: var(--va-radio-background-top); left: var(--va-radio-background-left); right: var(--va-radio-background-right); bottom: var(--va-radio-background-bottom); border-radius: var(--va-radio-background-border-radius); z-index: var(--va-radio-background-z-index); opacity: var(--va-radio-background-opacity); background-color: var(--va-icon-background-computed-styles-background-color); } .va-radio__square:hover .va-radio__icon__background { opacity: 0.2; } .va-radio--disabled .va-radio__square:hover .va-radio__icon__background { opacity: 0; } .va-radio__text { display: var(--va-radio-text-display); margin-left: var(--va-radio-text-margin-left); margin-right: var(--va-radio-text-margin-right); white-space: nowrap; } .va-radio--disabled .va-radio__text { cursor: default; opacity: 0.4; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .va-radio--left-label .va-radio__text { margin-right: var(--va-radio-text-margin-left); margin-left: var(--va-radio-text-margin-right); }