{"__symbolic":"module","version":4,"metadata":{"TsPaginatorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/flex-layout","name":"FlexLayoutModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":23,"character":4},{"__symbolic":"reference","module":"@terminus/ui/button","name":"TsButtonModule","line":24,"character":4},{"__symbolic":"reference","module":"@terminus/ui/menu","name":"TsMenuModule","line":25,"character":4},{"__symbolic":"reference","module":"@terminus/ui/option","name":"TsOptionModule","line":26,"character":4},{"__symbolic":"reference","module":"@terminus/ui/selection-list","name":"TsSelectionListModule","line":27,"character":4},{"__symbolic":"reference","module":"@terminus/ui/tooltip","name":"TsTooltipModule","line":28,"character":4}],"exports":[{"__symbolic":"reference","name":"TsPaginatorComponent"}],"declarations":[{"__symbolic":"reference","name":"TsPaginatorComponent"}]}]}],"members":{}},"TsPaginatorMenuItem":{"__symbolic":"interface"},"TsPaginatorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":84,"character":1},"arguments":[{"selector":"ts-paginator","host":{"class":"ts-paginator"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":89,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":90,"character":17},"member":"None"},"exportAs":"tsPaginator","template":"<div\n  class=\"c-paginator qa-paginator\"\n  [class.c-paginator--simple-mode]=\"isSimpleMode\"\n>\n\n<div fxLayout=\"row\" fxLayoutAlign=\"start start\">\n    <ts-selection-list\n      class=\"qa-paginator-per-page-select\"\n      *ngIf=\"recordsPerPageChoices && showRecordsPerPageSelector\"\n      [label]=\"recordsSelectLabel\"\n      [isDisabled]=\"disableRecordsPerPage(totalRecords, recordsPerPageChoices)\"\n      [noValidationOrHint]=\"true\"\n      [formControl]=\"pageControl\"\n      [allowUserInput]=\"allowUserInput\"\n      (selectionChange)=\"recordsPerPageUpdated($event)\"\n    >\n      <ts-option\n        [value]=\"count\"\n        *ngFor=\"let count of recordsPerPageChoices\"\n      >{{ count }}</ts-option>\n    </ts-selection-list>\n\n\n    <ts-tooltip [tooltipValue]=\"isFirstPage(currentPageIndex) ? '' : firstPageTooltip\">\n      <ts-button\n        class=\"qa-paginator-first-page-button\"\n        [theme]=\"theme\"\n        [iconName]=\"firstPageIcon\"\n        [isDisabled]=\"isFirstPage(currentPageIndex)\"\n        (clicked)=\"changePage(firstPageIndex, currentPageIndex, pagesArray)\"\n      ></ts-button>\n    </ts-tooltip>\n\n\n    <ts-tooltip [tooltipValue]=\"isFirstPage(currentPageIndex) ? '' : previousPageTooltip\">\n      <ts-button\n        class=\"qa-paginator-previous-page-button\"\n        [theme]=\"theme\"\n        [iconName]=\"previousPageIcon\"\n        [isDisabled]=\"isFirstPage(currentPageIndex)\"\n        (clicked)=\"changePage(currentPageIndex - 1, currentPageIndex, pagesArray)\"\n      ></ts-button>\n    </ts-tooltip>\n\n\n    <ts-menu\n      *ngIf=\"!isSimpleMode\"\n      class=\"qa-paginator-current-page-menu\"\n      [theme]=\"theme\"\n      [menuItemsTemplate]=\"menuItems\"\n      [menuPositionY]=\"menuLocation\"\n      [isDisabled]=\"menuIsDisabled(pagesArray?.length)\"\n      [ngClass]=\"{'disabled': menuIsDisabled(pagesArray?.length)}\"\n    >{{ currentPageLabel }}</ts-menu>\n\n    <div\n      class=\"c-paginator__current-page\"\n      *ngIf=\"isSimpleMode\"\n    >{{ currentPageLabel }}</div>\n\n    <ts-tooltip [tooltipValue]=\"isNextButtonDisabled(currentPageIndex) ? '' : nextPageTooltip\">\n      <ts-button\n        class=\"qa-paginator-next-page-button\"\n        [theme]=\"theme\"\n        [iconName]=\"nextPageIcon\"\n        [isDisabled]=\"isNextButtonDisabled(currentPageIndex)\"\n        (clicked)=\"changePage(currentPageIndex + 1, currentPageIndex, pagesArray)\"\n      ></ts-button>\n    </ts-tooltip>\n\n\n  <ts-tooltip\n    [tooltipValue]=\"isNextButtonDisabled(currentPageIndex) ? '' : lastPageTooltip\"\n    *ngIf=\"!isSimpleMode\"\n  >\n    <ts-button\n        class=\"qa-paginator-last-page-button\"\n        [theme]=\"theme\"\n        [iconName]=\"lastPageIcon\"\n        [isDisabled]=\"isNextButtonDisabled(currentPageIndex)\"\n        (clicked)=\"changePage(lastPageIndex, currentPageIndex, pagesArray)\"\n      ></ts-button>\n    </ts-tooltip>\n  </div>\n\n  <div\n    class=\"c-paginator__message qa-paginator-message\"\n    *ngIf=\"shouldShowRecordsMessage(recordCountTooHighMessage, maxPreferredRecords, totalRecords)\"\n  >\n    <ng-container\n      [ngTemplateOutlet]=\"paginatorMessageTemplate || defaultPaginatorMessageTemplate\"\n      [ngTemplateOutletContext]=\"templateContext\"\n    ></ng-container>\n  </div>\n\n</div>\n\n\n<ng-template #menuItems>\n  <ts-button\n    *ngFor=\"let page of pagesArray; trackBy: trackPagesArray\"\n    (clicked)=\"currentPageChanged(page)\"\n  >\n    {{ page.name }}\n  </ts-button>\n</ng-template>\n\n<ng-template #defaultPaginatorMessageTemplate let-message>\n  {{ message }}\n</ng-template>\n","styles":[".ts-paginator{display:inline-block}.ts-paginator :not(.mat-form-field-label-wrapper){box-sizing:border-box}.ts-paginator h1,.ts-paginator h2,.ts-paginator h3,.ts-paginator h4,.ts-paginator h5,.ts-paginator p{margin:unset}.ts-paginator .c-paginator{font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;letter-spacing:.01em;font-weight:400;display:inline-block}.ts-paginator .c-paginator:not(.c-button):not(.c-input):not(.c-select):not(.ts-checkbox){line-height:20px}.c-paginator .c-paginator__message{font-family:Roboto,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.02em;color:#757575;margin:.4em 0;text-align:right}.c-paginator .c-paginator__current-page{display:inline-block;line-height:2.6em;margin-right:4px;margin-top:4px;text-align:center;width:8em}.c-paginator .ts-selection-list{width:var(--ts-space-base-large5)}.c-paginator .ts-button,.c-paginator .ts-selection-list{margin-right:4px}"]}]}],"members":{"isZeroBased":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":183,"character":3}}]}],"firstPageTooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":189,"character":3}}]}],"previousPageTooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":195,"character":3}}]}],"nextPageTooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":201,"character":3}}]}],"lastPageTooltip":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":207,"character":3}}]}],"currentPageIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":215,"character":3}}]}],"maxPreferredRecords":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":227,"character":3}}]}],"menuLocation":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":233,"character":3}}]}],"paginatorMessageTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":239,"character":3}}]}],"theme":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":245,"character":3}}]}],"totalRecords":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":253,"character":3}}]}],"recordCountTooHighMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":265,"character":3}}]}],"recordsPerPageChoices":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":271,"character":3}}]}],"recordsSelectLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":277,"character":3}}]}],"showRecordsPerPageSelector":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":283,"character":3}}]}],"isSimpleMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":291,"character":3}}]}],"isNextDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":297,"character":3}}]}],"pageSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":303,"character":3}}]}],"recordsPerPageChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":309,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":314,"character":31}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"initialize":[{"__symbolic":"method"}],"currentPageChanged":[{"__symbolic":"method"}],"changePage":[{"__symbolic":"method"}],"isFirstPage":[{"__symbolic":"method"}],"isLastPage":[{"__symbolic":"method"}],"isNextButtonDisabled":[{"__symbolic":"method"}],"shouldShowRecordsMessage":[{"__symbolic":"method"}],"recordsPerPageUpdated":[{"__symbolic":"method"}],"menuIsDisabled":[{"__symbolic":"method"}],"disableRecordsPerPage":[{"__symbolic":"method"}],"createCurrentPageLabel":[{"__symbolic":"method"}],"createDefaultPageLabel":[{"__symbolic":"method"}],"createPagesArray":[{"__symbolic":"method"}],"trackPagesArray":[{"__symbolic":"method"}]}}},"origins":{"TsPaginatorModule":"./paginator.module","TsPaginatorMenuItem":"./paginator.component","TsPaginatorComponent":"./paginator.component"},"importAs":"@terminus/ui/paginator"}