This commit is contained in:
2025-06-29 22:58:33 +00:00
parent 0ad46c1ed5
commit 0f0764564b
9 changed files with 241 additions and 127 deletions

View File

@@ -0,0 +1,89 @@
import { DeesElement, property, html, customElement, type TemplateResult, css, cssManager, unsafeCSS } from '@design.estate/dees-element';
import * as domtools from '@design.estate/dees-domtools';
import { fonts } from '../styles/shared.styles.js';
import { demoFunc } from './upl-statuspage-pagetitle.demo.js';
declare global {
interface HTMLElementTagNameMap {
'upl-statuspage-pagetitle': UplStatuspagePagetitle;
}
}
@customElement('upl-statuspage-pagetitle')
export class UplStatuspagePagetitle extends DeesElement {
public static demo = demoFunc;
@property({ type: String })
public pageTitle: string = 'System Status';
@property({ type: String })
public pageSubtitle: string = '';
@property({ type: Boolean })
public centered: boolean = false;
constructor() {
super();
}
public static styles = [
domtools.elementBasic.staticStyles,
css`
:host {
display: block;
font-family: ${unsafeCSS(fonts.base)};
}
.title-container {
max-width: 1200px;
margin: 0 auto;
padding: 48px 24px 24px 24px;
}
.title-container.centered {
text-align: center;
}
h1 {
font-size: 48px;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.1;
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
margin: 0 0 16px 0;
}
p {
font-size: 20px;
color: ${cssManager.bdTheme('#6b7280', '#a1a1aa')};
margin: 0;
line-height: 1.5;
}
@media (max-width: 640px) {
.title-container {
padding: 32px 16px 20px 16px;
}
h1 {
font-size: 36px;
}
p {
font-size: 18px;
}
}
`
]
public render(): TemplateResult {
return html`
<div class="title-container ${this.centered ? 'centered' : ''}">
<h1>${this.pageTitle}</h1>
${this.pageSubtitle ? html`
<p>${this.pageSubtitle}</p>
` : ''}
</div>
`;
}
}