UNPKG

@studiocms/ui

Version:

The UI library for StudioCMS. Includes the layouts & components we use to build StudioCMS.

293 lines (292 loc) 7.05 kB
.sui-button { display: flex; flex-direction: row; align-items: center; text-align: center; position: relative; gap: 0.5rem; outline: none; border: none; font-weight: 400; border-radius: var(--radius-md); transition: transform 0.15s, background-color 0.15s, border-color 0.15s, color 0.15s; transition-timing-function: ease; cursor: pointer; background-color: var(--default-base); border-color: var(--border); color: var(--text-normal); min-width: fit-content; will-change: transform; text-decoration: none; } .sui-button.disabled { pointer-events: none; opacity: 0.5; } .sui-button.outlined { border-width: 1px; border-style: solid; } .sui-button.outlined:hover { background-color: var(--default-hover); } .sui-button.outlined:active { background-color: var(--default-hover); } .sui-button:hover { background-color: var(--default-hover); } .sui-button:active { background-color: var(--default-active); transform: scale(0.95); } .sui-button.flat { background: var(--default-flat); } .sui-button.flat:hover { background: var(--default-flat-hover); } .sui-button.flat:active { background: var(--default-flat-active); } .sui-button.sm { height: 32px; padding: 0.5rem 0.75rem; font-size: 0.825em; } .sui-button.md { height: 40px; padding: 0.5rem 0.75rem; font-size: 0.875em; } .sui-button.lg { height: 48px; padding: 0.75rem 1rem; font-size: 1em; } .sui-button:focus-visible { outline: 2px solid var(--text-normal); outline-offset: 2px; } .sui-button.primary { background-color: var(--primary-base); border-color: var(--primary-base); color: var(--text-inverted); } .sui-button.primary:hover { background-color: var(--primary-hover); } .sui-button.primary:active { background-color: var(--primary-active); } .sui-button.primary.outlined { background-color: var(--default-base); color: var(--text-normal); } .sui-button.primary.outlined:hover { background-color: var(--default-hover); } .sui-button.primary.outlined:active { background-color: var(--default-active); } .sui-button.primary.flat { background-color: var(--primary-flat); color: hsl(259, 96%, 79%); } .sui-button.primary.flat:hover { background-color: var(--primary-flat-hover); } .sui-button.primary.flat:active { background-color: var(--primary-flat-active); } .sui-button.success { background-color: var(--success-base); border-color: var(--success-base); color: var(--text-dark); } .sui-button.success:hover { background-color: var(--success-hover); } .sui-button.success:active { background-color: var(--success-active); } .sui-button.success.outlined { background-color: var(--default-base); color: var(--text-normal); } .sui-button.success.outlined:hover { background-color: var(--default-hover); } .sui-button.success.outlined:active { background-color: var(--default-active); } .sui-button.success.flat { background-color: var(--success-flat); color: var(--success-base); } .sui-button.success.flat:hover { background-color: var(--success-flat-hover); } .sui-button.success.flat:active { background-color: var(--success-flat-active); } .sui-button.warning { background-color: var(--warning-base); border-color: var(--warning-base); color: var(--text-dark); } .sui-button.warning:hover { background-color: var(--warning-hover); } .sui-button.warning:active { background-color: var(--warning-active); } .sui-button.warning.outlined { background-color: var(--default-base); color: var(--text-normal); } .sui-button.warning.outlined:hover { background-color: var(--default-hover); } .sui-button.warning.outlined:active { background-color: var(--default-active); } .sui-button.warning.flat { background-color: var(--warning-flat); color: var(--warning-base); } .sui-button.warning.flat:hover { background-color: var(--warning-flat-hover); } .sui-button.warning.flat:active { background-color: var(--warning-flat-active); } .sui-button.danger { background-color: var(--danger-base); border-color: var(--danger-base); color: var(--text-light); } .sui-button.danger:hover { background-color: var(--danger-hover); } .sui-button.danger:active { background-color: var(--danger-active); } .sui-button.danger.outlined { background-color: var(--default-base); color: var(--text-normal); } .sui-button.danger.outlined:hover { background-color: var(--default-hover); } .sui-button.danger.outlined:active { background-color: var(--default-active); } .sui-button.danger.flat { background-color: var(--danger-flat); color: hsl(337, 92%, 71%); } .sui-button.danger.flat:hover { background-color: var(--danger-flat-hover); } .sui-button.danger.flat:active { background-color: var(--danger-flat-active); } .sui-button.info { background-color: var(--info-base); border-color: var(--info-base); color: var(--text-light); } .sui-button.info:hover { background-color: var(--info-hover); } .sui-button.info:active { background-color: var(--info-active); } .sui-button.info.outlined { background-color: var(--default-base); color: var(--text-normal); } .sui-button.info.outlined:hover { background-color: var(--default-hover); } .sui-button.info.outlined:active { background-color: var(--default-active); } .sui-button.info.flat { background-color: var(--info-flat); color: var(--info-base); } .sui-button.info.flat:hover { background-color: var(--info-flat-hover); } .sui-button.info.flat:active { background-color: var(--info-flat-active); } .sui-button.mono { background-color: var(--mono-base); border-color: var(--mono-base); color: var(--text-inverted); } .sui-button.mono:hover { background-color: var(--mono-hover); } .sui-button.mono:active { background-color: var(--mono-active); } .sui-button.mono.outlined { background-color: var(--default-base); color: var(--text-normal); } .sui-button.mono.outlined:hover { background-color: var(--default-hover); } .sui-button.mono.outlined:active { background-color: var(--default-active); } .sui-button.mono.flat { background-color: var(--mono-flat); color: var(--mono-base); } .sui-button.mono.flat:hover { background-color: var(--mono-flat-hover); } .sui-button.mono.flat:active { background-color: var(--mono-flat-active); } .sui-button.full { width: 100%; justify-content: center; } [data-theme=light] { .sui-button.primary.flat { color: hsl(259, 84%, 45%); } .sui-button.success.flat { background-color: var(--success-flat); color: hsl(143, 59%, 20%); } .sui-button.success.flat:hover { background-color: var(--success-flat-hover); } .sui-button.success.flat:active { background-color: var(--success-flat-active); } .sui-button.warning.flat { background-color: var(--warning-flat); color: hsl(48, 78%, 20%); } .sui-button.warning.flat:hover { background-color: var(--warning-flat-hover); } .sui-button.warning.flat:active { background-color: var(--warning-flat-active); } .sui-button.danger.flat { color: hsl(339, 97%, 29%); } }