.pager { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 1rem 0; padding: 0 1rem; } .pager-align-start { justify-content: flex-start; } .pager-align-center { justify-content: center; } .pager-align-end { justify-content: flex-end; } .pager-summary { color: var(--val-color--text--muted); font-size: 0.8125rem; align-self: flex-start; margin-inline-end: auto; } .pager-align-start .pager-summary { order: 1; margin-inline-end: 0; margin-inline-start: auto; } .pager-align-center .pager-summary { order: 1; flex-basis: 100%; text-align: center; margin-inline-end: 0; } .pagination { display: flex; align-items: center; gap: 0.25rem; list-style: none; margin: 0; padding: 0; } .pagination a { display: flex; align-items: center; justify-content: center; min-width: 1.5rem; padding: 0.375rem 0.625rem; border-radius: 0.375rem; color: var(--val-color--text); text-decoration: none; } .pagination a:hover { background-color: color-mix(in srgb, var(--val-color--text) 8%, transparent); } .pagination .active a { color: #fff; background-color: var(--val-color--primary); } .pagination .disabled a { color: var(--val-color--text--muted); pointer-events: none; cursor: default; } .page-ellipsis { padding: 0.375rem 0.25rem; color: var(--val-color--text--muted); } // .page-link-icon shows the navigation text of the previous/next buttons. The full accessible text // goes separately, in the link's aria-label. So replacing the visible text with other content does // not affect accessibility, e.g. to use "‹"/"›" you can apply: // // .page-link-icon { // display: inline-block; // font-size: 0; // } // .page-previous .page-link-icon::before { // content: "‹"; // font-size: 1rem; // display: inline-block; // transform: translateY(-0.15em) scale(1.5); // } // .page-next .page-link-icon::before { // content: "›"; // font-size: 1rem; // display: inline-block; // transform: translateY(-0.15em) scale(1.5); // } .pager-jump { display: flex; align-items: center; } .pager-jump:focus-within { border-radius: 0.375rem; box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--val-color--primary) 25%, transparent); } .pager-jump-input > input.form-control:focus, .pager-jump-button:focus { outline: none; box-shadow: none; } .pager-jump-input > input.form-control { width: calc(var(--pager-jump-width, 1ch) + 2.5rem); padding: 0.375rem 0.625rem; line-height: var(--val-lh--base); border: 0; border-start-end-radius: 0; border-end-end-radius: 0; background-color: var(--val-color--bg--muted); } .pager-jump-input > input.form-control { text-align: center; appearance: textfield; -moz-appearance: textfield; } .pager-jump-input > input.form-control::-webkit-outer-spin-button, .pager-jump-input > input.form-control::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } .pager-jump-button { padding: 0.375rem 0.625rem; border: 0; border-start-start-radius: 0; border-end-start-radius: 0; } .pager-jump-button:hover { background-color: color-mix(in srgb, var(--val-color--primary) 85%, black); }