Improved the alert component styles by adjusting the layout, colors, and typography.

This commit is contained in:
Prad Nukala 2024-07-17 23:09:48 -04:00 committed by Prad Nukala (aider)
parent 7b52e5c5b2
commit d2015df50b

View File

@ -3,85 +3,38 @@ import { css } from 'lit';
export default css`
:host {
display: contents;
/* For better DX, we'll reset the margin here so the base part can inherit it */
margin: 0;
}
.alert {
position: relative;
width: 100%;
display: flex;
align-items: stretch;
background-color: var(--sl-panel-background-color);
border: solid var(--sl-panel-border-width) var(--sl-panel-border-color);
border-top-width: calc(var(--sl-panel-border-width) * 3);
background-color: var(--sl-color-neutral-0);
border: solid var(--sl-panel-border-width) var(--sl-color-neutral-200);
border-radius: var(--sl-border-radius-medium);
font-family: var(--sl-font-sans);
font-size: var(--sl-font-size-small);
font-weight: var(--sl-font-weight-normal);
font-size: var(--sl-font-size-sm);
line-height: 1.6;
color: var(--sl-color-neutral-700);
color: var(--sl-color-neutral-900);
margin: inherit;
}
.alert:not(.alert--has-icon) .alert__icon,
.alert:not(.alert--closable) .alert__close-button {
display: none;
padding: var(--sl-spacing-medium) var(--sl-spacing-large);
}
.alert__icon {
flex: 0 0 auto;
display: flex;
align-items: center;
font-size: var(--sl-font-size-large);
padding-inline-start: var(--sl-spacing-large);
}
.alert--primary {
border-top-color: var(--sl-color-primary-600);
}
.alert--primary .alert__icon {
color: var(--sl-color-primary-600);
}
.alert--success {
border-top-color: var(--sl-color-success-600);
}
.alert--success .alert__icon {
color: var(--sl-color-success-600);
}
.alert--neutral {
border-top-color: var(--sl-color-neutral-600);
}
.alert--neutral .alert__icon {
color: var(--sl-color-neutral-600);
}
.alert--warning {
border-top-color: var(--sl-color-warning-600);
}
.alert--warning .alert__icon {
color: var(--sl-color-warning-600);
}
.alert--danger {
border-top-color: var(--sl-color-danger-600);
}
.alert--danger .alert__icon {
color: var(--sl-color-danger-600);
font-size: var(--sl-font-size-lg);
padding-inline-end: var(--sl-spacing-medium);
}
.alert__message {
flex: 1 1 auto;
display: block;
padding: var(--sl-spacing-large);
overflow: hidden;
padding-inline-start: var(--sl-spacing-small);
}
.alert__close-button {
@ -89,6 +42,58 @@ export default css`
display: flex;
align-items: center;
font-size: var(--sl-font-size-medium);
padding-inline-end: var(--sl-spacing-medium);
padding-inline-start: var(--sl-spacing-medium);
}
/* Variants */
.alert--default {
background-color: var(--sl-color-neutral-0);
border-color: var(--sl-color-neutral-200);
color: var(--sl-color-neutral-900);
}
.alert--danger {
border-color: var(--sl-color-danger-300);
color: var(--sl-color-danger-600);
}
.alert--danger .alert__icon {
color: var(--sl-color-danger-600);
}
/* Title styles */
::slotted([slot='title']) {
margin-bottom: var(--sl-spacing-3x-small);
font-size: var(--sl-font-size-sm);
font-weight: var(--sl-font-weight-semibold);
line-height: 1;
letter-spacing: var(--sl-letter-spacing-tight);
}
/* Description styles */
::slotted(:not([slot='title'])) {
font-size: var(--sl-font-size-sm);
line-height: 1.6;
}
/* Icon positioning */
.alert--has-icon {
padding-inline-start: var(--sl-spacing-large);
}
.alert--has-icon .alert__icon {
position: absolute;
left: var(--sl-spacing-large);
top: var(--sl-spacing-large);
}
.alert--has-icon .alert__message {
padding-inline-start: var(--sl-spacing-2x-large);
}
/* Remove icon and close button when not needed */
.alert:not(.alert--has-icon) .alert__icon,
.alert:not(.alert--closable) .alert__close-button {
display: none;
}
`;