vaadin-lumo-stylespackage.typography.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of vaadin-webcomponents Show documentation
Show all versions of vaadin-webcomponents Show documentation
Mvnpm composite: Vaadin webcomponents
The newest version!
/**
* @license
* Copyright (c) 2017 - 2024 Vaadin Ltd.
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
*/
import './version.js';
import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
import { addLumoGlobalStyles } from './global.js';
const font = css`
:host {
/* prettier-ignore */
--lumo-font-family: -apple-system, BlinkMacSystemFont, 'Roboto', 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
/* Font sizes */
--lumo-font-size-xxs: 0.75rem;
--lumo-font-size-xs: 0.8125rem;
--lumo-font-size-s: 0.875rem;
--lumo-font-size-m: 1rem;
--lumo-font-size-l: 1.125rem;
--lumo-font-size-xl: 1.375rem;
--lumo-font-size-xxl: 1.75rem;
--lumo-font-size-xxxl: 2.5rem;
/* Line heights */
--lumo-line-height-xs: 1.25;
--lumo-line-height-s: 1.375;
--lumo-line-height-m: 1.625;
}
`;
const typography = css`
body,
:host {
font-family: var(--lumo-font-family);
font-size: var(--lumo-font-size-m);
line-height: var(--lumo-line-height-m);
-webkit-text-size-adjust: 100%;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
small,
[theme~='font-size-s'] {
font-size: var(--lumo-font-size-s);
line-height: var(--lumo-line-height-s);
}
[theme~='font-size-xs'] {
font-size: var(--lumo-font-size-xs);
line-height: var(--lumo-line-height-xs);
}
:where(h1, h2, h3, h4, h5, h6) {
font-weight: 600;
line-height: var(--lumo-line-height-xs);
margin-block: 0;
}
:where(h1) {
font-size: var(--lumo-font-size-xxxl);
}
:where(h2) {
font-size: var(--lumo-font-size-xxl);
}
:where(h3) {
font-size: var(--lumo-font-size-xl);
}
:where(h4) {
font-size: var(--lumo-font-size-l);
}
:where(h5) {
font-size: var(--lumo-font-size-m);
}
:where(h6) {
font-size: var(--lumo-font-size-xs);
text-transform: uppercase;
letter-spacing: 0.03em;
}
p,
blockquote {
margin-top: 0.5em;
margin-bottom: 0.75em;
}
a {
text-decoration: none;
}
a:where(:any-link):hover {
text-decoration: underline;
}
hr {
display: block;
align-self: stretch;
height: 1px;
border: 0;
padding: 0;
margin: var(--lumo-space-s) calc(var(--lumo-border-radius-m) / 2);
background-color: var(--lumo-contrast-10pct);
}
blockquote {
border-left: 2px solid var(--lumo-contrast-30pct);
}
b,
strong {
font-weight: 600;
}
/* RTL specific styles */
blockquote[dir='rtl'] {
border-left: none;
border-right: 2px solid var(--lumo-contrast-30pct);
}
`;
registerStyles('', typography, { moduleId: 'lumo-typography' });
addLumoGlobalStyles('typography-props', font);
export { font, typography };