import { html, DeesElement, customElement, css, cssManager } from '@design.estate/dees-element'; import type { IView } from './dees-simple-appdash.js'; import './dees-form.js'; import './dees-input-text.js'; import './dees-input-checkbox.js'; import './dees-input-dropdown.js'; import './dees-input-radio.js'; import './dees-form-submit.js'; import './dees-statsgrid.js'; import type { IStatsTile } from './dees-statsgrid.js'; // Create demo view components @customElement('demo-view-dashboard') class DemoViewDashboard extends DeesElement { static styles = [ cssManager.defaultStyles, css` :host { display: block; padding: 40px; } h1 { margin: 0 0 20px 0; color: ${cssManager.bdTheme('#000', '#fff')}; } dees-statsgrid { margin-top: 20px; } ` ]; private statsTiles: IStatsTile[] = [ { id: 'users', title: 'Active Users', value: 1234, type: 'number', icon: 'faUsers', description: '+15% from last week', color: '#22c55e' }, { id: 'pageviews', title: 'Page Views', value: 56700, type: 'number', icon: 'faEye', description: '56.7k total views', color: '#3b82f6' }, { id: 'uptime', title: 'System Uptime', value: 89, unit: '%', type: 'gauge', icon: 'faServer', description: 'Last 30 days', color: '#10b981', gaugeOptions: { min: 0, max: 100, thresholds: [ { value: 80, color: '#ef4444' }, { value: 90, color: '#f59e0b' }, { value: 100, color: '#10b981' } ] } }, { id: 'response', title: 'Avg Response Time', value: 3.2, unit: 's', type: 'number', icon: 'faClock', description: '-0.5s improvement', color: '#f59e0b' }, { id: 'revenue', title: 'Monthly Revenue', value: 48520, unit: '$', type: 'trend', icon: 'faDollarSign', description: '+8.2% growth', color: '#22c55e', trendData: [35000, 38000, 37500, 41000, 39800, 42000, 44100, 43200, 45600, 47100, 46800, 48520] }, { id: 'traffic', title: 'Traffic Trend', value: 1680, type: 'trend', icon: 'faChartLine', description: 'Last 7 days', color: '#3b82f6', trendData: [1200, 1350, 1100, 1450, 1600, 1550, 1680] } ]; render() { return html`
Welcome to your application dashboard. Here's an overview of your metrics:
This is the analytics view. You can add charts and metrics here.
`; } } @customElement('demo-view-settings') class DemoViewSettings extends DeesElement { static styles = [ cssManager.defaultStyles, css` :host { display: block; padding: 40px; } h1 { margin: 0 0 20px 0; color: ${cssManager.bdTheme('#000', '#fff')}; } .settings-section { margin-top: 30px; } .settings-section h2 { font-size: 18px; margin: 0 0 15px 0; color: ${cssManager.bdTheme('#333', '#ccc')}; } .horizontal-form-section { background: ${cssManager.bdTheme('#f5f5f5', '#1a1a1a')}; padding: 20px; border-radius: 8px; margin: 15px 0; } ` ]; render() { return html`Configure your application settings below:
Quick display settings using horizontal layout: