| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| export default class SegmentedButton extends UI.HBox { |
| /** @type {!Map<string, !Element>} */ |
| this._buttons = new Map(); |
| this.registerRequiredCSS('ui/segmentedButton.css'); |
| this.contentElement.classList.add('segmented-button'); |
| * @param {string=} tooltip |
| addSegment(label, value, tooltip) { |
| const button = this.contentElement.createChild('button', 'segmented-button-segment'); |
| button.textContent = label; |
| this._buttons.set(value, button); |
| button.addEventListener('click', () => this.select(value)); |
| if (this._selected === value) { |
| for (const key of this._buttons.keys()) { |
| this._buttons.get(key).classList.toggle('segmented-button-segment-selected', key === this._selected); |
| /* Legacy exported object*/ |
| /* Legacy exported object*/ |