UNPKG

winbox-ui-next

Version:

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

158 lines (157 loc) 4.15 kB
/******** borderSize *******/ /******** borderStyle *******/ /******** radius *******/ /******** shadow distance *******/ /******** size *******/ /******** spacing *******/ /******** shadow *******/ /******** opacity *******/ /******** fontSize *******/ /******** fontWeight ********/ /******** radius *******/ /******** Primary *******/ /******** success *******/ /******** warning *******/ /******** danger *******/ /******** link *******/ /******** radius *******/ /********* icon hover *********/ .w-checkbox { position: relative; display: inline-flex; align-items: center; box-sizing: border-box; font-size: 14px; line-height: unset; cursor: pointer; } .w-checkbox > input[type='checkbox'] { position: absolute; top: 0; left: 0; width: 0; height: 0; opacity: 0; } .w-checkbox:hover .w-checkbox-icon-hover::before { width: 0; height: 0; background-color: var(--color-fill-2); border-radius: 2px; } .w-checkbox:hover .w-checkbox-icon { border-color: var(--color-neutral-5); } .w-checkbox-label { margin-left: 8px; color: var(--color-text-1); } .w-checkbox-icon { position: relative; box-sizing: border-box; width: 16px; height: 16px; background-color: var(--color-bg-2); border: 1px solid var(--color-fill-3); border-radius: var(--border-radius-small); user-select: none; } .w-checkbox-icon::after { position: absolute; top: 50%; left: 50%; display: block; width: 6px; height: 2px; background: var(--color-white); border-radius: 0.5px; transform: translateX(-50%) translateY(-50%) scale(0); content: ''; } .w-checkbox-icon-check { position: relative; display: block; width: 10px; height: 100%; margin: 0 auto; color: var(--color-white); transform: scale(0); transform-origin: center 75%; } .w-checkbox-icon:hover { border-color: var(--color-fill-4); transition: border-color 0.1s cubic-bezier(0, 0, 1, 1), transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1); } .w-checkbox-checked:hover .w-checkbox-icon, .w-checkbox-indeterminate:hover .w-checkbox-icon { transition: transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1); } .w-checkbox-checked .w-checkbox-icon { background-color: rgb(var(--primary-6)); border-color: transparent; } .w-checkbox-checked .w-checkbox-icon-check { transform: scale(1); transition: transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1); } .w-checkbox-indeterminate .w-checkbox-icon { background-color: rgb(var(--primary-6)); border-color: transparent; } .w-checkbox-indeterminate .w-checkbox-icon svg { transform: scale(0); } .w-checkbox-indeterminate .w-checkbox-icon::after { transform: translateX(-50%) translateY(-50%) scale(1); transition: transform 0.3s cubic-bezier(0.3, 1.3, 0.3, 1); } .w-checkbox.w-checkbox-disabled { cursor: not-allowed; } .w-checkbox.w-checkbox-disabled .w-checkbox-icon-hover { cursor: not-allowed; } .w-checkbox.w-checkbox-disabled:hover .w-checkbox-mask { border-color: var(--color-fill-3); } .w-checkbox-checked:hover .w-checkbox-icon, .w-checkbox-indeterminate:hover .w-checkbox-icon { border-color: transparent; } .w-checkbox-disabled .w-checkbox-icon { background-color: var --color-fill-2; border-color: var(--color-fill-3); } .w-checkbox-disabled.w-checkbox-checked .w-checkbox-icon, .w-checkbox-disabled.w-checkbox-checked:hover .w-checkbox-icon { background-color: var(--color-primary-light-3); border-color: transparent; } .w-checkbox-disabled:hover .w-checkbox-icon-hover::before, .w-checkbox-indeterminate:hover .w-checkbox-icon-hover::before { background-color: transparent; } .w-checkbox-disabled:hover .w-checkbox-icon, .w-checkbox-indeterminate:hover .w-checkbox-icon { border-color: var(--color-neutral-3); } .w-checkbox-checked:hover .w-checkbox-icon { border-color: rgb(var(--primary-6)); } .w-checkbox-disabled .w-checkbox-label { color: var(--color-text-4); } .w-checkbox-disabled .w-checkbox-icon-check { color: var(--color-fill-3); } .w-checkbox-group { display: inline-block; } .w-checkbox-group .w-checkbox { margin-right: 14px; } .w-checkbox-group-direction-vertical .w-checkbox { display: flex; margin-right: 0; line-height: 32px; }