import * as i0 from '@angular/core';
import { model, input, booleanAttribute, output, Component } from '@angular/core';
import { FormsModule } from '@angular/forms';
import * as i1 from 'primeng/paginator';
import { PaginatorModule } from 'primeng/paginator';
import * as i3 from '@jsverse/transloco';
import { TranslocoModule } from '@jsverse/transloco';
import * as i2 from 'primeng/api';

class Paginator {
    rows = model(10, ...(ngDevMode ? [{ debugName: "rows" }] : []));
    totalRecords = input(0, ...(ngDevMode ? [{ debugName: "totalRecords" }] : []));
    first = model(0, ...(ngDevMode ? [{ debugName: "first" }] : []));
    page = model(0, ...(ngDevMode ? [{ debugName: "page" }] : []));
    rowsPerPageOptions = input(undefined, ...(ngDevMode ? [{ debugName: "rowsPerPageOptions" }] : []));
    showFirstLastIcon = input(false, { ...(ngDevMode ? { debugName: "showFirstLastIcon" } : {}), transform: booleanAttribute });
    showCurrentPageReport = input(false, { ...(ngDevMode ? { debugName: "showCurrentPageReport" } : {}), transform: booleanAttribute });
    fluid = input(false, { ...(ngDevMode ? { debugName: "fluid" } : {}), transform: booleanAttribute });
    // Paginator Inputs
    pageLinkSize = input(6, ...(ngDevMode ? [{ debugName: "pageLinkSize" }] : []));
    alwaysShow = input(true, { ...(ngDevMode ? { debugName: "alwaysShow" } : {}), transform: booleanAttribute });
    onPageChange = output();
    onPaginatorChange(event) {
        this.first.set(event.first);
        this.page.set(event.page);
        this.rows.set(event.rows);
        this.onPageChange.emit(event);
    }
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Paginator, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.3", type: Paginator, isStandalone: true, selector: "mt-paginator", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, first: { classPropertyName: "first", publicName: "first", isSignal: true, isRequired: false, transformFunction: null }, page: { classPropertyName: "page", publicName: "page", isSignal: true, isRequired: false, transformFunction: null }, rowsPerPageOptions: { classPropertyName: "rowsPerPageOptions", publicName: "rowsPerPageOptions", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: true, isRequired: false, transformFunction: null }, showCurrentPageReport: { classPropertyName: "showCurrentPageReport", publicName: "showCurrentPageReport", isSignal: true, isRequired: false, transformFunction: null }, fluid: { classPropertyName: "fluid", publicName: "fluid", isSignal: true, isRequired: false, transformFunction: null }, pageLinkSize: { classPropertyName: "pageLinkSize", publicName: "pageLinkSize", isSignal: true, isRequired: false, transformFunction: null }, alwaysShow: { classPropertyName: "alwaysShow", publicName: "alwaysShow", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { rows: "rowsChange", first: "firstChange", page: "pageChange", onPageChange: "onPageChange" }, host: { classAttribute: "grid gap-1" }, ngImport: i0, template: "<p-paginator\r\n  [rows]=\"rows()\"\r\n  [totalRecords]=\"totalRecords()\"\r\n  [first]=\"first()\"\r\n  [pageLinkSize]=\"pageLinkSize()\"\r\n  [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n  [showFirstLastIcon]=\"showFirstLastIcon()\"\r\n  [showCurrentPageReport]=\"showCurrentPageReport()\"\r\n  [alwaysShow]=\"alwaysShow()\"\r\n  (onPageChange)=\"onPaginatorChange($event)\"\r\n  appendTo=\"body\"\r\n>\r\n  <ng-template pTemplate=\"previouspagelinkicon\">\r\n    <div class=\"flex items-center justify-center px-3 gap-3\">\r\n      <svg\r\n        width=\"12\"\r\n        height=\"12\"\r\n        viewBox=\"0 0 14 14\"\r\n        fill=\"none\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n      >\r\n        <path\r\n          d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\r\n          stroke=\"#414651\"\r\n          stroke-width=\"1.67\"\r\n          stroke-linecap=\"round\"\r\n          stroke-linejoin=\"round\"\r\n        />\r\n      </svg>\r\n      <span class=\"rtl:rotate-180\">\r\n        {{ \"components.paginator.previous\" | transloco }}\r\n      </span>\r\n    </div>\r\n  </ng-template>\r\n\r\n  <ng-template pTemplate=\"nextpagelinkicon\">\r\n    <div class=\"flex items-center justify-center px-3 gap-3\">\r\n      <span class=\"rtl:rotate-180\">\r\n        {{ \"components.paginator.next\" | transloco }}</span\r\n      >\r\n      <svg\r\n        width=\"12\"\r\n        height=\"12\"\r\n        viewBox=\"0 0 14 14\"\r\n        fill=\"none\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n      >\r\n        <path\r\n          d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\r\n          stroke=\"#414651\"\r\n          stroke-width=\"1.67\"\r\n          stroke-linecap=\"round\"\r\n          stroke-linejoin=\"round\"\r\n        />\r\n      </svg>\r\n    </div>\r\n  </ng-template>\r\n</p-paginator>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i1.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "appendTo"], outputs: ["onPageChange"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "pipe", type: i3.TranslocoPipe, name: "transloco" }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Paginator, decorators: [{
            type: Component,
            args: [{ selector: 'mt-paginator', standalone: true, imports: [FormsModule, PaginatorModule, TranslocoModule], host: {
                        class: 'grid gap-1',
                    }, template: "<p-paginator\r\n  [rows]=\"rows()\"\r\n  [totalRecords]=\"totalRecords()\"\r\n  [first]=\"first()\"\r\n  [pageLinkSize]=\"pageLinkSize()\"\r\n  [rowsPerPageOptions]=\"rowsPerPageOptions()\"\r\n  [showFirstLastIcon]=\"showFirstLastIcon()\"\r\n  [showCurrentPageReport]=\"showCurrentPageReport()\"\r\n  [alwaysShow]=\"alwaysShow()\"\r\n  (onPageChange)=\"onPaginatorChange($event)\"\r\n  appendTo=\"body\"\r\n>\r\n  <ng-template pTemplate=\"previouspagelinkicon\">\r\n    <div class=\"flex items-center justify-center px-3 gap-3\">\r\n      <svg\r\n        width=\"12\"\r\n        height=\"12\"\r\n        viewBox=\"0 0 14 14\"\r\n        fill=\"none\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n      >\r\n        <path\r\n          d=\"M12.8346 6.99984H1.16797M1.16797 6.99984L7.0013 12.8332M1.16797 6.99984L7.0013 1.1665\"\r\n          stroke=\"#414651\"\r\n          stroke-width=\"1.67\"\r\n          stroke-linecap=\"round\"\r\n          stroke-linejoin=\"round\"\r\n        />\r\n      </svg>\r\n      <span class=\"rtl:rotate-180\">\r\n        {{ \"components.paginator.previous\" | transloco }}\r\n      </span>\r\n    </div>\r\n  </ng-template>\r\n\r\n  <ng-template pTemplate=\"nextpagelinkicon\">\r\n    <div class=\"flex items-center justify-center px-3 gap-3\">\r\n      <span class=\"rtl:rotate-180\">\r\n        {{ \"components.paginator.next\" | transloco }}</span\r\n      >\r\n      <svg\r\n        width=\"12\"\r\n        height=\"12\"\r\n        viewBox=\"0 0 14 14\"\r\n        fill=\"none\"\r\n        xmlns=\"http://www.w3.org/2000/svg\"\r\n      >\r\n        <path\r\n          d=\"M1.16797 6.99984H12.8346M12.8346 6.99984L7.0013 1.1665M12.8346 6.99984L7.0013 12.8332\"\r\n          stroke=\"#414651\"\r\n          stroke-width=\"1.67\"\r\n          stroke-linecap=\"round\"\r\n          stroke-linejoin=\"round\"\r\n        />\r\n      </svg>\r\n    </div>\r\n  </ng-template>\r\n</p-paginator>\r\n" }]
        }], propDecorators: { rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }, { type: i0.Output, args: ["rowsChange"] }], totalRecords: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalRecords", required: false }] }], first: [{ type: i0.Input, args: [{ isSignal: true, alias: "first", required: false }] }, { type: i0.Output, args: ["firstChange"] }], page: [{ type: i0.Input, args: [{ isSignal: true, alias: "page", required: false }] }, { type: i0.Output, args: ["pageChange"] }], rowsPerPageOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowsPerPageOptions", required: false }] }], showFirstLastIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFirstLastIcon", required: false }] }], showCurrentPageReport: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCurrentPageReport", required: false }] }], fluid: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluid", required: false }] }], pageLinkSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageLinkSize", required: false }] }], alwaysShow: [{ type: i0.Input, args: [{ isSignal: true, alias: "alwaysShow", required: false }] }], onPageChange: [{ type: i0.Output, args: ["onPageChange"] }] } });

/**
 * Generated bundle index. Do not edit.
 */

export { Paginator };
//# sourceMappingURL=masterteam-components-paginator.mjs.map
