UNPKG

zarm

Version:

基于 React 的移动端UI库

233 lines (209 loc) 8.63 kB
.za-button { --height: var(--za-button-height, var(--za-height-md)); --border-radius: var(--za-button-border-radius, 0); /* prettier-ignore */ --border-width: var(--za-button-border-width, 1PX); --padding-horizontal: var(--za-button-padding-horizontal, var(--za-padding-h-md)); --font-size: var(--za-button-font-size, var(--za-font-size-md)); --icon-size: var(--za-button-icon-size, 22px); --background: var(--za-button-background, #fff); --border-color: var(--za-button-border-color, var(--za-theme-default)); --text-color: var(--za-button-text-color, var(--za-color-text)); --loading-color: var(--za-button-loading-color, var(--za-theme-primary)); --active-background: var(--za-button-active-background, #e6e6e6); --active-border-color: var(--za-button-active-border-color, #e6e6e6); --active-text-color: var(--za-button-active-text-color, var(--za-color-text)); --active-loading-color: var(--za-button-active-loading-color, var(--za-theme-primary-dark)); --shadow: var(--za-button-shadow, 0 3px 3px 0 rgba(230, 230, 230, 0.3)); --primary-background: var(--za-button-primary-background, var(--za-theme-primary)); --primary-border-color: var(--za-button-primary-border-color, var(--za-theme-primary)); --primary-text-color: var(--za-button-primary-text-color, var(--za-color-text-inverse)); --primary-loading-color: var(--za-button-primary-loading-color, var(--za-color-text-inverse)); --primary-active-background: var(--za-button-primary-active-background, var(--za-theme-primary-dark)); --primary-active-border-color: var(--za-button-primary-active-border-color, var(--za-theme-primary-dark)); --primary-active-text-color: var(--za-button-primary-active-text-color, rgba(255, 255, 255, 0.4)); --primary-active-loading-color: var(--za-button-primary-active-loading-color, rgba(255, 255, 255, 0.4)); --primary-shadow: var(--za-button-primary-shadow, 0 3px 3px 0 rgba(0, 188, 112, 0.3)); --danger-background: var(--za-button-danger-background, var(--za-theme-danger)); --danger-border-color: var(--za-button-danger-border-color, var(--za-theme-danger)); --danger-text-color: var(--za-button-danger-text-color, var(--za-color-text-inverse)); --danger-loading-color: var(--za-button-danger-loading-color, var(--za-color-text-inverse)); --danger-active-background: var(--za-button-danger-active-background, var(--za-theme-danger-dark)); --danger-active-border-color: var(--za-button-danger-active-border-color, var(--za-theme-danger-dark)); --danger-active-text-color: var(--za-button-danger-active-text-color, rgba(255, 255, 255, 0.4)); --danger-active-loading-color: var(--za-button-danger-active-loading-color, rgba(255, 255, 255, 0.4)); --danger-shadow: var(--za-button-danger-shadow, 0 3px 3px 0 rgba(255, 80, 80, 0.3)); --ghost-border-color: var(--za-button-ghost-border-color, var(--za-color-text-inverse)); --ghost-text-color: var(--za-button-ghost-text-color, var(--za-color-text-inverse)); --ghost-active-border-color: var(--za-button-ghost-active-border-color, var(--za-theme-default-dark)); --ghost-active-text-color: var(--za-button-ghost-active-text-color, var(--za-theme-default-dark)); display: inline-block; vertical-align: middle; padding: 0; border: none; text-align: center; outline: none; user-select: none; cursor: pointer; -webkit-appearance: none; padding: 0 var(--padding-horizontal); font-size: var(--font-size); height: var(--height); line-height: 1.4; border-style: solid; border-width: var(--border-width); border-radius: var(--border-radius); } .za-button__content { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; } .za-button--disabled { cursor: not-allowed; opacity: var(--za-opacity-disabled); pointer-events: none; } .za-button--block { display: block; width: 100%; } .za-button--circle { width: var(--height); padding: 0; } .za-button .za-icon { font-size: var(--icon-size); } .za-button--loading .za-loading { width: var(--font-size); height: var(--font-size); } .za-button * + span { margin-left: calc(var(--padding-horizontal) / 2); } .za-button--default { background-color: var(--background); border-color: var(--border-color); color: var(--text-color); } .za-button--default.za-button--shadow { box-shadow: var(--shadow); } .za-button--default .za-loading.za-loading--circular circle { stroke: var(--loading-color); } .za-button--default:active { background-color: var(--active-background); border-color: var(--active-border-color); color: var(--active-text-color); } .za-button--default:active .za-loading.za-loading--circular circle { stroke: var(--active-loading-color); } .za-button--primary { background-color: var(--primary-background); border-color: var(--primary-border-color); color: var(--primary-text-color); } .za-button--primary.za-button--shadow { box-shadow: var(--primary-shadow); } .za-button--primary .za-loading.za-loading--circular circle { stroke: var(--primary-loading-color); } .za-button--primary:active { background-color: var(--primary-active-background); border-color: var(--primary-active-border-color); color: var(--primary-active-text-color); } .za-button--primary:active .za-loading.za-loading--circular circle { stroke: var(--primary-active-loading-color); } .za-button--danger { background-color: var(--danger-background); border-color: var(--danger-border-color); color: var(--danger-text-color); } .za-button--danger.za-button--shadow { box-shadow: var(--danger-shadow); } .za-button--danger .za-loading.za-loading--circular circle { stroke: var(--danger-loading-color); } .za-button--danger:active { background-color: var(--danger-active-background); border-color: var(--danger-active-border-color); color: var(--danger-active-text-color); } .za-button--danger:active .za-loading.za-loading--circular circle { stroke: var(--danger-active-loading-color); } .za-button--lg { --height: var(--za-button-height, var(--za-height-lg)); --padding-horizontal: var(--za-button-padding-horizontal, var(--za-padding-h-lg)); --font-size: var(--za-button-font-size, var(--za-font-size-lg)); --icon-size: var(--za-button-icon-size, 26px); } .za-button--sm { --height: var(--za-button-height, var(--za-height-sm)); --padding-horizontal: var(--za-button-padding-horizontal, var(--za-padding-h-sm)); --font-size: var(--za-button-font-size, var(--za-font-size-sm)); --icon-size: var(--za-button-icon-size, 18px); } .za-button--xs { --height: var(--za-button-height, var(--za-height-xs)); --padding-horizontal: var(--za-button-padding-horizontal, var(--za-padding-h-xs)); --font-size: var(--za-button-font-size, var(--za-font-size-xs)); --icon-size: var(--za-button-icon-size, 16px); } .za-button--radius { --border-radius: var(--za-button-border-radius, var(--za-radius-md)); } .za-button--round { --border-radius: var(--za-button-border-radius, var(--height)); } .za-button--circle { --border-radius: var(--za-button-border-radius, 50%); } .za-button--link { line-height: calc(var(--height) - var(--border-width) * 2); background-color: transparent; border-color: transparent; } .za-button--link:active { background: var(--active-background); border-color: var(--active-border-color); } .za-button--link.za-button--primary { --primary-text-color: var(--za-button-primary-text-color, var(--za-theme-primary)); --primary-active-text-color: var(--za-button-primary-active-text-color, var(--za-theme-primary-dark)); } .za-button--link.za-button--danger { --danger-text-color: var(--za-button-danger-text-color, var(--za-theme-danger)); --danger-active-text-color: var(--za-button-danger-active-text-color, var(--za-theme-danger-dark)); } .za-button--ghost { background-color: transparent; } .za-button--ghost:active { background-color: transparent; } .za-button--ghost.za-button--default { border-color: var(--ghost-border-color); color: var(--ghost-text-color); } .za-button--ghost.za-button--default:active { border-color: var(--ghost-active-border-color); color: var(--ghost-active-text-color); } .za-button--ghost.za-button--primary { --primary-text-color: var(--za-button-primary-text-color, var(--za-theme-primary)); --primary-active-text-color: var(--za-button-primary-active-text-color, var(--za-theme-primary-dark)); } .za-button--ghost.za-button--danger { --danger-text-color: var(--za-button-danger-text-color, var(--za-theme-danger)); --danger-active-text-color: var(--za-button-danger-active-text-color, var(--za-theme-danger-dark)); }