Rename `Element` => `LayoutElement` in LayoutPane

`Element` clashes with the TypeScript built-in and the bridge generation
gets confused now we have code to tell it that `Element` is a built-in
type.

I will work on a CL that errors when generating these bridges so that
this is spotted.

Change-Id: Ie6cb79bed29803728277233b4eb7ea53a8ff7af8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2362568
Commit-Queue: Jack Franklin <[email protected]>
Reviewed-by: Alex Rudenko <[email protected]>
Auto-Submit: Jack Franklin <[email protected]>
diff --git a/front_end/elements/LayoutPane.ts b/front_end/elements/LayoutPane.ts
index 800a6e8..7208443 100644
--- a/front_end/elements/LayoutPane.ts
+++ b/front_end/elements/LayoutPane.ts
@@ -6,7 +6,7 @@
 import * as ComponentHelpers from '../component_helpers/component_helpers.js';
 import * as LitHtml from '../third_party/lit-html/lit-html.js';
 
-import {BooleanSetting, Element, EnumSetting, Setting, SettingType} from './LayoutPaneUtils.js';
+import {BooleanSetting, EnumSetting, LayoutElement, Setting, SettingType} from './LayoutPaneUtils.js';
 
 const {render, html} = LitHtml;
 const ls = Common.ls;
@@ -55,7 +55,7 @@
 export class LayoutPane extends HTMLElement {
   private readonly shadow = this.attachShadow({mode: 'open'});
   private settings: Readonly<Setting[]> = [];
-  private gridElements: Readonly<Element[]> = [];
+  private gridElements: Readonly<LayoutElement[]> = [];
 
   constructor() {
     super();
@@ -65,7 +65,7 @@
     ];
   }
 
-  set data(data: {settings: Setting[], gridElements: Element[]}) {
+  set data(data: {settings: Setting[], gridElements: LayoutElement[]}) {
     this.settings = data.settings;
     this.gridElements = data.gridElements;
     this.render();
@@ -210,17 +210,17 @@
     this.dispatchEvent(new SettingChangedEvent(setting.name, event.target.value));
   }
 
-  private onElementToggle(element: Element, event: HTMLInputElementEvent) {
+  private onElementToggle(element: LayoutElement, event: HTMLInputElementEvent) {
     event.preventDefault();
     this.dispatchEvent(new OverlayChangedEvent(element.id, event.target.checked));
   }
 
-  private onElementClick(element: Element, event: HTMLInputElementEvent) {
+  private onElementClick(element: LayoutElement, event: HTMLInputElementEvent) {
     event.preventDefault();
     this.dispatchEvent(new ElementClickedEvent(element.id));
   }
 
-  private renderElement(element: Element) {
+  private renderElement(element: LayoutElement) {
     const name = this.buildElementName(element);
     const onElementToggle = this.onElementToggle.bind(this, element);
     const onElementClick = this.onElementClick.bind(this, element);
@@ -234,7 +234,7 @@
   </div>`;
   }
 
-  private buildElementName(element: Element) {
+  private buildElementName(element: LayoutElement) {
     const parts = [element.name];
     if (element.domId) {
       parts.push(`#${CSS.escape(element.domId)}`);
diff --git a/front_end/elements/LayoutPaneUtils.ts b/front_end/elements/LayoutPaneUtils.ts
index 2e1fd15..40fdd7e 100644
--- a/front_end/elements/LayoutPaneUtils.ts
+++ b/front_end/elements/LayoutPaneUtils.ts
@@ -28,7 +28,7 @@
 export type EnumSetting = BaseSetting&{options: EnumSettingOption[], value: string};
 export type Setting = EnumSetting|BooleanSetting;
 
-export interface Element {
+export interface LayoutElement {
   id: number;
   name: string;
   domId?: string;
diff --git a/front_end/elements/LayoutPane_bridge.js b/front_end/elements/LayoutPane_bridge.js
index 6d8a556..b93f22b 100644
--- a/front_end/elements/LayoutPane_bridge.js
+++ b/front_end/elements/LayoutPane_bridge.js
@@ -25,7 +25,7 @@
 * }}
 */
 // @ts-ignore we export this for Closure not TS
-export let Element;
+export let LayoutElement;
 /**
 * @typedef {{
 * name:string,
@@ -75,7 +75,7 @@
 // eslint-disable-next-line no-unused-vars
 export class LayoutPaneClosureInterface extends HTMLElement {
   /**
-  * @param {{settings: !Array.<!Setting>, gridElements: !Array.<!Element>}} data
+  * @param {{settings: !Array.<!Setting>, gridElements: !Array.<!LayoutElement>}} data
   */
   set data(data) {
   }
diff --git a/front_end/elements/LayoutSidebarPane.js b/front_end/elements/LayoutSidebarPane.js
index 49d7085..24bc115 100644
--- a/front_end/elements/LayoutSidebarPane.js
+++ b/front_end/elements/LayoutSidebarPane.js
@@ -10,11 +10,11 @@
 import * as UI from '../ui/ui.js';
 
 import {ElementsPanel} from './ElementsPanel.js';
-import {createLayoutPane, Element} from './LayoutPane_bridge.js';  // eslint-disable-line no-unused-vars
+import {createLayoutPane, LayoutElement} from './LayoutPane_bridge.js';  // eslint-disable-line no-unused-vars
 
 /**
  * @param {!Array<!SDK.DOMModel.DOMNode>} nodes
- * @return {!Array<!Element>}
+ * @return {!Array<!LayoutElement>}
  */
 const gridNodesToElements = nodes => {
   return nodes.map(node => {