Project import generated by Copybara.
GitOrigin-RevId: d9e9e3fb4e31372ec1fb43b178994ca78fa8fe70
diff --git a/static_src/elements/framework/mr-dropdown/mr-account-dropdown.js b/static_src/elements/framework/mr-dropdown/mr-account-dropdown.js
new file mode 100644
index 0000000..264b976
--- /dev/null
+++ b/static_src/elements/framework/mr-dropdown/mr-account-dropdown.js
@@ -0,0 +1,63 @@
+// Copyright 2019 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.
+
+import {LitElement, html, css} from 'lit-element';
+
+import './mr-dropdown.js';
+
+/**
+ * `<mr-account-dropdown>`
+ *
+ * Account dropdown menu for Monorail.
+ *
+ */
+export class MrAccountDropdown extends LitElement {
+ /** @override */
+ static get styles() {
+ return css`
+ :host {
+ position: relative;
+ display: inline-block;
+ height: 100%;
+ font-size: inherit;
+ }
+ `;
+ }
+
+ /** @override */
+ render() {
+ return html`
+ <mr-dropdown
+ .text=${this.userDisplayName}
+ .items=${this.items}
+ .icon="arrow_drop_down"
+ ></mr-dropdown>
+ `;
+ }
+
+ /** @override */
+ static get properties() {
+ return {
+ userDisplayName: String,
+ logoutUrl: String,
+ loginUrl: String,
+ };
+ }
+
+ get items() {
+ return [
+ {text: 'Switch accounts', url: this.loginUrl},
+ {separator: true},
+ {text: 'Profile', url: `/u/${this.userDisplayName}`},
+ {text: 'Updates', url: `/u/${this.userDisplayName}/updates`},
+ {text: 'Settings', url: '/hosting/settings'},
+ {text: 'Saved queries', url: `/u/${this.userDisplayName}/queries`},
+ {text: 'Hotlists', url: `/u/${this.userDisplayName}/hotlists`},
+ {separator: true},
+ {text: 'Sign out', url: this.logoutUrl},
+ ];
+ }
+}
+
+customElements.define('mr-account-dropdown', MrAccountDropdown);