UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

237 lines (236 loc) 9 kB
/* * Button theme * */ /* * Utilities */ /* * Button theme * */ /* * Button theme * */ /* * Button mixins * */ .dnb-button--tertiary { --button-tertiary-focus-left: -0.5rem; --button-tertiary-focus-right: -0.5rem; --button-tertiary-focus-overflow--icon-top: -0.5rem; --button-tertiary-underline-left: var( --button-tertiary-underline-overflow ); --button-tertiary-underline-right: var( --button-tertiary-underline-overflow ); --button-tertiary-underline-overflow: 0; --button-tertiary-underline-overflow--icon: calc( (var(--button-icon-gutter) + var(--button-icon-size)) * -1 ); } .dnb-button--tertiary .dnb-button__text { position: relative; } .dnb-button--tertiary .dnb-button__text::after { content: ""; position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; width: auto; height: 0.095rem; border-radius: 0.0475rem; color: var(--button-color-underline, var(--button-color-underline--default)); background-color: currentcolor; bottom: -0.0625rem; transition: color 250ms ease-in-out; } [data-visual-test-wrapper] .dnb-button--tertiary .dnb-button__text::after { transition: none; } .dnb-button--tertiary .dnb-button__text::after { left: var(--button-tertiary-underline-left); right: var(--button-tertiary-underline-right); } .dnb-skeleton .dnb-button--tertiary .dnb-button__text::after { content: none; } html:not([data-whatinput=touch]) .dnb-button--tertiary:focus-visible[disabled] { cursor: not-allowed; } html:not([data-whatinput=touch]) .dnb-button--tertiary:focus-visible:not([disabled]) .dnb-button__text::after { visibility: hidden; } html:not([data-whatintent=touch]) .dnb-button--tertiary:hover[disabled] { cursor: not-allowed; } html:not([data-whatintent=touch]) .dnb-button--tertiary:hover:not([disabled]) .dnb-button__text::after { visibility: visible; } .dnb-button--tertiary:active[disabled], html:not([data-whatintent=touch]) .dnb-button--tertiary:active[disabled] { cursor: not-allowed; } .dnb-button--tertiary:active:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) { outline: initial; } html[data-whatinput=keyboard] .dnb-button--tertiary:active:not([disabled]), html[data-whatinput=keyboard] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) { box-shadow: none; } html[data-whatintent=touch] .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after, html[data-whatintent=touch] html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after { transition: none; visibility: visible; opacity: 1; } html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after, html:not([data-whatintent=touch]) html:not([data-whatintent=touch]) .dnb-button--tertiary:active:not([disabled]) .dnb-button__text::after { visibility: hidden; } .dnb-button--tertiary.dnb-button--has-text { --button-padding-left: 0; --button-padding-right: 0; --button-icon-margin-top: calc( (var(--button-height) - var(--button-icon-size)) / 2 ); } .dnb-button--tertiary.dnb-button--has-text .dnb-button__icon { align-self: flex-start; } .dnb-button--tertiary.dnb-button--icon-position-top { --button-tertiary-focus-left: var( --button-tertiary-focus-overflow--icon-top ); --button-tertiary-focus-right: var( --button-tertiary-focus-overflow--icon-top ); flex-direction: column; border-radius: 0.5rem; vertical-align: middle; } .dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text { --button-icon-margin-top: 0.5rem; } .dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--has-text .dnb-button__icon { align-self: center; } .dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__text { margin-top: 0; margin-bottom: 0.25rem; font-size: var(--font-size-x-small); } .dnb-button--tertiary.dnb-button--icon-position-top.dnb-button--size-large .dnb-button__text { font-size: var(--font-size-small); } .dnb-button--tertiary.dnb-button--icon-position-top .dnb-button__alignment { order: 3; height: 0; } .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-size-medium, .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-size-large { --button-tertiary-underline-overflow--icon: var( --button-tertiary-underline-overflow ); } .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-left { --button-tertiary-focus-right: -1rem; --button-tertiary-underline-left: var( --button-tertiary-underline-overflow--icon ); } .dnb-button--tertiary.dnb-button--has-icon.dnb-button--has-text.dnb-button--icon-position-right { --button-tertiary-focus-left: -1rem; --button-tertiary-underline-right: var( --button-tertiary-underline-overflow--icon ); } .dnb-button--tertiary.dnb-button--has-icon:not(.dnb-button--has-text) { --button-tertiary-focus-left: 0; --button-tertiary-focus-right: 0; } html[data-whatinput=keyboard] .dnb-button--tertiary:hover:focus .dnb-button__text::after { visibility: hidden; } .dnb-button { --button-background--focus: var(--sb-color-blue-light-3); --button-border-radius--control-button: 3rem; --button-padding--large: 1.5rem; --button-primary-shadow: var(--sb-shadow-medium); --button-primary-shadow--hover: var(--sb-shadow-medium); --button-primary-color: var(--sb-color-white); --button-primary-color--hover: var(--sb-color-purple-alternative); --button-primary-color--disabled: var(--sb-color-gray-dark-2); --button-primary-background--hover: var(--sb-color-green); --button-primary-background--active: var(--sb-color-purple-alternative); --button-primary-background--disabled: var(--sb-color-gray-light); --button-primary-border--hover: transparent; --button-secondary-color: var(--sb-color-purple-alternative); --button-secondary-color--hover: var(--sb-color-purple-alternative); --button-secondary-color--active: var(--sb-color-purple-alternative); --button-secondary-color--disabled: var(--sb-color-gray-dark); --button-secondary-background: var(--sb-color-white); --button-secondary-background--hover: var(--sb-color-green); --button-secondary-background--active: var(--sb-color-white); --button-secondary-border: var(--button-secondary-border--default); --button-secondary-border--default: var(--sb-color-purple-alternative); --button-secondary-border--hover: var( --button-secondary-border--default ); --button-secondary-border--active: var( --button-secondary-border--default ); --button-secondary-border--disabled: var(--sb-color-gray-light); --button-tertiary-border: var(--sb-color-violet); border: none; } .dnb-button--has-text.dnb-button--size-large { --button-padding-icon: 1rem; } .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before, .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after { box-shadow: none; border: none; } html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover[disabled], html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover[disabled] { cursor: not-allowed; } html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-before:hover:not([disabled]), html:not([data-whatintent=touch]) .dnb-button--secondary:not(.dnb-button--has-text).dnb-button--control-after:hover:not([disabled]) { box-shadow: none; border: none; } .dnb-button--input-button:not(.dnb-button--secondary--has-text)::after { display: none; } .dnb-button--tertiary { --button-tertiary-focus-overflow--icon-top: 0; --button-tertiary-underline-overflow: -0.5rem; --button-tertiary-underline-overflow--icon: calc( (var(--button-icon-gutter) + var(--button-icon-size) - var(--button-tertiary-underline-overflow)) * -1 ); --button-tertiary-underline-bottom: -0.5rem; --button-tertiary-text-bottom--icon: 0.5rem; --button-tertiary-text-top--icon: 0; } .dnb-button--tertiary .dnb-button__text::after { height: 0.0625rem; bottom: var(--button-tertiary-underline-bottom); } .dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top { --button-padding-left: calc( var(--button-tertiary-underline-overflow) * -1 ); --button-padding-right: calc( var(--button-tertiary-underline-overflow) * -1 ); } .dnb-button--tertiary.dnb-button--has-text.dnb-button--icon-position-top .dnb-button__text { margin-top: var(--button-tertiary-text-top--icon); margin-bottom: var(--button-tertiary-text-bottom--icon); font-size: var(--button-font-size); } .dnb-button--tertiary.dnb-button--size-large { --button-tertiary-underline-bottom: -0.75rem; --button-tertiary-underline-overflow: -1.5rem; --button-tertiary-text-bottom--icon: 0.75rem; --button-tertiary-text-top--icon: 0.25rem; }