Files
quiz-test/chunk-4E7NWUSO.js
2025-12-29 22:23:30 +02:00

2 lines
7.3 KiB
JavaScript

import{a as j,b as q}from"./chunk-GIRDLTGV.js";import{c as $}from"./chunk-P3ICZX4Q.js";import{a as I}from"./chunk-7XDVX5KB.js";import{a as B}from"./chunk-B4CGVF35.js";import{b as G}from"./chunk-NIBVQDYD.js";import{i as V}from"./chunk-EGL4ZKWQ.js";import{Aa as D,e as T,j as z,ua as F,wa as N,ya as E,za as L}from"./chunk-COFYR5MX.js";import{Cb as y,Db as x,Eb as b,Gb as v,Hb as h,Ib as M,Ic as w,Jb as p,Jc as g,Kb as i,Lb as o,Tb as u,Xb as _,Za as a,Zb as r,ia as m,ja as d,jc as k,lc as l,mc as C,nc as f,ob as S,ub as O}from"./chunk-2MUIW2M6.js";function H(t,n){if(t&1&&(i(0,"mat-option",13),l(1),o()),t&2){let e=n.$implicit;p("value",e),a(),f("",e," per page")}}function J(t,n){if(t&1){let e=u();i(0,"mat-form-field",5)(1,"mat-select",12),_("selectionChange",function(s){m(e);let P=r(2);return d(P.onPageSizeChange(s.value))}),h(2,H,2,2,"mat-option",13,v),o()()}if(t&2){let e=r(2);a(),p("value",e.state().itemsPerPage),a(),M(e.pageSizeOptions())}}function K(t,n){if(t&1){let e=u();i(0,"button",14),_("click",function(){m(e);let s=r(2);return d(s.onPageChange(1))}),i(1,"mat-icon"),l(2,"first_page"),o()()}if(t&2){let e=r(2);p("disabled",!e.state().hasPreviousPage)}}function Q(t,n){if(t&1&&(i(0,"span",15),l(1),o()),t&2){let e=r().$implicit;a(),C(e)}}function R(t,n){if(t&1){let e=u();i(0,"button",17),_("click",function(){m(e);let s=r().$implicit,P=r(2);return d(P.handlePageClick(s))}),l(1),o()}if(t&2){let e=r().$implicit,c=r(2);k("active",e===c.state().currentPage),y("aria-label","Go to page "+e)("aria-current",e===c.state().currentPage?"page":null),a(),f(" ",e," ")}}function U(t,n){if(t&1&&x(0,Q,2,1,"span",15)(1,R,2,5,"button",16),t&2){let e=n.$implicit;b(e==="..."?0:1)}}function W(t,n){if(t&1){let e=u();i(0,"button",18),_("click",function(){m(e);let s=r(2);return d(s.onPageChange(s.state().totalPages))}),i(1,"mat-icon"),l(2,"last_page"),o()()}if(t&2){let e=r(2);p("disabled",!e.state().hasNextPage)}}function X(t,n){if(t&1){let e=u();i(0,"div",1)(1,"div",2)(2,"span",3),l(3," Showing "),i(4,"strong"),l(5),o(),l(6," to "),i(7,"strong"),l(8),o(),l(9," of "),i(10,"strong"),l(11),o(),l(12),o()(),i(13,"div",4),x(14,J,4,1,"mat-form-field",5),i(15,"div",6),x(16,K,3,1,"button",7),i(17,"button",8),_("click",function(){m(e);let s=r();return d(s.onPageChange(s.state().currentPage-1))}),i(18,"mat-icon"),l(19,"chevron_left"),o()(),i(20,"div",9),h(21,U,2,1,null,null,v),o(),i(23,"button",10),_("click",function(){m(e);let s=r();return d(s.onPageChange(s.state().currentPage+1))}),i(24,"mat-icon"),l(25,"chevron_right"),o()(),x(26,W,3,1,"button",11),o()()()}if(t&2){let e=r();a(5),C(e.state().startIndex),a(3),C(e.state().endIndex),a(3),C(e.state().totalItems),a(),f(" ",e.itemLabel()," "),a(2),b(e.showPageSizeSelector()?14:-1),a(2),b(e.showFirstLast()?16:-1),a(),p("disabled",!e.state().hasPreviousPage),a(4),M(e.pageNumbers()),a(2),p("disabled",!e.state().hasNextPage),a(3),b(e.showFirstLast()?26:-1)}}var A=class t{state=g.required();pageNumbers=g([]);pageSizeOptions=g([10,25,50,100]);showPageSizeSelector=g(!0);showFirstLast=g(!0);maxVisiblePages=g(5);itemLabel=g("results");pageChange=w();pageSizeChange=w();onPageChange(n){n>=1&&n<=(this.state()?.totalPages??1)&&this.pageChange.emit(n)}handlePageClick(n){typeof n=="number"&&this.onPageChange(n)}onPageSizeChange(n){this.pageSizeChange.emit(n)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=S({type:t,selectors:[["app-pagination"]],inputs:{state:[1,"state"],pageNumbers:[1,"pageNumbers"],pageSizeOptions:[1,"pageSizeOptions"],showPageSizeSelector:[1,"showPageSizeSelector"],showFirstLast:[1,"showFirstLast"],maxVisiblePages:[1,"maxVisiblePages"],itemLabel:[1,"itemLabel"]},outputs:{pageChange:"pageChange",pageSizeChange:"pageSizeChange"},decls:1,vars:1,consts:[["class","pagination-container",4,"ngIf"],[1,"pagination-container"],[1,"pagination-info"],[1,"info-text"],[1,"pagination-actions"],["appearance","outline",1,"page-size-selector"],[1,"pagination-controls"],["mat-icon-button","","matTooltip","First page","aria-label","Go to first page",3,"disabled"],["mat-icon-button","","matTooltip","Previous page","aria-label","Go to previous page",3,"click","disabled"],[1,"page-numbers"],["mat-icon-button","","matTooltip","Next page","aria-label","Go to next page",3,"click","disabled"],["mat-icon-button","","matTooltip","Last page","aria-label","Go to last page",3,"disabled"],["aria-label","Items per page",3,"selectionChange","value"],[3,"value"],["mat-icon-button","","matTooltip","First page","aria-label","Go to first page",3,"click","disabled"],[1,"ellipsis"],["mat-button","",1,"page-button",3,"active"],["mat-button","",1,"page-button",3,"click"],["mat-icon-button","","matTooltip","Last page","aria-label","Go to last page",3,"click","disabled"]],template:function(e,c){e&1&&O(0,X,27,9,"div",0),e&2&&p("ngIf",c.state())},dependencies:[z,T,E,N,F,D,L,B,G,q,V,j,$,I],styles:[".pagination-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--surface-color, #fff);border-radius:8px;box-shadow:0 2px 4px #0000001a}.pagination-info[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.info-text[_ngcontent-%COMP%]{font-size:.875rem;color:var(--text-secondary, #666)}.info-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-primary, #333);font-weight:600}.pagination-actions[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-size-selector[_ngcontent-%COMP%]{min-width:140px}.page-size-selector[_ngcontent-%COMP%] .mat-mdc-form-field-subscript-wrapper{display:none}.pagination-controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem}.page-numbers[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.25rem}.page-button[_ngcontent-%COMP%]{min-width:40px;height:40px;padding:0 8px;border-radius:4px;transition:all .2s ease}.page-button[_ngcontent-%COMP%]:hover{background-color:var(--hover-color, rgba(0, 0, 0, .04))}.page-button.active[_ngcontent-%COMP%]{background-color:var(--primary-color, #1976d2);color:#fff;font-weight:600}.page-button.active[_ngcontent-%COMP%]:hover{background-color:var(--primary-dark, #1565c0)}.ellipsis[_ngcontent-%COMP%]{padding:0 8px;color:var(--text-secondary, #666);-webkit-user-select:none;user-select:none}@media (max-width: 768px){.pagination-container[_ngcontent-%COMP%]{padding:.75rem}.pagination-actions[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.page-size-selector[_ngcontent-%COMP%]{width:100%}.pagination-controls[_ngcontent-%COMP%]{justify-content:center}.page-numbers[_ngcontent-%COMP%]{gap:.125rem}.page-button[_ngcontent-%COMP%]{min-width:36px;height:36px;font-size:.875rem}}@media (max-width: 768px) and (max-width: 480px){.ellipsis[_ngcontent-%COMP%]{display:none}}@media (prefers-color-scheme: dark){.pagination-container[_ngcontent-%COMP%]{background:var(--surface-dark, #1e1e1e);box-shadow:0 2px 4px #0000004d}.info-text[_ngcontent-%COMP%]{color:var(--text-secondary-dark, #b0b0b0)}.info-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--text-primary-dark, #e0e0e0)}.page-button[_ngcontent-%COMP%]:hover{background-color:#ffffff14}.ellipsis[_ngcontent-%COMP%]{color:var(--text-secondary-dark, #b0b0b0)}}.page-button[_ngcontent-%COMP%]:focus-visible, button[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--primary-color, #1976d2);outline-offset:2px}button[_ngcontent-%COMP%]:disabled{opacity:.4;cursor:not-allowed}"]})};export{A as a};