1 import {Component} from './component';
3 export class CustomCheckbox extends Component {
6 this.container = this.$el;
7 this.checkbox = this.container.querySelector('input[type=checkbox]');
8 this.display = this.container.querySelector('[role="checkbox"]');
10 this.checkbox.addEventListener('change', this.stateChange.bind(this));
11 this.container.addEventListener('keydown', this.onKeyDown.bind(this));
15 const isEnterOrSpace = event.key === ' ' || event.key === 'Enter';
17 event.preventDefault();
23 this.checkbox.checked = !this.checkbox.checked;
24 this.checkbox.dispatchEvent(new Event('change'));
29 const checked = this.checkbox.checked ? 'true' : 'false';
30 this.display.setAttribute('aria-checked', checked);