import { type CSSResultGroup, type PropertyValues } from 'lit'; import SynergyElement from '../../internal/synergy-element.js'; import SynDivider from '../divider/divider.component.js'; import SynIconButton from '../icon-button/icon-button.component.js'; import SynInput from '../input/input.component.js'; import SynOption from '../option/option.component.js'; import SynSelect from '../select/select.component.js'; /** * @summary provides page navigation, direct page input, and page-size selection for large data sets. * * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-pagination--docs * @status stable * @since 3.12.0 * * @event syn-pagination-page-changed - Emitted when the current page changes * @event syn-pagination-page-size-changed - Emitted when the page size changes * * @csspart base - The component's base wrapper. * @csspart divider - The divider element displayed at the top of the pagination component. * @csspart page-size-select-wrapper - The wrapper element containing the page size select and page item summary. * @csspart page-size-select - The page size select element. * @csspart page-item-summary - The text element displaying the current page item range and total items. * @csspart page-input-section - The section containing the page number input and total pages display. * @csspart page-input - The page number input element. * @csspart navigation - The pagination navigation element. * @csspart navigation-action - The individual navigation action buttons (first, previous, next, last). * * @accessibility * The entire component is wrapped in a semantic `