UNPKG

winbox-ui-next

Version:

We Design Vue 2.0: A Vue.js 3 UI Library

227 lines (226 loc) 5.67 kB
/******** borderSize *******/ /******** borderStyle *******/ /******** radius *******/ /******** shadow distance *******/ /******** size *******/ /******** spacing *******/ /******** shadow *******/ /******** opacity *******/ /******** fontSize *******/ /******** fontWeight ********/ /******** radius *******/ /******** Primary *******/ /******** success *******/ /******** warning *******/ /******** danger *******/ /******** link *******/ /******** radius *******/ /********* icon hover *********/ .w-radio > input[type='radio'], .w-radio-button > input[type='radio'] { position: absolute; top: 0; left: 0; width: 0; height: 0; opacity: 0; } .w-radio > input[type='radio']:focus + .w-radio-icon-hover::before, .w-radio-button > input[type='radio']:focus + .w-radio-icon-hover::before { background-color: var(--color-fill-2); } .w-icon-hover.w-radio-icon-hover::before { width: 0; height: 0; } .w-radio { position: relative; display: inline-flex; align-items: center; padding-left: 4px; font-size: 14px; line-height: unset; cursor: pointer; } .w-radio-label { margin-left: 8px; color: var(--color-text-1); } .w-radio-icon { position: relative; display: block; box-sizing: border-box; width: 16px; height: 16px; line-height: 16px; border: 1px solid var(--color-neutral-3); border-radius: var(--border-radius-circle); } .w-radio-icon::after { position: absolute; top: 0; left: 0; display: inline-block; box-sizing: border-box; width: 14px; height: 14px; background-color: var(--color-bg-2); border-radius: var(--border-radius-circle); transform: scale(0); transition: transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1); content: ''; } .w-radio:hover .w-radio-icon { border-color: var(--color-neutral-5); } .w-radio-checked .w-radio-icon { border-color: rgb(var(--primary-6)); } .w-radio-checked .w-radio-icon::after { background-color: rgb(var(--primary-6)); transform: scale(0.6); } .w-radio-checked:hover .w-radio-icon { border-color: rgb(var(--primary-6)); } .w-radio-disabled { cursor: not-allowed; } .w-radio-disabled .w-radio-icon-hover { cursor: not-allowed; } .w-radio-disabled .w-radio-label { color: var(--color-text-4); } .w-radio-disabled .w-radio-icon { border-color: var(--color-neutral-3) !important; } .w-radio-disabled .w-radio-icon::after { background-color: var(--color-fill-2); } .w-radio-disabled:hover .w-radio-icon { border-color: var(--color-neutral-3); } .w-radio-checked.w-radio-disabled .w-radio-icon, .w-radio-checked.w-radio-disabled:hover .w-radio-icon { border-color: var(--color-neutral-3); } .w-radio-checked.w-radio-disabled .w-radio-icon::after { background-color: var(--color-fill-2); } .w-radio-checked.w-radio-disabled .w-radio-label { color: var(--color-text-4); } .w-radio:hover .w-radio-icon-hover::before { background-color: var(--color-fill-2); border-radius: 2px; } .w-radio-group { display: inline-block; box-sizing: border-box; } .w-radio-group .w-radio { margin-right: 20px; } .w-radio-group-button { display: inline-flex; line-height: 36px; background-color: var(--color-bg-5); border-radius: var(--border-radius-small); } .w-radio-button { position: relative; display: inline-block; margin: 0; color: var(--color-text-2); font-size: 14px; line-height: 34px; background-color: var(--color-bg-5); border-radius: var(--border-radius-small); cursor: pointer; transition: all 0.1s cubic-bezier(0, 0, 1, 1); } .w-radio-button-content { position: relative; display: block; padding: 0 16px; border: 1px solid var(--color-border); border-left: 0; } .w-radio-button:first-child .w-radio-button-content { border-left: 1px solid var(--color-border); } .w-radio-button:not(:first-of-type)::before { position: absolute; top: 50%; left: -2px; display: block; width: 0; height: 14px; background-color: var(--color-neutral-3); transform: translateY(-50%); transition: all 0.1s cubic-bezier(0, 0, 1, 1); content: ''; } .w-radio-button:hover::before, .w-radio-button:hover + .w-radio-button::before, .w-radio-button.w-radio-checked::before, .w-radio-button.w-radio-checked + .w-radio-button::before { opacity: 0; } .w-radio-button:hover { color: rgb(var(--primary-6)); background-color: var(--color-bg-5); } .w-radio-button.w-radio-checked { color: var(--color-bg-5); background-color: rgb(var(--primary-6)); } .w-radio-button.w-radio-checked .w-radio-button-content { border-color: rgb(var(--primary-6)); } .w-radio-button.w-radio-disabled { color: var(--color-text-4); background-color: var(--color-neutral-3); cursor: not-allowed; } .w-radio-button.w-radio-disabled.w-radio-checked { color: var(--color-primary-light-3); background-color: rgb(var(--primary-6)); } .w-radio-group-size-small { line-height: 24px; } .w-radio-group-size-small.w-radio-group-button, .w-radio-group-size-small .w-radio-button { font-size: 14px; line-height: 24px; } .w-radio-group-size-medium { line-height: 28px; } .w-radio-group-size-medium.w-radio-group-button, .w-radio-group-size-medium .w-radio-button { font-size: 14px; line-height: 28px; } .w-radio-group-size-mini { line-height: 20px; } .w-radio-group-size-mini.w-radio-group-button, .w-radio-group-size-mini .w-radio-button { font-size: 12px; line-height: 20px; } .w-radio-group-direction-vertical .w-radio { display: flex; margin-right: 0; line-height: 32px; } body[winbox-theme='dark'] .w-radio-button.w-radio-checked { color: var(--color-text-2); background-color: rgb(var(--primary-6)); } body[winbox-theme='dark'] .w-radio-button::after { background-color: var(--color-bg-3); }