Files
dees-catalog/ts_web/elements/00group-layout/dees-settings/dees-settings.demo.ts

66 lines
2.1 KiB
TypeScript

import { html, css, cssManager } from '@design.estate/dees-element';
import './dees-settings.js';
import type { ISettingsField, ISettingsAction } from './dees-settings.js';
export const demoFunc = () => {
const acmeFields: ISettingsField[] = [
{ key: 'email', label: 'Account email', value: 'admin@example.com' },
{ key: 'status', label: 'Status', value: 'enabled' },
{ key: 'mode', label: 'Mode', value: 'production' },
{ key: 'autoRenew', label: 'Auto-renew', value: 'on' },
{ key: 'threshold', label: 'Renewal threshold', value: '30 days' },
];
const acmeActions: ISettingsAction[] = [
{ name: 'Edit', action: () => console.log('Edit clicked') },
];
const emptyActions: ISettingsAction[] = [
{ name: 'Configure', action: () => console.log('Configure clicked') },
];
const multiActions: ISettingsAction[] = [
{ name: 'Reset', action: () => console.log('Reset clicked') },
{ name: 'Edit', action: () => console.log('Edit clicked') },
];
return html`
<dees-demowrapper>
<style>
${css`
.demoBox {
background: ${cssManager.bdTheme('hsl(0 0% 95%)', 'hsl(0 0% 9%)')};
padding: 40px;
display: flex;
flex-direction: column;
gap: 24px;
max-width: 600px;
}
`}
</style>
<div class="demoBox">
<dees-settings
.heading=${'ACME Settings'}
.settingsFields=${acmeFields}
.actions=${acmeActions}
></dees-settings>
<dees-settings
.heading=${'ACME Settings'}
.description=${'No ACME configuration yet. Click Configure to set up automated TLS certificate issuance.'}
.actions=${emptyActions}
></dees-settings>
<dees-settings
.heading=${'Server Config'}
.settingsFields=${[
{ key: 'host', label: 'Hostname', value: 'proxy.example.com' },
{ key: 'port', label: 'Port', value: '443' },
]}
.actions=${multiActions}
></dees-settings>
</div>
</dees-demowrapper>
`;
};