mirror of
https://github.com/shoelace-style/webawesome.git
synced 2026-01-12 04:09:12 +00:00
266 lines
10 KiB
CSS
266 lines
10 KiB
CSS
@import url('../color/vogue.css');
|
|
@import url('default/color-semantic.css');
|
|
@import url('default/space.css');
|
|
@import url('default/outlines.css');
|
|
@import url('default/typography.css');
|
|
@import url('default/rounding.css');
|
|
@import url('default/shadows.css');
|
|
@import url('default/transitions.css');
|
|
@import url('default/groups.css');
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
|
|
|
|
:root,
|
|
:host,
|
|
.wa-theme-migration,
|
|
.wa-light {
|
|
color-scheme: light;
|
|
color: var(--wa-color-text-normal);
|
|
|
|
/**
|
|
* Foundational Colors
|
|
*/
|
|
--wa-color-text-link: var(--wa-color-indigo-40);
|
|
|
|
--wa-color-shadow: rgb(0 0 0 / 0.05);
|
|
|
|
--wa-color-focus: var(--wa-color-indigo-50);
|
|
|
|
--wa-color-mix-hover: var(--wa-color-gray-80) 20%;
|
|
--wa-color-mix-active: var(--wa-color-gray-80) 10%;
|
|
|
|
/**
|
|
* Semantic Colors
|
|
*/
|
|
--wa-color-brand-fill-quiet: color-mix(in oklab, var(--wa-color-indigo-95) 85%, transparent);
|
|
--wa-color-brand-fill-normal: var(--wa-color-indigo-90);
|
|
--wa-color-brand-fill-loud: var(--wa-color-indigo-40);
|
|
--wa-color-brand-border-quiet: color-mix(in oklab, var(--wa-color-indigo-80), transparent);
|
|
--wa-color-brand-border-normal: color-mix(in oklab, var(--wa-color-indigo-70) 60%, transparent);
|
|
--wa-color-brand-border-loud: color-mix(in oklab, var(--wa-color-indigo-60) 70%, transparent);
|
|
--wa-color-brand-on-quiet: var(--wa-color-indigo-40);
|
|
--wa-color-brand-on-normal: var(--wa-color-indigo-30);
|
|
--wa-color-brand-on-loud: white;
|
|
|
|
--wa-color-success-fill-quiet: color-mix(in oklab, var(--wa-color-green-95) 85%, transparent);
|
|
--wa-color-success-fill-normal: var(--wa-color-green-90);
|
|
--wa-color-success-fill-loud: var(--wa-color-green-50);
|
|
--wa-color-success-border-quiet: color-mix(in oklab, var(--wa-color-green-80), transparent);
|
|
--wa-color-success-border-normal: color-mix(in oklab, var(--wa-color-green-70) 60%, transparent);
|
|
--wa-color-success-border-loud: color-mix(in oklab, var(--wa-color-green-60) 70%, transparent);
|
|
--wa-color-success-on-quiet: var(--wa-color-green-40);
|
|
--wa-color-success-on-normal: var(--wa-color-green-30);
|
|
--wa-color-success-on-loud: white;
|
|
|
|
--wa-color-warning-fill-quiet: color-mix(in oklab, var(--wa-color-yellow-95) 85%, transparent);
|
|
--wa-color-warning-fill-normal: var(--wa-color-yellow-90);
|
|
--wa-color-warning-fill-loud: var(--wa-color-yellow-50);
|
|
--wa-color-warning-border-quiet: color-mix(in oklab, var(--wa-color-yellow-80), transparent);
|
|
--wa-color-warning-border-normal: color-mix(in oklab, var(--wa-color-yellow-70) 60%, transparent);
|
|
--wa-color-warning-border-loud: color-mix(in oklab, var(--wa-color-yellow-60) 70%, transparent);
|
|
--wa-color-warning-on-quiet: var(--wa-color-yellow-40);
|
|
--wa-color-warning-on-normal: var(--wa-color-yellow-30);
|
|
--wa-color-warning-on-loud: white;
|
|
|
|
--wa-color-danger-fill-quiet: color-mix(in oklab, var(--wa-color-red-95) 85%, transparent);
|
|
--wa-color-danger-fill-normal: var(--wa-color-red-90);
|
|
--wa-color-danger-fill-loud: var(--wa-color-red-50);
|
|
--wa-color-danger-border-quiet: color-mix(in oklab, var(--wa-color-red-80), transparent);
|
|
--wa-color-danger-border-normal: color-mix(in oklab, var(--wa-color-red-70) 60%, transparent);
|
|
--wa-color-danger-border-loud: color-mix(in oklab, var(--wa-color-red-60) 70%, transparent);
|
|
--wa-color-danger-on-quiet: var(--wa-color-red-40);
|
|
--wa-color-danger-on-normal: var(--wa-color-red-30);
|
|
--wa-color-danger-on-loud: white;
|
|
|
|
--wa-color-neutral-fill-quiet: color-mix(in oklab, var(--wa-color-gray-95) 85%, transparent);
|
|
--wa-color-neutral-fill-normal: var(--wa-color-gray-90);
|
|
--wa-color-neutral-fill-loud: var(--wa-color-gray-10);
|
|
--wa-color-neutral-border-quiet: color-mix(in oklab, var(--wa-color-gray-80), transparent);
|
|
--wa-color-neutral-border-normal: color-mix(in oklab, var(--wa-color-gray-70) 60%, transparent);
|
|
--wa-color-neutral-border-loud: color-mix(in oklab, var(--wa-color-gray-60) 70%, transparent);
|
|
--wa-color-neutral-on-quiet: var(--wa-color-gray-30);
|
|
--wa-color-neutral-on-normal: var(--wa-color-gray-30);
|
|
--wa-color-neutral-on-loud: white;
|
|
|
|
/**
|
|
* Typography
|
|
*/
|
|
--wa-font-family-body: 'Inter', sans-serif;
|
|
--wa-font-family-heading: var(--wa-font-family-body);
|
|
|
|
--wa-font-weight-light: 300;
|
|
--wa-font-weight-normal: 400;
|
|
--wa-font-weight-semibold: 500;
|
|
--wa-font-weight-bold: 700;
|
|
|
|
--wa-font-size-scale: 0.875;
|
|
|
|
--wa-link-decoration-default: none;
|
|
--wa-link-decoration-hover: none;
|
|
|
|
/**
|
|
* Spacing
|
|
*/
|
|
--wa-space-scale: 0.875;
|
|
|
|
/**
|
|
* Focus
|
|
*/
|
|
--wa-focus-ring-width: 0.125rem;
|
|
--wa-focus-ring-offset: 0;
|
|
|
|
/**
|
|
* Shadows
|
|
*/
|
|
--wa-shadow-offset-y-scale: 0.5;
|
|
--wa-shadow-offset-blur-scale: 0.5;
|
|
--wa-shadow-spread-scale: 0;
|
|
|
|
/**
|
|
* Component Groups
|
|
*/
|
|
--wa-form-control-background-color: color-mix(in oklab, var(--wa-color-surface-raised), transparent);
|
|
--wa-form-control-border-color: var(--wa-color-neutral-border-normal);
|
|
|
|
--wa-form-control-label-font-weight: var(--wa-font-weight-semibold);
|
|
--wa-form-control-label-line-height: var(--wa-line-height-normal);
|
|
}
|
|
|
|
.wa-dark,
|
|
:is(:host-context(.wa-dark)) {
|
|
color-scheme: dark;
|
|
color: var(--wa-color-text-normal);
|
|
|
|
/**
|
|
* Foundational Colors
|
|
*/
|
|
--wa-color-surface-raised: var(--wa-color-gray-10);
|
|
--wa-color-surface-default: var(--wa-color-gray-05);
|
|
--wa-color-surface-lowered: color-mix(in oklab, var(--wa-color-surface-default), black 10%);
|
|
--wa-color-surface-border: rgb(255 255 255 / 0.1);
|
|
|
|
--wa-color-text-normal: white;
|
|
--wa-color-text-quiet: var(--wa-color-gray-60);
|
|
--wa-color-text-link: var(--wa-color-indigo-70);
|
|
|
|
--wa-color-overlay-modal: color-mix(in oklab, black 60%, transparent);
|
|
--wa-color-overlay-inline: color-mix(in oklab, var(--wa-color-gray-50) 10%, transparent);
|
|
|
|
--wa-color-shadow: rgb(0 0 0 / 0.2);
|
|
|
|
--wa-color-focus: var(--wa-color-indigo-60);
|
|
|
|
--wa-color-mix-hover: var(--wa-color-gray-70) 20%;
|
|
--wa-color-mix-active: var(--wa-color-gray-70) 10%;
|
|
|
|
/**
|
|
* Semantic Colors
|
|
*/
|
|
--wa-color-brand-fill-quiet: color-mix(in oklab, var(--wa-color-indigo-10) 90%, transparent);
|
|
--wa-color-brand-fill-normal: var(--wa-color-indigo-20);
|
|
--wa-color-brand-fill-loud: var(--wa-color-indigo-50);
|
|
--wa-color-brand-border-quiet: color-mix(in oklab, var(--wa-color-indigo-20), transparent);
|
|
--wa-color-brand-border-normal: color-mix(in oklab, var(--wa-color-indigo-30), transparent);
|
|
--wa-color-brand-border-loud: color-mix(in oklab, var(--wa-color-indigo-40), transparent);
|
|
--wa-color-brand-on-quiet: var(--wa-color-indigo-60);
|
|
--wa-color-brand-on-normal: var(--wa-color-indigo-70);
|
|
--wa-color-brand-on-loud: white;
|
|
|
|
--wa-color-success-fill-quiet: color-mix(in oklab, var(--wa-color-green-10) 90%, transparent);
|
|
--wa-color-success-fill-normal: var(--wa-color-green-20);
|
|
--wa-color-success-fill-loud: var(--wa-color-green-50);
|
|
--wa-color-success-border-quiet: color-mix(in oklab, var(--wa-color-green-20), transparent);
|
|
--wa-color-success-border-normal: color-mix(in oklab, var(--wa-color-green-30) 60%, transparent);
|
|
--wa-color-success-border-loud: color-mix(in oklab, var(--wa-color-green-40) 70%, transparent);
|
|
--wa-color-success-on-quiet: var(--wa-color-green-60);
|
|
--wa-color-success-on-normal: var(--wa-color-green-70);
|
|
--wa-color-success-on-loud: white;
|
|
|
|
--wa-color-warning-fill-quiet: color-mix(in oklab, var(--wa-color-yellow-10) 90%, transparent);
|
|
--wa-color-warning-fill-normal: var(--wa-color-yellow-20);
|
|
--wa-color-warning-fill-loud: var(--wa-color-yellow-50);
|
|
--wa-color-warning-border-quiet: color-mix(in oklab, var(--wa-color-yellow-20), transparent);
|
|
--wa-color-warning-border-normal: color-mix(in oklab, var(--wa-color-yellow-30) 60%, transparent);
|
|
--wa-color-warning-border-loud: color-mix(in oklab, var(--wa-color-yellow-40) 70%, transparent);
|
|
--wa-color-warning-on-quiet: var(--wa-color-yellow-60);
|
|
--wa-color-warning-on-normal: var(--wa-color-yellow-70);
|
|
--wa-color-warning-on-loud: white;
|
|
|
|
--wa-color-danger-fill-quiet: color-mix(in oklab, var(--wa-color-red-10) 90%, transparent);
|
|
--wa-color-danger-fill-normal: var(--wa-color-red-20);
|
|
--wa-color-danger-fill-loud: var(--wa-color-red-50);
|
|
--wa-color-danger-border-quiet: color-mix(in oklab, var(--wa-color-red-20), transparent);
|
|
--wa-color-danger-border-normal: color-mix(in oklab, var(--wa-color-red-30) 60%, transparent);
|
|
--wa-color-danger-border-loud: color-mix(in oklab, var(--wa-color-red-40) 70%, transparent);
|
|
--wa-color-danger-on-quiet: var(--wa-color-red-60);
|
|
--wa-color-danger-on-normal: var(--wa-color-red-70);
|
|
--wa-color-danger-on-loud: white;
|
|
|
|
--wa-color-neutral-fill-quiet: color-mix(in oklab, var(--wa-color-gray-10) 90%, transparent);
|
|
--wa-color-neutral-fill-normal: var(--wa-color-gray-20);
|
|
--wa-color-neutral-fill-loud: white;
|
|
--wa-color-neutral-border-quiet: color-mix(in oklab, var(--wa-color-gray-20), transparent);
|
|
--wa-color-neutral-border-normal: color-mix(in oklab, var(--wa-color-gray-30) 60%, transparent);
|
|
--wa-color-neutral-border-loud: color-mix(in oklab, var(--wa-color-gray-40) 70%, transparent);
|
|
--wa-color-neutral-on-quiet: var(--wa-color-gray-60);
|
|
--wa-color-neutral-on-normal: var(--wa-color-gray-70);
|
|
--wa-color-neutral-on-loud: var(--wa-color-gray-10);
|
|
}
|
|
|
|
/**
|
|
* Component Styles
|
|
*/
|
|
h1,
|
|
h2,
|
|
h3,
|
|
h4 {
|
|
letter-spacing: calc(1em * -0.03);
|
|
}
|
|
|
|
wa-avatar {
|
|
--background-color: var(--wa-color-neutral-fill-quiet);
|
|
--text-color: var(--wa-color-neutral-on-quiet);
|
|
}
|
|
|
|
a,
|
|
wa-badge,
|
|
wa-tag {
|
|
font-weight: var(--wa-font-weight-semibold);
|
|
}
|
|
|
|
:is(button, input:where([type='button'], [type='reset'], [type='submit']), wa-button, .wa-button):not(
|
|
[appearance='plain'],
|
|
.wa-plain
|
|
) {
|
|
box-shadow: var(--wa-shadow-s);
|
|
}
|
|
|
|
wa-callout {
|
|
border-radius: var(--wa-border-radius-m);
|
|
|
|
&::part(icon) {
|
|
opacity: 0.6;
|
|
}
|
|
}
|
|
|
|
input[type='radio'],
|
|
wa-radio {
|
|
--background-color-checked: var(--wa-form-control-activated-color);
|
|
--checked-icon-color: var(--wa-color-brand-on-loud);
|
|
--checked-icon-scale: 0.4;
|
|
}
|
|
|
|
wa-switch {
|
|
--background-color: var(--wa-color-neutral-fill-normal);
|
|
--border-color: transparent;
|
|
--height: calc(var(--thumb-size) * (18 / 14));
|
|
--thumb-color: white;
|
|
--thumb-color-checked: var(--thumb-color);
|
|
--thumb-size: 1.25em;
|
|
--thumb-shadow: var(--wa-shadow-s);
|
|
--width: calc(var(--thumb-size) * (32 / 14));
|
|
}
|
|
|
|
wa-tab {
|
|
color: var(--wa-color-text-quiet);
|
|
}
|