chrome-devtools-frontend
Version:
Chrome DevTools UI
39 lines (32 loc) • 1.45 kB
text/typescript
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {Switch} from './switch.js';
export function render(container: HTMLElement) {
function switchExample({checked, disabled}: {checked: boolean, disabled: boolean}): HTMLElement {
const example = document.createElement('div');
example.style.marginTop = '20px';
const explanation = document.createElement('div');
const disabledExplanation = document.createElement('div');
const component = new Switch.Switch();
component.checked = checked;
component.disabled = disabled;
explanation.textContent = `is checked? ${component.checked}`;
disabledExplanation.textContent = `is disabled? ${component.disabled}`;
component.addEventListener(Switch.SwitchChangeEvent.eventName, ev => {
explanation.textContent = `is checked? ${ev.checked}`;
});
example.appendChild(component);
example.appendChild(explanation);
example.appendChild(disabledExplanation);
return example;
}
// Basic
container.appendChild(switchExample({checked: false, disabled: false}));
// Already checked
container.appendChild(switchExample({checked: true, disabled: false}));
// Disabled
container.appendChild(switchExample({checked: false, disabled: true}));
// Disabled & checked
container.appendChild(switchExample({checked: true, disabled: true}));
}