UNPKG

benivo-ui-library

Version:

Benivo UI library

485 lines (414 loc) 11.6 kB
// // Buttons // .client-hub { .btn { font-family: proxima-nova, sans-serif; font-weight: 400; font-size: 0.875rem; line-height: 1; font-style: normal; text-decoration: none; text-transform: none; letter-spacing: normal; .border-radius(.25rem) !important; } .dropdown .btn { &:first-child { border-bottom-right-radius: 0 !important; border-top-right-radius: 0 !important; } &.btn-toggle { border-bottom-left-radius: 0 !important; border-top-left-radius: 0 !important; } } } .btn { position: relative; display: inline-block; min-width: @btn-min-width; text-align: center; white-space: nowrap; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; background: transparent; color: inherit; outline: none; margin-right: @btn-mrg-right; padding: @btn-padding; font-family: @btn-font-family; font-weight: @btn-font-weight; font-size: @btn-font-size; line-height: @btn-line-height; font-style: @btn-text-style; text-decoration: @btn-text-decoration; text-transform: @btn-text-transform; border: @btn-border; letter-spacing: @btn-letter-spaceing; .border-radius(@btn-brd-radius); .user-select(none); .appearance(none); .transition(@btn-transition); &:hover { text-decoration: @btn-text-decoration; } &:last-child, &.btn-block { margin-right: 0; } &.no-border { border: 0 !important; } &.btn-block { width: 100%; } @media @md-max { &.btn-sm-block { width: 100%; } } &.btn-xs { padding: @btn-lg-padding; @media @lg { padding: @btn-xs-padding; } } &.btn-sm { padding: @btn-lg-padding; @media @lg { padding: @btn-sm-padding; } } &.btn-md { padding: @btn-lg-padding; @media @lg { padding: @btn-md-padding; } } &.btn-lg { padding: @btn-lg-padding; height: auto; } &.btn-xl { padding: @btn-xl-padding; font-size: 1.25rem; } &.disabled, &.disable, &:disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; label { cursor: not-allowed; } } &.blocked:not(.inactive) { pointer-events: none; opacity: 0.5; } &.loading { cursor: not-allowed; pointer-events: none; display: inline-flex !important; justify-content: center; align-items: center; label { cursor: not-allowed; } .btn-text { padding-right: 0.5rem; padding-left: 0.5rem; } &.btn-with-icon { .btn-icon { display: none; } } } &.btn-link { color: var(--primary); border: none; .bn-spinner { div { border-color: var(--primary) transparent transparent transparent; } } .btn-icon { color: var(--primary); &:before { color: var(--primary); } } } &.bg-grey { border: 1px solid var(--border-200) !important; background-color: var(--bg-50) !important; color: var(--white) !important; opacity: 1 !important; } &.btn-grey-standard { border: 1px solid rgba(0, 0, 0, 0.12); background-color: var(--bg-50); background-image: linear-gradient(to top, var(--bg-50), var(--white)) !important; text-transform: none; text-align: center; font-family: proxima-nova, sans-serif; font-weight: @font-weight-medium; min-width: 160px; margin-right: 1.5rem; color: var(--text-600); .border-radius(4px) !important; } &.btn-grey { border: 1px solid rgba(0, 0, 0, 0.12) !important; background-color: var(--bg-50) !important; background-image: linear-gradient(to top, var(--bg-50), var(--white)); text-transform: none; padding: 10px 0; text-align: center; font-family: proxima-nova, sans-serif; font-weight: @font-weight-medium; min-width: 160px; margin-right: 1.5rem; color: var(--text-600) !important; .border-radius(4px) !important; &:before { content: ""; position: absolute; height: 100%; width: 1px; background: rgba(0, 0, 0, 0.12); left: 32px; top: 0; } &.btn-with-icon { .btn-icon { border-right: 0; font-size: @extra-small-font-size !important; margin: -0.5rem 0.7rem -0.5rem 0.7rem; } .btn-text { width: 100%; text-align: center; } } &:hover { color: var(--text-600) !important; background-color: var(--bg-50); background-image: linear-gradient(to top, var(--bg-50), var(--bg-50)); } } &.btn-with-icon { padding-left: 0; padding-right: 0; display: inline-flex; align-items: center; text-align: left; white-space: inherit; &.btn-content-center { justify-content: center; } .btn-icon { font-size: 1rem; margin: -0.5rem 0 -0.5rem 0.5rem; &.mirror { .transform(scaleX(-1)); } } .btn-text { padding-right: 0.5rem; padding-left: 0.5rem; } } .bn-spinner-overlay { position: absolute; top: 0; left: 0; .border-radius(@btn-brd-radius); } span { &.hide { visibility: hidden; } } &.bold { font-weight: @font-weight-bold; } .bn-spinner { div { border-color: var(--white) transparent transparent transparent; } } &.btn-with-icon-place { padding: 0; display: flex; background: transparent; border: none; .btn-icon { display: block; width: 40px; height: 40px; .border-radius(@btn-brd-radius 0 0 @btn-brd-radius); border: solid 1px rgba(0, 0, 0, 0.1); background: color-mix(in srgb, black 10%, transparent); color: inherit; font-size: 24px; line-height: 40px; margin-right: -1px; cursor: pointer; } .btn-text { display: block; flex-grow: 1; height: 40px; padding: 0 30px; .border-radius(0 @btn-brd-radius @btn-brd-radius 0); border: solid 1px rgba(0, 0, 0, 0.1); background: transparent; color: inherit; font-weight: @font-weight-semibold; line-height: 40px; white-space: nowrap; cursor: pointer; } } &.btn-reject { color: var(--error-main); border-color: var(--error-main); .icon-cross { &:before { color: var(--error-main); } } } &.has-error { border-color: var(--error-main) !important; } &.btn-danger { color: var(--white) !important; border-color: var(--error-main) !important; background-color: var(--error-main) !important; } } #btn-card, #btn-paypal, #btn-vitesse, .btn-default:not(.btn-with-icon-place), .download-btn:not(.btn-with-icon-place) { background: var(--primary); background-image: @default-btn-bg-gradient; color: var(--white); border-color: var(--primary); &:not(.no-hover) { &:hover, &:active, &:focus-visible, &:active:focus { background: var(--primary); background-image: @default-btn-hover-bg-gradient; color: var(--white); border-color: var(--primary); .bn-spinner { div { border-color: var(--white) transparent transparent transparent; } } } } .bn-spinner { div { border-color: var(--white) transparent transparent transparent; } } } .btn-default.btn-with-icon-place, .download-btn.btn-with-icon-place { .btn-text { background: var(--primary); background-image: @default-btn-bg-gradient; color: var(--white); } .btn-icon { background: color-mix(in srgb, black 10%, var(--primary)); color: var(--white); } &:not(.no-hover) { &:hover, &:active, &:focus, &:active:focus { .btn-text { background: var(--primary); background-image: @default-btn-hover-bg-gradient; color: var(--white); } .btn-icon { background: color-mix(in srgb, black 10%, var(--primary)); color: var(--white); } } } .bn-spinner { div { border-color: var(--white) transparent transparent transparent; } } } .btn-secondary:not(.btn-with-icon-place) { background: var(--primary); background-image: @secondary-btn-bg-gradient; border-color: var(--primary); color: var(--white); &:not(.no-hover) { &:hover, &:active, &:focus-visible, &:active:focus { background: var(--primary); background-image: @secondary-btn-hover-bg-gradient; border-color: var(--primary); color: var(--white); } } .bn-spinner { div { border-color: var(--white) transparent transparent transparent; } } } .btn-secondary.btn-with-icon-place { .btn-text { background: var(--primary); background-image: @secondary-btn-bg-gradient; color: var(--white); } .btn-icon { background: color-mix(in srgb, black 10%, var(--primary)); color: var(--white); } &:not(.no-hover) { &:hover, &:active, &:focus, &:active:focus { .btn-text { background: var(--primary); background-image: @secondary-btn-hover-bg-gradient; color: var(--white); } .btn-icon { background: color-mix(in srgb, black 10%, var(--primary)); color: var(--white); } } } .bn-spinner { div { border-color: var(--white) transparent transparent transparent; } } }