UNPKG

@studiocms/ui

Version:

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

293 lines (292 loc) 7.56 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: hsl(var(--default-base)); border-color: hsl(var(--border)); color: hsl(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: hsl(var(--default-hover)); } .sui-button.outlined:active { background-color: hsl(var(--default-hover)); } .sui-button:hover { background-color: hsl(var(--default-hover)); } .sui-button:active { background-color: hsl(var(--default-active)); transform: scale(0.95); } .sui-button.flat { background: hsla(var(--default-flat)); } .sui-button.flat:hover { background: hsla(var(--default-flat-hover)); } .sui-button.flat:active { background: hsla(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 hsl(var(--text-normal)); outline-offset: 2px; } .sui-button.primary { background-color: hsl(var(--primary-base)); border-color: hsl(var(--primary-base)); color: hsl(var(--text-inverted)); } .sui-button.primary:hover { background-color: hsl(var(--primary-hover)); } .sui-button.primary:active { background-color: hsl(var(--primary-active)); } .sui-button.primary.outlined { background-color: hsl(var(--default-base)); color: hsl(var(--text-normal)); } .sui-button.primary.outlined:hover { background-color: hsl(var(--default-hover)); } .sui-button.primary.outlined:active { background-color: hsl(var(--default-active)); } .sui-button.primary.flat { background-color: hsla(var(--primary-flat)); color: hsl(259, 96%, 79%); } .sui-button.primary.flat:hover { background-color: hsla(var(--primary-flat-hover)); } .sui-button.primary.flat:active { background-color: hsla(var(--primary-flat-active)); } .sui-button.success { background-color: hsl(var(--success-base)); border-color: hsl(var(--success-base)); color: hsl(var(--text-dark)); } .sui-button.success:hover { background-color: hsl(var(--success-hover)); } .sui-button.success:active { background-color: hsl(var(--success-active)); } .sui-button.success.outlined { background-color: hsl(var(--default-base)); color: hsl(var(--text-normal)); } .sui-button.success.outlined:hover { background-color: hsl(var(--default-hover)); } .sui-button.success.outlined:active { background-color: hsl(var(--default-active)); } .sui-button.success.flat { background-color: hsla(var(--success-flat)); color: hsl(var(--success-base)); } .sui-button.success.flat:hover { background-color: hsla(var(--success-flat-hover)); } .sui-button.success.flat:active { background-color: hsla(var(--success-flat-active)); } .sui-button.warning { background-color: hsl(var(--warning-base)); border-color: hsl(var(--warning-base)); color: hsl(var(--text-dark)); } .sui-button.warning:hover { background-color: hsl(var(--warning-hover)); } .sui-button.warning:active { background-color: hsl(var(--warning-active)); } .sui-button.warning.outlined { background-color: hsl(var(--default-base)); color: hsl(var(--text-normal)); } .sui-button.warning.outlined:hover { background-color: hsl(var(--default-hover)); } .sui-button.warning.outlined:active { background-color: hsl(var(--default-active)); } .sui-button.warning.flat { background-color: hsla(var(--warning-flat)); color: hsl(var(--warning-base)); } .sui-button.warning.flat:hover { background-color: hsla(var(--warning-flat-hover)); } .sui-button.warning.flat:active { background-color: hsla(var(--warning-flat-active)); } .sui-button.danger { background-color: hsl(var(--danger-base)); border-color: hsl(var(--danger-base)); color: hsl(var(--text-light)); } .sui-button.danger:hover { background-color: hsl(var(--danger-hover)); } .sui-button.danger:active { background-color: hsl(var(--danger-active)); } .sui-button.danger.outlined { background-color: hsl(var(--default-base)); color: hsl(var(--text-normal)); } .sui-button.danger.outlined:hover { background-color: hsl(var(--default-hover)); } .sui-button.danger.outlined:active { background-color: hsl(var(--default-active)); } .sui-button.danger.flat { background-color: hsla(var(--danger-flat)); color: hsl(337, 92%, 71%); } .sui-button.danger.flat:hover { background-color: hsla(var(--danger-flat-hover)); } .sui-button.danger.flat:active { background-color: hsla(var(--danger-flat-active)); } .sui-button.info { background-color: hsl(var(--info-base)); border-color: hsl(var(--info-base)); color: hsl(var(--text-light)); } .sui-button.info:hover { background-color: hsl(var(--info-hover)); } .sui-button.info:active { background-color: hsl(var(--info-active)); } .sui-button.info.outlined { background-color: hsl(var(--default-base)); color: hsl(var(--text-normal)); } .sui-button.info.outlined:hover { background-color: hsl(var(--default-hover)); } .sui-button.info.outlined:active { background-color: hsl(var(--default-active)); } .sui-button.info.flat { background-color: hsla(var(--info-flat)); color: hsl(var(--info-base)); } .sui-button.info.flat:hover { background-color: hsla(var(--info-flat-hover)); } .sui-button.info.flat:active { background-color: hsla(var(--info-flat-active)); } .sui-button.mono { background-color: hsl(var(--mono-base)); border-color: hsl(var(--mono-base)); color: hsl(var(--text-inverted)); } .sui-button.mono:hover { background-color: hsl(var(--mono-hover)); } .sui-button.mono:active { background-color: hsl(var(--mono-active)); } .sui-button.mono.outlined { background-color: hsl(var(--default-base)); color: hsl(var(--text-normal)); } .sui-button.mono.outlined:hover { background-color: hsl(var(--default-hover)); } .sui-button.mono.outlined:active { background-color: hsl(var(--default-active)); } .sui-button.mono.flat { background-color: hsla(var(--mono-flat)); color: hsl(var(--mono-base)); } .sui-button.mono.flat:hover { background-color: hsla(var(--mono-flat-hover)); } .sui-button.mono.flat:active { background-color: hsla(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: hsla(var(--success-base) / 0.2); color: hsl(143, 59%, 20%); } .sui-button.success.flat:hover { background-color: hsla(var(--success-flat-hover)); } .sui-button.success.flat:active { background-color: hsla(var(--success-flat-active)); } .sui-button.warning.flat { background-color: hsla(var(--warning-base) / 0.2); color: hsl(48, 78%, 20%); } .sui-button.warning.flat:hover { background-color: hsla(var(--warning-base) / 0.25); } .sui-button.warning.flat:active { background-color: hsla(var(--warning-base) / 0.4); } .sui-button.danger.flat { color: hsl(339, 97%, 29%); } }