import { DeesElement, property, html, customElement, type TemplateResult, css, cssManager, unsafeCSS, domtools } from '@design.estate/dees-element'; import * as plugins from '../plugins.js'; import { dedocumentSharedStyle } from '../style.js'; declare global { interface HTMLElementTagNameMap { 'dedocument-pageheader': DePageHeader; } } @customElement('dedocument-pageheader') export class DePageHeader extends DeesElement { public static demo = () => html` `; @property({ type: Object, }) public letterData: plugins.tsclass.business.ILetter = null; @property({ type: Object, reflect: true, }) documentSettings: plugins.shared.interfaces.IDocumentSettings; @property({ type: Number, }) public pageNumber: number = 1; @property({ type: Number, }) public pageTotalNumber: number = 1; constructor() { super(); domtools.DomTools.setupDomTools(); } public static styles = [ domtools.elementBasic.staticStyles, dedocumentSharedStyle, css` :host { color: #333; } .topstripe { position: absolute; overflow: hidden; top: 0px; left: 0px; right: 0px; height: 130px; color: #333; text-align: center; border-bottom: 2px solid #00000020; } .topstripe2 { position: absolute; overflow: hidden; top: 130px; left: auto; right: ${unsafeCSS(plugins.shared.rightMargin + 'px')}; height: 20px; line-height: 20px; color: #333; font-size: 10px; } .topstripe .logo { position: absolute; bottom: 10px; height: 25px; left: auto; right: ${unsafeCSS(plugins.shared.rightMargin + 'px')}; font-family: 'Courier New', Courier, monospace; } .topstripe .logo img { position: relative; height: 25px; } `, ]; public render(): TemplateResult { return html`
${this.letterData?.from?.description || '[no letterData.from.description set]'}
`; } }