import { DeesElement, property, state, html, customElement, type TemplateResult, css, cssManager, } from '@design.estate/dees-element'; import { ExtendedDate } from '@push.rocks/smarttime'; import * as belliniApi from '@bellini/api'; import '@design.estate/dees-catalog'; import * as helpers from '../helpers/index.js'; @customElement('bellini-articlelist') export class BelliniArticlelist extends DeesElement { // STATIC public static demo = () => html``; // INSTANCE @property({ type: Array }) articles: belliniApi.IBelliniClientState['articles'] = []; constructor() { super(); } public static styles = [ cssManager.defaultStyles, css` :host { color: #fff; } #main { position: relative; padding-bottom: 20px; transition: opacity 0.2s; opacity: 1; } #main.hidden { opacity: 0; } .articleRow { border-top: 1px solid ${cssManager.bdTheme('#ffffff', ' #444444')}; position: relative; z-index: 0; height: 230px; background: ${cssManager.bdTheme('#ffffff', '#212121')}; border-radius: 3px; margin-bottom: 15px; box-shadow: 0px 0px 5px ${cssManager.bdTheme('rgba(0, 0, 0, 0.2)', 'rgba(0, 0, 0, 0.5)')}; overflow: hidden; display: grid; grid-template-columns: calc(100% / 3) calc(100% / 3) calc(100% / 3); } a { color: ${cssManager.bdTheme('#333333', '#fafafa')}; text-decoration: none; } .articleRow .articleImage { height: inherit; } .articleRow .articleImage::after { box-shadow: inset 0px 0px 100px ${cssManager.bdTheme('rgba(0, 0, 0, 0.5)', 'rgba(0, 0, 0, 0.8)')}; } .articleRow .articleImage img { width: calc(100% - 10px); height: calc(100% - 10px); margin: 5px; border-radius: 3px; object-fit: cover; } .articleRow .articleTitle, .articleRow .articleDescription { z-index: 1; position: relative; padding: 10px; } .articleRow .articleTitle { padding: 15px 20px; } .articleRow .articleTitle h1 { margin: 0px; font-family: "Roboto Slab"; font-size: 25px; font-weight: 400; border-radius: 3px; } .articleRow .articleTitle h2 { margin: 0px; margin-top: 10px; font-family: 'Roboto Slab'; font-size: 18px; font-weight: 300; color: ${cssManager.bdTheme('#444', '#CCC')}; padding-left: 10px; border-left: 5px dotted ${cssManager.bdTheme('#00000020', '#ffffff20')}; } .articleRow .articleDescription { padding: 20px; } ${cssManager.cssForTablet(css` .articleRow { display: grid; grid-template-columns: calc(100% / 3) calc(100% / 3 * 2); } .articleRow .articleTitle { padding: 20px; grid-row: 1; grid-column: 2; } .articleRow .articleTitle h1 { font-size: 22px; } .articleRow .articleTitle h2 { font-size: 18px; } .articleRow .articleDescription { display: none; } `)} ${cssManager.cssForPhablet(css` .articleRow { height: 120px; } .articleRow .articleTitle { padding: 10px; } .articleRow .articleTitle h1 { font-size: 16px; } .articleRow .articleTitle h2 { font-size: 12px; } `)} ${cssManager.cssForPhone(css` .articleRow { height: 160px; } .articleRow .articleTitle { padding: 10px; } .articleRow .articleTitle h1 { font-size: 16px; } .articleRow .articleTitle h2 { font-size: 12px; } `)} `, ]; public render(): TemplateResult { return html`