UNPKG

vuestic-ui

Version:
229 lines 7.28 kB
:root, :host { /* General */ --va-button-display: inline-flex; --va-button-justify-content: center; --va-button-align-items: center; --va-button-background-image: none; --va-button-box-shadow: none; --va-button-border-width: 0; --va-button-border-color: unset; --va-button-border-style: none; --va-button-font-weight: 600; --va-button-transition: none; --va-button-padding: 0; --va-button-cursor: pointer; /* Small */ --va-button-sm-size: 1.5rem; --va-button-sm-content-py: 0.25rem; --va-button-sm-content-px: 0.375rem; --va-button-sm-only-icon-content-px: 0.25rem; --va-button-sm-font-size: 0.8125rem; --va-button-sm-letter-spacing: 0; --va-button-sm-line-height: 1rem; --va-button-sm-border-radius: 0.125rem; --va-button-sm-icon-side-padding: var(--va-button-sm-content-py); --va-button-sm-icons-spacing: 0.125rem; /* Medium */ --va-button-size: 2.25rem; --va-button-content-py: 0.5rem; --va-button-content-px: 0.75rem; --va-button-only-icon-content-px: 0.5rem; --va-button-font-size: 1rem; --va-button-letter-spacing: 0; --va-button-line-height: 1.25rem; --va-button-border-radius: 0.25rem; --va-button-icon-side-padding: var(--va-button-content-py); --va-button-icons-spacing: 0.25rem; /* Large */ --va-button-lg-size: 3rem; --va-button-lg-content-py: 0.75rem; --va-button-lg-content-px: 1rem; --va-button-lg-only-icon-content-px: 1rem; --va-button-lg-font-size: 1.05rem; --va-button-lg-letter-spacing: 0; --va-button-lg-line-height: 1.5rem; --va-button-lg-border-radius: 0.5rem; --va-button-lg-icon-side-padding: var(--va-button-lg-content-py); --va-button-lg-icons-spacing: 0.25rem; /* Bordered */ --va-button-bordered-border: 1px; --va-button-bordered-style: solid; } .va-button { position: relative; padding: var(--va-button-padding); display: var(--va-button-display); justify-content: var(--va-button-justify-content); align-items: var(--va-button-align-items); border-width: var(--va-button-border-width); border-color: var(--va-button-border-color); border-style: var(--va-button-border-style); background-image: var(--va-button-background-image); box-shadow: var(--va-button-box-shadow); font-family: var(--va-font-family); font-weight: var(--va-button-font-weight); text-decoration: none; text-transform: initial; transition: var(--va-button-transition); box-sizing: border-box; cursor: var(--va-button-cursor); z-index: 0; vertical-align: top; } .va-button::after, .va-button::before { content: ""; position: absolute; width: 100%; height: 100%; border-radius: inherit; left: 0; top: 0; z-index: -1; } .va-button::before { background: var(--va-background-color); opacity: var(--va-background-color-opacity); } .va-button::after { background-color: var(--va-background-mask-color); opacity: var(--va-background-mask-opacity); } .va-button__content { height: 100%; display: flex; align-items: center; z-index: 1; } .va-button__content--loading { opacity: 0; } .va-button--small { line-height: var(--va-button-sm-line-height); border-radius: var(--va-button-sm-border-radius); letter-spacing: var(--va-button-sm-letter-spacing); min-height: var(--va-button-sm-size); min-width: var(--va-button-sm-size); } .va-button--small .va-button__content { font-size: var(--va-button-sm-font-size); padding: var(--va-button-sm-content-py) var(--va-button-sm-content-px); } .va-button--small .va-button__left-icon { margin-right: var(--va-button-sm-icons-spacing); } .va-button--small .va-button__right-icon { margin-left: var(--va-button-sm-icons-spacing); } .va-button--small.va-button--bordered .va-button__content { padding-top: calc(var(--va-button-sm-content-py) - var(--va-button-bordered-border)); padding-bottom: calc(var(--va-button-sm-content-py) - var(--va-button-bordered-border)); } .va-button--small.va-button--left-icon .va-button__content { padding-left: var(--va-button-sm-icon-side-padding); } .va-button--small.va-button--right-icon .va-button__content { padding-right: var(--va-button-sm-icon-side-padding); } .va-button--normal { line-height: var(--va-button-line-height); border-radius: var(--va-button-border-radius); letter-spacing: var(--va-button-letter-spacing); min-height: var(--va-button-size); min-width: var(--va-button-size); } .va-button--normal .va-button__content { font-size: var(--va-button-font-size); padding: var(--va-button-content-py) var(--va-button-content-px); line-height: var(--va-button-line-height); } .va-button--normal .va-button__left-icon { margin-right: var(--va-gap-medium); } .va-button--normal .va-button__right-icon { margin-left: var(--va-gap-medium); } .va-button--normal.va-button--bordered .va-button__content { padding-top: calc(var(--va-button-content-py) - var(--va-button-bordered-border)); padding-bottom: calc(var(--va-button-content-py) - var(--va-button-bordered-border)); } .va-button--large { line-height: var(--va-button-lg-line-height); border-radius: var(--va-button-lg-border-radius); letter-spacing: var(--va-button-lg-letter-spacing); min-height: var(--va-button-lg-size); min-width: var(--va-button-lg-size); } .va-button--large .va-button__content { font-size: var(--va-button-lg-font-size); padding: var(--va-button-lg-content-py) var(--va-button-lg-content-px); } .va-button--large .va-button__left-icon { margin-right: var(--va-button-lg-icons-spacing); } .va-button--large .va-button__right-icon { margin-left: var(--va-button-lg-icons-spacing); } .va-button--large.va-button--bordered .va-button__content { padding-top: calc(var(--va-button-lg-content-py) - var(--va-button-bordered-border)); padding-bottom: calc(var(--va-button-lg-content-py) - var(--va-button-bordered-border)); } .va-button--large.va-button--left-icon .va-button__content { padding-left: var(--va-button-lg-icon-side-padding); } .va-button--large.va-button--right-icon .va-button__content { padding-right: var(--va-button-lg-icon-side-padding); } .va-button--small.va-button--icon-only .va-button__content, .va-button--normal.va-button--icon-only .va-button__content, .va-button--large.va-button--icon-only .va-button__content { padding-right: 0; padding-left: 0; } .va-button--plain { min-width: auto; min-height: auto; } .va-button--plain .va-button__content { padding: 0; z-index: unset; } .va-button--round { border-radius: 999px; } .va-button--bordered { border-width: var(--va-button-bordered-border); border-style: var(--va-button-bordered-style); } .va-button.va-button--disabled { cursor: default; opacity: 0.4; -webkit-user-select: none; -moz-user-select: none; user-select: none; } .va-button--icon-only .va-button__left-icon, .va-button--icon-only .va-button__right-icon { margin-left: 0; margin-right: 0; } .va-button--icon-only .va-button__content { padding: 0; } .va-button:focus-visible { outline: 2px solid var(--va-focus) !important; border-radius: "inherit"; } .va-button--loading { pointer-events: none; } .va-button--block { display: flex; min-width: 100%; } .va-button__loader { position: absolute; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; }