dees-catalog/ts_web/elements/dees-input-multiselect.ts

70 lines
1.5 KiB
TypeScript
Raw Normal View History

2024-01-09 12:57:53 +00:00
import {
customElement,
DeesElement,
type TemplateResult,
state,
html,
domtools,
property,
css,
cssManager,
} from '@design.estate/dees-element';
const { demoFunc } = await import('./dees-input-multiselect.demo.js');
@customElement('dees-input-multiselect')
export class DeesInputMultiselect extends DeesElement {
public static demo = demoFunc;
constructor() {
super();
}
public static styles = [
cssManager.defaultStyles,
css`
:host {
color: ${cssManager.bdTheme('#333', '#fff')}
}
.label {
font-size: 14px;
margin-bottom: 4px;
}
.mainbox {
border-radius: 3px;
background: #222;
overflow: hidden;
border-top: ${cssManager.bdTheme('1px solid #CCC', '1px solid #444')};
border-bottom: ${cssManager.bdTheme('1px solid #CCC', '1px solid #333')};
border-right: ${cssManager.bdTheme('1px solid #CCC', 'none')};
border-left: ${cssManager.bdTheme('1px solid #CCC', 'none')};
}
.selections {
padding: 8px;
}
input {
background: #181818;
width: 100%;
outline: none;
border: none;
color: inherit;
padding: 8px;
}
`,
];
public render(): TemplateResult {
return html`
<div class="label">MultiSelect</div>
<div class="mainbox">
<div class="selections">
Nothing selected...
</div>
<input type="text" placeholder="Type to select" />
</div>
`;
}
}