113 lines
3.6 KiB
TypeScript
113 lines
3.6 KiB
TypeScript
import { html, cssManager } from '@design.estate/dees-element';
|
|
|
|
export const demoFunc = () => html`
|
|
<style>
|
|
.demoContainer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 32px;
|
|
padding: 48px;
|
|
background: ${cssManager.bdTheme('#f8f9fa', '#0a0a0a')};
|
|
min-height: 100vh;
|
|
}
|
|
|
|
.section {
|
|
background: ${cssManager.bdTheme('#ffffff', '#18181b')};
|
|
border: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
|
|
border-radius: 8px;
|
|
padding: 24px;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
margin-bottom: 16px;
|
|
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
|
|
}
|
|
|
|
.section-description {
|
|
font-size: 14px;
|
|
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
|
|
margin-bottom: 16px;
|
|
}
|
|
</style>
|
|
<div class="demoContainer">
|
|
<div class="section">
|
|
<div class="section-title">Non-Selectable Chips</div>
|
|
<div class="section-description">Basic chips without selection capability. Use for display-only tags.</div>
|
|
<dees-chips
|
|
selectionMode="none"
|
|
.selectableChips=${[
|
|
{ key: 'status', value: 'Active' },
|
|
{ key: 'tier', value: 'Premium' },
|
|
{ key: 'region', value: 'EU-West' },
|
|
{ key: 'type', value: 'Enterprise' },
|
|
]}
|
|
></dees-chips>
|
|
</div>
|
|
|
|
<div class="section">
|
|
<div class="section-title">Single Selection Chips</div>
|
|
<div class="section-description">Click to select one chip at a time. Useful for filters and options.</div>
|
|
<dees-chips
|
|
selectionMode="single"
|
|
.selectableChips=${[
|
|
{ key: 'all', value: 'All Projects' },
|
|
{ key: 'active', value: 'Active' },
|
|
{ key: 'archived', value: 'Archived' },
|
|
{ key: 'drafts', value: 'Drafts' },
|
|
]}
|
|
></dees-chips>
|
|
</div>
|
|
|
|
<div class="section">
|
|
<div class="section-title">Multiple Selection Chips</div>
|
|
<div class="section-description">Select multiple chips simultaneously. Great for tag selection.</div>
|
|
<dees-chips
|
|
selectionMode="multiple"
|
|
.selectableChips=${[
|
|
{ key: 'js', value: 'JavaScript' },
|
|
{ key: 'ts', value: 'TypeScript' },
|
|
{ key: 'react', value: 'React' },
|
|
{ key: 'vue', value: 'Vue' },
|
|
{ key: 'angular', value: 'Angular' },
|
|
{ key: 'node', value: 'Node.js' },
|
|
]}
|
|
></dees-chips>
|
|
</div>
|
|
|
|
<div class="section">
|
|
<div class="section-title">Removable Chips with Keys</div>
|
|
<div class="section-description">Chips with remove buttons and key-value pairs. Perfect for dynamic lists.</div>
|
|
<dees-chips
|
|
selectionMode="single"
|
|
chipsAreRemovable
|
|
.selectableChips=${[
|
|
{ key: 'env', value: 'Production' },
|
|
{ key: 'version', value: '2.4.1' },
|
|
{ key: 'branch', value: 'main' },
|
|
{ key: 'author', value: 'John Doe' },
|
|
]}
|
|
></dees-chips>
|
|
</div>
|
|
|
|
<div class="section">
|
|
<div class="section-title">Mixed Content Example</div>
|
|
<div class="section-description">Combining different chip types for complex UIs.</div>
|
|
<dees-chips
|
|
selectionMode="multiple"
|
|
chipsAreRemovable
|
|
.selectableChips=${[
|
|
{ key: 'priority', value: 'High' },
|
|
{ key: 'status', value: 'In Progress' },
|
|
{ key: 'bug', value: 'Bug' },
|
|
{ key: 'feature', value: 'Feature' },
|
|
{ key: 'sprint', value: 'Sprint 23' },
|
|
{ key: 'assignee', value: 'Alice' },
|
|
]}
|
|
></dees-chips>
|
|
</div>
|
|
</div>
|
|
`;
|