+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hide page size
+ Show multiple page size options
+ Show first/last buttons
+
+
+
+
+
+ Output event: {{pageEvent | json}}
+
diff --git a/src/demo-app/paginator/paginator-demo.scss b/src/demo-app/paginator/paginator-demo.scss
new file mode 100644
index 000000000000..01e52aa28fa5
--- /dev/null
+++ b/src/demo-app/paginator/paginator-demo.scss
@@ -0,0 +1,15 @@
+.demo-section {
+ max-width: 500px;
+ margin-bottom: 24px;
+ background: #efefef !important;
+
+ & > * {
+ margin: 32px 0;
+ }
+}
+
+.demo-options {
+ display: flex;
+ flex-direction: column;
+ max-width: 300px;
+}
diff --git a/src/demo-app/paginator/paginator-demo.ts b/src/demo-app/paginator/paginator-demo.ts
new file mode 100644
index 000000000000..c5a38a8410ba
--- /dev/null
+++ b/src/demo-app/paginator/paginator-demo.ts
@@ -0,0 +1,37 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+
+import {Component, ViewEncapsulation} from '@angular/core';
+import {PageEvent} from '@angular/material';
+
+@Component({
+ moduleId: module.id,
+ selector: 'paginator-demo',
+ templateUrl: 'paginator-demo.html',
+ styleUrls: ['paginator-demo.css'],
+ encapsulation: ViewEncapsulation.None,
+})
+export class PaginatorDemo {
+ length = 50;
+ pageSize = 10;
+ pageIndex = 0;
+ pageSizeOptions = [5, 10, 25];
+
+ hidePageSize = false;
+ showPageSizeOptions = true;
+ showFirstLastButtons = true;
+
+ pageEvent: PageEvent;
+
+ handlePageEvent(e: PageEvent) {
+ this.pageEvent = e;
+ this.length = e.length;
+ this.pageSize = e.pageSize;
+ this.pageIndex = e.pageIndex;
+ }
+}