@synergy-design-system/components
Version:
134 lines (113 loc) • 3.16 kB
JavaScript
// src/components/pagination/pagination.styles.ts
import { css } from "lit";
var pagination_styles_default = css`
:host {
display: block;
}
.pagination {
--base-font: var(--syn-body-medium-regular);
--base-gap: var(--syn-spacing-small);
--navigation-gap: var(--syn-spacing-small);
--pagination-page-size-option-char-count: 2;
--pagination-total-pages-char-count: 3;
align-items: center;
display: flex;
flex-wrap: wrap;
font: var(--base-font);
gap: var(--base-gap) var(--syn-spacing-large);
}
/* Sizes */
:host([size="small"]) .pagination {
--base-gap: var(--syn-spacing-x-small);
--base-font: var(--syn-body-small-regular);
}
:host([size="large"]) .pagination {
--base-gap: var(--syn-spacing-medium);
--base-font: var(--syn-body-large-regular);
}
/* Divider */
syn-divider {
--divider-spacing: var(--syn-spacing-small);
--spacing: 0 auto var(--divider-spacing);
}
:host([size="small"]) syn-divider {
--divider-spacing: var(--syn-spacing-x-small);
}
:host([size="large"]) syn-divider {
--divider-spacing: var(--syn-spacing-medium);
}
/* Select */
.pagination__page-size-select-wrapper {
align-items: center;
display: flex;
gap: var(--base-gap);
}
.pagination__page-size-select::part(form-control) {
align-items: center;
display: flex;
gap: var(--base-gap);
}
.pagination__page-size-select::part(form-control-label) {
font: var(--base-font);
margin-bottom: 0;
}
.pagination__page-size-select::part(display-input) {
width: calc((var(--pagination-page-size-option-char-count) * 1ch) + 1ch);
}
/* Navigation */
.pagination__navigation {
align-items: center;
display: flex;
flex: 1;
flex-wrap: nowrap;
gap: var(--navigation-gap);
justify-content: end;
}
.pagination__navigation > section {
align-items: center;
display: flex;
flex-wrap: nowrap;
}
.pagination__page-input {
margin-inline-end: var(--navigation-gap);
}
.pagination__page-input::part(input) {
text-align: center;
width: calc((var(--pagination-total-pages-char-count) * 1ch) + 3ch);
}
/**
* Make sure to hide the label of the page input, but keep it accessible for screen readers.
* We can't use the label slot of syn-input for this, because it would mess with the layout.
*/
.pagination__page-input::part(form-control-label) {
border: 0;
/* stylelint-disable-next-line property-no-deprecated */
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: 1px;
}
/* Compact Version */
:host([variant="compact"]) .pagination__navigation {
justify-content: center;
}
/* Adjustments for really small container widths */
@supports (container-type: inline-size) {
:host {
container-type: inline-size;
}
@container (max-width: 400px) {
.pagination__navigation {
justify-content: center;
}
}
}
`;
export {
pagination_styles_default
};
//# sourceMappingURL=chunk.DG2TSAVZ.js.map