Merge changes Ifd3c323b,Ia8a19a22 into stable-3.6

* changes:
  Convert gr-repo-access to lit
  Migrate gr-access-section to lit
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts b/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts
index 828996e..fb8f279 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts
@@ -30,7 +30,6 @@
 } from '../../../types/common';
 import {customElement, property, query, state} from 'lit/decorators';
 import {
-  AutocompleteCommitEvent,
   AutocompleteQuery,
   AutocompleteSuggestion,
   GrTypedAutocomplete,
@@ -253,7 +252,7 @@
             .text=${this.branch}
             .query=${this.query}
             placeholder="Destination branch"
-            @commit=${(e: AutocompleteCommitEvent) =>
+            @text-changed=${(e: BindValueChangeEvent) =>
               (this.branch = e.detail.value as BranchName)}
           >
           </gr-autocomplete>
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts b/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts
index 482efd6..9e2b2f6 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-confirm-move-dialog/gr-confirm-move-dialog.ts
@@ -23,6 +23,7 @@
 import '../../shared/gr-dialog/gr-dialog';
 import '@polymer/iron-autogrow-textarea/iron-autogrow-textarea';
 import {addShortcut, Key, Modifier} from '../../../utils/dom-util';
+import {ValueChangedEvent} from '../../../types/events';
 
 const SUGGESTIONS_LIMIT = 15;
 
@@ -125,6 +126,8 @@
           <gr-autocomplete
             id="branchInput"
             .text=${this.branch}
+            @text-changed=${(e: ValueChangedEvent) =>
+              (this.branch = e.detail.value as BranchName)}
             .query=${(text: string) => this.getProjectBranchesSuggestions(text)}
             placeholder="Destination branch"
           >
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-rebase-dialog/gr-confirm-rebase-dialog.ts b/polygerrit-ui/app/elements/change/gr-confirm-rebase-dialog/gr-confirm-rebase-dialog.ts
index 193e136..ae97a1b 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-rebase-dialog/gr-confirm-rebase-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-confirm-rebase-dialog/gr-confirm-rebase-dialog.ts
@@ -26,6 +26,7 @@
 } from '../../shared/gr-autocomplete/gr-autocomplete';
 import {getAppContext} from '../../../services/app-context';
 import {sharedStyles} from '../../../styles/shared-styles';
+import {ValueChangedEvent} from '../../../types/events';
 
 export interface RebaseChange {
   name: string;
@@ -201,6 +202,8 @@
               .query=${this.query}
               no-debounce
               text=${this.text}
+              @text-changed=${(e: ValueChangedEvent) =>
+                (this.text = e.detail.value)}
               @click=${this.handleEnterChangeNumberClick}
               allow-non-suggested-values
               placeholder="Change number, ref, or commit hash"
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
index f1a4b27..896787d 100644
--- a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
+++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
@@ -906,7 +906,7 @@
     this.mapRoute(
       RoutePattern.PROJECT_DASHBOARD,
       'handleProjectDashboardRoute',
-      this.handleProjectDashboardRoute
+      this.handleProjectDashboardRoute.bind(this)
     );
 
     this.mapRoute(
diff --git a/polygerrit-ui/app/elements/shared/gr-textarea/gr-textarea.ts b/polygerrit-ui/app/elements/shared/gr-textarea/gr-textarea.ts
index 61dfa21..60aa092 100644
--- a/polygerrit-ui/app/elements/shared/gr-textarea/gr-textarea.ts
+++ b/polygerrit-ui/app/elements/shared/gr-textarea/gr-textarea.ts
@@ -32,6 +32,7 @@
 } from '../gr-autocomplete-dropdown/gr-autocomplete-dropdown';
 import {addShortcut, Key} from '../../../utils/dom-util';
 import {BindValueChangeEvent} from '../../../types/events';
+import {fire} from '../../../utils/event-util';
 
 const MAX_ITEMS_DROPDOWN = 10;
 
@@ -319,14 +320,7 @@
    */
   _onValueChanged(e: BindValueChangeEvent) {
     // Relay the event.
-    this.dispatchEvent(
-      new CustomEvent('bind-value-changed', {
-        detail: e,
-        composed: true,
-        bubbles: true,
-      })
-    );
-
+    fire(this, 'bind-value-changed', {value: e.detail.value});
     // If cursor is not in textarea (just opened with colon as last char),
     // Don't do anything.
     if (