70 lines
1.5 KiB
TypeScript
70 lines
1.5 KiB
TypeScript
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>
|
|
`;
|
|
}
|
|
}
|