{"version":3,"file":"sixbell-telco-sdk-components-paginator.mjs","sources":["../../../projects/sdk/components/paginator/components/pagination-item/pagination-item.component.ts","../../../projects/sdk/components/paginator/components/pagination-item/pagination-item.component.html","../../../projects/sdk/components/paginator/pipes/pagination.pipe.ts","../../../projects/sdk/components/paginator/src/paginator.component.ts","../../../projects/sdk/components/paginator/src/paginator.component.html","../../../projects/sdk/components/paginator/sixbell-telco-sdk-components-paginator.ts"],"sourcesContent":["import { Component, computed, input, output } from '@angular/core';\nimport { IconComponent } from '@sixbell-telco/sdk/components/icon';\nimport { matKeyboardArrowLeftOutline } from '@sixbell-telco/sdk/components/icon/material/outline';\nimport { TextDirective, TextPreset } from '@sixbell-telco/sdk/directives/text';\nimport { cn } from '@sixbell-telco/sdk/utils/cn';\nimport { cva } from 'class-variance-authority';\n\nexport type PaginationItemSizeProps = 'xs' | 'sm' | 'md' | 'lg' | null | undefined;\n\nconst paginationItemDimensions: Record<\n\tExclude<PaginationItemSizeProps, null | undefined>,\n\t{ button: string[]; dots: string[]; text: TextPreset; icon: 'xs' | 'sm' | 'md' }\n> = {\n\txs: {\n\t\tbutton: ['min-h-[24px]', 'h-[24px]', 'min-w-[24px]', 'w-[24px]'],\n\t\tdots: ['h-[8px]', 'min-h-[8px]', 'w-[8px]', 'min-w-[8px]'],\n\t\ttext: '10',\n\t\ticon: 'xs',\n\t},\n\tsm: {\n\t\tbutton: ['min-h-[28px]', 'h-[28px]', 'min-w-[28px]', 'w-[28px]'],\n\t\tdots: ['h-[9px]', 'min-h-[9px]', 'w-[9px]', 'min-w-[9px]'],\n\t\ttext: '9',\n\t\ticon: 'xs',\n\t},\n\tmd: {\n\t\tbutton: ['min-h-[30px]', 'h-[30px]', 'min-w-[30px]', 'w-[30px]'],\n\t\tdots: ['h-[10px]', 'min-h-[10px]', 'w-[10px]', 'min-w-[10px]'],\n\t\ttext: '8',\n\t\ticon: 'sm',\n\t},\n\tlg: {\n\t\tbutton: ['min-h-[36px]', 'h-[36px]', 'min-w-[36px]', 'w-[36px]'],\n\t\tdots: ['h-[12px]', 'min-h-[12px]', 'w-[12px]', 'min-w-[12px]'],\n\t\ttext: '7',\n\t\ticon: 'md',\n\t},\n};\n\n/**\n * @internal\n * Generates base pagination item classes with style variants\n */\nexport const paginationItemComponent = cva([], {\n\tvariants: {\n\t\tvariant: {\n\t\t\tnumeric: [\n\t\t\t\t'btn',\n\t\t\t\t'btn-outline',\n\t\t\t\t'flex',\n\t\t\t\t'text-base-content',\n\t\t\t\t'border-secondary',\n\t\t\t\t'hover:text-secondary-content',\n\t\t\t\t'hover:bg-secondary/40',\n\t\t\t\t'hover:border-secondary',\n\t\t\t\t'active:hover:bg-secondary-content',\n\t\t\t\t'active:hover:bg-secondary',\n\t\t\t\t'active:focus:border-secondary',\n\t\t\t\t'p-0',\n\t\t\t],\n\t\t\ticon: [\n\t\t\t\t'btn',\n\t\t\t\t'btn-outline',\n\t\t\t\t'flex',\n\t\t\t\t'text-base-content',\n\t\t\t\t'border-secondary',\n\t\t\t\t'hover:text-secondary-content',\n\t\t\t\t'hover:bg-secondary/40',\n\t\t\t\t'hover:border-secondary',\n\t\t\t\t'active:hover:bg-secondary-content',\n\t\t\t\t'active:hover:bg-secondary',\n\t\t\t\t'active:focus:border-secondary',\n\t\t\t\t'p-0',\n\t\t\t],\n\t\t\tdots: [\n\t\t\t\t'btn',\n\t\t\t\t'btn-circle',\n\t\t\t\t'flex',\n\t\t\t\t'border-secondary',\n\t\t\t\t'bg-secondary',\n\t\t\t\t'hover:bg-secondary/40',\n\t\t\t\t'hover:border-secondary',\n\t\t\t\t'hover:scale-150',\n\t\t\t\t'active:hover:bg-secondary',\n\t\t\t\t'active:border-secondary',\n\t\t\t\t'active:scale-150',\n\t\t\t\t'active:focus:border-secondary',\n\t\t\t\t'p-0',\n\t\t\t],\n\t\t\t// New variant for ellipsis\n\t\t\tellipsis: [\n\t\t\t\t'px-2',\n\t\t\t\t'py-1',\n\t\t\t\t'text-base-content',\n\t\t\t\t'pointer-events-none', // Make it non-clickable\n\t\t\t\t'select-none', // Prevent text selection\n\t\t\t],\n\t\t},\n\t},\n\tcompoundVariants: [],\n\tdefaultVariants: {\n\t\tvariant: 'numeric',\n\t},\n});\n\n/** Possible pagination item style variants */\nexport type PaginationItemVariantProps = 'numeric' | 'icon' | 'dots' | 'ellipsis' | null | undefined;\n\n/** Configuration object for pagination item styling */\nexport type PaginationItemProps = {\n\tvariant?: PaginationItemVariantProps;\n};\n\n/**\n * A compact pagination control component with interactive states\n *\n * @remarks\n * Built with Tailwind CSS and class-variance-authority for style management.\n * Supports three variants: numeric pages, navigation icons, and dot indicators.\n * Provides visual feedback for active and hover states.\n *\n * @example\n * ```html\n * <!-- Numeric page item -->\n * <st-pagination-item\n *   variant=\"numeric\"\n *   [number]=\"2\"\n *   [active]=\"true\"\n * ></st-pagination-item>\n * ```\n *\n * @example\n * ```html\n * <!-- Icon navigation -->\n * <st-pagination-item\n *   variant=\"icon\"\n *   icon=\"chevron-right\"\n * ></st-pagination-item>\n * ```\n *\n * @example\n * ```html\n * <!-- Active dot indicator -->\n * <st-pagination-item\n *   variant=\"dots\"\n *   [active]=\"true\"\n * ></st-pagination-item>\n * ```\n */\n@Component({\n\tselector: 'st-pagination-item',\n\timports: [IconComponent, TextDirective],\n\ttemplateUrl: './pagination-item.component.html',\n\tstyles: '',\n\tstandalone: true,\n})\nexport class PaginationItemComponent {\n\t/**\n\t * Style variant for the pagination item\n\t * @defaultValue 'numeric'\n\t */\n\tvariant = input<PaginationItemVariantProps>();\n\n\t/**\n\t * Visual size for numeric and icon items\n\t * @defaultValue 'md'\n\t */\n\tsize = input<PaginationItemSizeProps>('md');\n\n\t/**\n\t * Icon name from the icon library\n\t * @defaultValue matKeyboardArrowLeftOutline\n\t */\n\ticon = input<string>(matKeyboardArrowLeftOutline);\n\n\t/**\n\t * Display number or custom content\n\t * @defaultValue 1\n\t */\n\tnumber = input<number | string>(1);\n\n\t/**\n\t * Active state styling\n\t * @defaultValue false\n\t */\n\tactive = input<boolean>(false);\n\n\t/**\n\t * Disabled state styling\n\t * @defaultValue false\n\t */\n\tdisabled = input<boolean>(false); // New input for disabled state\n\n\t/**\n\t * Stop event propagation for activation events\n\t * @defaultValue false\n\t */\n\tstopPropagation = input<boolean>(false);\n\n\t/**\n\t * Event emitted on click\n\t */\n\tclicked = output<MouseEvent>();\n\n\t/**\n\t * Event emitted on Enter keydown\n\t */\n\tkeyDownEnter = output<KeyboardEvent>();\n\n\t/**\n\t * Event emitted on Space keydown\n\t */\n\tkeyDownSpace = output<KeyboardEvent>();\n\n\t/**\n\t * Event emitted on activation (click or keyboard)\n\t */\n\ttriggered = output<void>();\n\n\t/**\n\t * @internal\n\t * Computed class string for the pagination item\n\t */\n\tcomponentClass = computed(() => {\n\t\tconst resolvedSize = this.size() ?? 'md';\n\t\tconst sizeClasses = this.variant() === 'dots' ? paginationItemDimensions[resolvedSize].dots : paginationItemDimensions[resolvedSize].button;\n\t\treturn cn(\n\t\t\tpaginationItemComponent({\n\t\t\t\tvariant: this.variant(),\n\t\t\t}),\n\t\t\tsizeClasses,\n\t\t\t{\n\t\t\t\t'bg-secondary border-secondary text-secondary-content': this.active() && this.variant() !== 'dots',\n\t\t\t\t'cursor-not-allowed opacity-50': this.disabled(), // Add disabled styles\n\t\t\t},\n\t\t\t{\n\t\t\t\t'hover:bg-secondary/100 bg-secondary border-secondary text-secondary-content h-[16px] w-[16px] hover:scale-100':\n\t\t\t\t\tthis.active() && this.variant() === 'dots',\n\t\t\t},\n\t\t);\n\t});\n\n\ttextPreset = computed<TextPreset>(() => paginationItemDimensions[this.size() ?? 'md'].text);\n\n\ticonSize = computed<'xs' | 'sm' | 'md'>(() => paginationItemDimensions[this.size() ?? 'md'].icon);\n\n\t/**\n\t * @internal\n\t * Handle click activation\n\t */\n\thandleClick(event: MouseEvent): void {\n\t\tif (this.disabled()) return;\n\t\tif (this.stopPropagation()) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\tthis.clicked.emit(event);\n\t\tthis.triggered.emit();\n\t}\n\n\t/**\n\t * @internal\n\t * Handle Enter key activation\n\t */\n\thandleKeyDownEnter(event: Event): void {\n\t\tif (this.disabled()) return;\n\t\tif (this.stopPropagation()) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\tthis.keyDownEnter.emit(event as KeyboardEvent);\n\t\tthis.triggered.emit();\n\t}\n\n\t/**\n\t * @internal\n\t * Handle Space key activation\n\t */\n\thandleKeyDownSpace(event: Event): void {\n\t\tif (this.disabled()) return;\n\t\tif (this.stopPropagation()) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\tthis.keyDownSpace.emit(event as KeyboardEvent);\n\t\tthis.triggered.emit();\n\t}\n}\n","@let variantVar = this.variant();\n@let componentClassVar = this.componentClass();\n\n@if (variantVar === 'numeric') {\n\t<button\n\t\t[class]=\"componentClassVar\"\n\t\ttype=\"button\"\n\t\t[disabled]=\"disabled()\"\n\t\t(click)=\"handleClick($event)\"\n\t\t(keydown.enter)=\"handleKeyDownEnter($event)\"\n\t\t(keydown.space)=\"handleKeyDownSpace($event)\"\n\t>\n\t\t<span [stText]=\"textPreset()\">{{ number() }}</span>\n\t</button>\n} @else if (variantVar === 'icon') {\n\t<button\n\t\t[class]=\"componentClassVar\"\n\t\ttype=\"button\"\n\t\t[disabled]=\"disabled()\"\n\t\t(click)=\"handleClick($event)\"\n\t\t(keydown.enter)=\"handleKeyDownEnter($event)\"\n\t\t(keydown.space)=\"handleKeyDownSpace($event)\"\n\t>\n\t\t<st-icon [icon]=\"this.icon()\" color=\"inherit\" [size]=\"iconSize()\"></st-icon>\n\t</button>\n} @else if (variantVar === 'dots') {\n\t<button\n\t\t[class]=\"componentClassVar\"\n\t\ttype=\"button\"\n\t\t[disabled]=\"disabled()\"\n\t\t(click)=\"handleClick($event)\"\n\t\t(keydown.enter)=\"handleKeyDownEnter($event)\"\n\t\t(keydown.space)=\"handleKeyDownSpace($event)\"\n\t>\n\t\t<span></span>\n\t</button>\n} @else if (variantVar === 'ellipsis') {\n\t<!-- Ellipsis button is inherently not interactive -->\n\t<button [class]=\"componentClassVar\" type=\"button\" [disabled]=\"true\">\n\t\t<span [stText]=\"textPreset()\">{{ number() }}</span>\n\t</button>\n} @else {\n\t<button\n\t\t[class]=\"componentClassVar\"\n\t\ttype=\"button\"\n\t\t[disabled]=\"disabled()\"\n\t\t(click)=\"handleClick($event)\"\n\t\t(keydown.enter)=\"handleKeyDownEnter($event)\"\n\t\t(keydown.space)=\"handleKeyDownSpace($event)\"\n\t>\n\t\t<span [stText]=\"textPreset()\">{{ number() }}</span>\n\t</button>\n}\n","// projects/sdk/components/paginator/src/pagination.pipe.ts\nimport { Pipe, PipeTransform } from '@angular/core';\n\nexport type Pagination = {\n\tcurrentPage: number;\n\titemsPerPage: number;\n};\n\n/**\n * A pipe to manually paginate an array of items.\n *\n * @remarks\n * This pipe takes an array and a pagination configuration object (currentPage, itemsPerPage)\n * and returns a sliced version of the array, representing the items for the current page.\n *\n * @example\n * ```html\n * @for (item of items | pagination: { currentPage: 2, itemsPerPage: 10 }; track item.id) {\n *   <li>{{ item.name }}</li>\n * }\n * ```\n */\n@Pipe({\n\tname: 'paginate',\n\tstandalone: true, // Use standalone pipes for better tree-shaking and consistency\n})\nexport class PaginationPipe implements PipeTransform {\n\ttransform<T>(items: T[], pagination: { currentPage: number; itemsPerPage: number }): T[];\n\ttransform<T>(items: T[] | null, pagination: { currentPage: number; itemsPerPage: number }): T[] | null;\n\ttransform<T>(items: T[] | undefined, pagination: { currentPage: number; itemsPerPage: number }): T[] | undefined;\n\ttransform<T>(items: T[] | null | undefined, pagination: { currentPage: number; itemsPerPage: number }): T[] | null | undefined;\n\ttransform<T>(items: T[] | null | undefined, pagination: { currentPage: number; itemsPerPage: number }): T[] | null | undefined {\n\t\tif (!items || !Array.isArray(items) || pagination?.currentPage === undefined || pagination?.itemsPerPage === undefined) {\n\t\t\treturn items;\n\t\t}\n\n\t\tconst currentPage = Math.max(1, pagination.currentPage);\n\t\tconst itemsPerPage = Math.max(1, pagination.itemsPerPage);\n\n\t\tconst startIndex = (currentPage - 1) * itemsPerPage;\n\t\tconst endIndex = startIndex + itemsPerPage;\n\n\t\treturn items.slice(startIndex, endIndex);\n\t}\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, input, model, output } from '@angular/core';\nimport {\n\tmatKeyboardArrowLeftOutline,\n\tmatKeyboardArrowRightOutline,\n\tmatKeyboardDoubleArrowLeftOutline,\n\tmatKeyboardDoubleArrowRightOutline,\n} from '@sixbell-telco/sdk/components/icon/material/outline';\nimport { PaginationItemComponent } from '../components/pagination-item/pagination-item.component';\n\n/** Type of pagination display variant */\nexport type PaginationType = 'default' | 'dots';\nexport type PaginatorSizeProps = 'xs' | 'sm' | 'md' | 'lg';\n\n/**\n * A customizable pagination component with navigation controls\n *\n * @remarks\n * Supports both traditional numbered pagination and dot indicators.\n * Provides custom styling and navigation controls.\n *\n * @example\n * ```html\n * <st-paginator\n *   [pages]=\"10\"\n *   type=\"default\"\n *   (pageChanged)=\"onPageChange($event)\"\n * ></st-paginator>\n * ```\n *\n * @example\n * ```html\n * <st-paginator\n *   [pages]=\"5\"\n *   type=\"dots\"\n *   [maxSize]=\"3\"\n * ></st-paginator>\n * ```\n */\n@Component({\n\tselector: 'st-paginator',\n\timports: [CommonModule, PaginationItemComponent],\n\ttemplateUrl: './paginator.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PaginatorComponent {\n\t/**\n\t * Unique identifier for the paginator instance\n\t * @defaultValue 'paginator'\n\t */\n\tpaginatorId = input<string>('paginator');\n\n\t/**\n\t * Maximum number of visible numeric page items (excluding arrows and ellipses).\n\t * This controls the window of page numbers shown around the current page.\n\t * @defaultValue 4\n\t */\n\tmaxSize = input<number>(4);\n\n\t/**\n\t * Pagination display variant\n\t * @defaultValue 'default'\n\t */\n\ttype = input<PaginationType>('default');\n\n\t/**\n\t * Event emitted when the current page changes\n\t */\n\tpageChanged = output<number>();\n\n\t/**\n\t * Total number of pages\n\t * @defaultValue 0\n\t */\n\tpages = input<number>(0);\n\n\t/**\n\t * Size for pagination buttons and labels\n\t * @defaultValue 'md'\n\t */\n\tsize = input<PaginatorSizeProps>('md');\n\n\t/**\n\t * Current active page (1-based)\n\t * @defaultValue 1\n\t */\n\tcurrentPage = model<number>(1);\n\n\t/**\n\t * @internal\n\t * Left arrow icon reference\n\t */\n\ticonArrowLeft = matKeyboardArrowLeftOutline;\n\n\t/**\n\t * @internal\n\t * Double left arrow icon reference\n\t */\n\ticonDoubleArrowLeft = matKeyboardDoubleArrowLeftOutline;\n\n\t/**\n\t * @internal\n\t * Right arrow icon reference\n\t */\n\ticonArrowRight = matKeyboardArrowRightOutline;\n\n\t/**\n\t * @internal\n\t * Double right arrow icon reference\n\t */\n\ticonDoubleArrowRight = matKeyboardDoubleArrowRightOutline;\n\n\t/**\n\t * @internal\n\t * Computed array of page numbers and ellipses for display.\n\t * Implements the logic to show a limited range of pages around the current page\n\t * with '...' for skipped pages.\n\t */\n\tpageNumbersForDisplay = computed<(number | string)[]>(() => {\n\t\tconst totalPages = this.pages();\n\t\tconst currentPage = this.currentPage();\n\t\tconst maxSize = this.maxSize(); // Number of visible numeric page links\n\n\t\tconst pages: (number | string)[] = [];\n\n\t\tif (totalPages <= 1) {\n\t\t\treturn [1];\n\t\t}\n\n\t\tlet startRange: number;\n\t\tlet endRange: number;\n\n\t\t// Calculate the range of pages to display around the current page\n\t\tif (totalPages <= maxSize) {\n\t\t\t// If total pages are less than or equal to maxSize, show all pages\n\t\t\tstartRange = 1;\n\t\t\tendRange = totalPages;\n\t\t} else {\n\t\t\t// Calculate the range to center the currentPage\n\t\t\tconst half = Math.floor(maxSize / 2);\n\t\t\tstartRange = currentPage - half;\n\t\t\tendRange = currentPage + (maxSize - 1 - half);\n\n\t\t\t// Adjust boundary conditions\n\t\t\tif (startRange < 1) {\n\t\t\t\tstartRange = 1;\n\t\t\t\tendRange = maxSize;\n\t\t\t}\n\t\t\tif (endRange > totalPages) {\n\t\t\t\tendRange = totalPages;\n\t\t\t\tstartRange = totalPages - maxSize + 1;\n\t\t\t}\n\t\t}\n\n\t\t// Add first page and leading ellipsis if necessary\n\t\tif (startRange > 1) {\n\t\t\tpages.push(1);\n\t\t\tif (startRange > 2) {\n\t\t\t\t// Only add ellipsis if there's at least one page between 1 and startRange\n\t\t\t\tpages.push('...');\n\t\t\t}\n\t\t}\n\n\t\t// Add pages within the calculated range\n\t\tfor (let i = startRange; i <= endRange; i++) {\n\t\t\tpages.push(i);\n\t\t}\n\n\t\t// Add trailing ellipsis and last page if necessary\n\t\tif (endRange < totalPages) {\n\t\t\tif (endRange < totalPages - 1) {\n\t\t\t\t// Only add ellipsis if there's at least one page between endRange and totalPages\n\t\t\t\tpages.push('...');\n\t\t\t}\n\t\t\t// Ensure last page is only added once and if it's not already in the array\n\t\t\tif (!pages.includes(totalPages)) {\n\t\t\t\tpages.push(totalPages);\n\t\t\t}\n\t\t}\n\n\t\t// Final pass to remove potential duplicate adjacent '...' (e.g., if page 1, ..., 3, ..., 5 leads to 1, ..., ..., 5)\n\t\tconst finalPages: (number | string)[] = [];\n\t\tfor (let i = 0; i < pages.length; i++) {\n\t\t\t// Skip if current is '...' and previous was also '...'\n\t\t\tif (pages[i] === '...' && finalPages.length > 0 && finalPages[finalPages.length - 1] === '...') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tfinalPages.push(pages[i]);\n\t\t}\n\n\t\treturn finalPages;\n\t});\n\n\t/**\n\t * @internal\n\t * Handles page navigation changes\n\t * @param page - New page number (or '...' if clicked on ellipsis, which is ignored)\n\t */\n\thandlePageChange(page: number | string) {\n\t\t// Updated signature to accept string\n\t\tif (typeof page !== 'number') {\n\t\t\t// Type guard: ignore clicks on '...'\n\t\t\treturn;\n\t\t}\n\t\tconst totalPages = Math.max(this.pages(), 1);\n\t\tconst newPage = Math.min(Math.max(1, page), totalPages);\n\t\tif (newPage !== this.currentPage()) {\n\t\t\tthis.currentPage.set(newPage);\n\t\t\tthis.pageChanged.emit(newPage);\n\t\t}\n\t}\n\n\t/**\n\t * @internal\n\t * Navigates to previous page if available\n\t */\n\tpreviousPage() {\n\t\tthis.handlePageChange(this.currentPage() - 1);\n\t}\n\n\t/**\n\t * @internal\n\t * Navigates to next page if available\n\t */\n\tnextPage() {\n\t\tthis.handlePageChange(this.currentPage() + 1);\n\t}\n\n\t/**\n\t * @internal\n\t * Jumps to first page\n\t */\n\tfirstPage() {\n\t\tthis.handlePageChange(1);\n\t}\n\n\t/**\n\t * @internal\n\t * Jumps to last page\n\t */\n\tlastPage() {\n\t\tthis.handlePageChange(Math.max(this.pages(), 1));\n\t}\n}\n","@if (type() === 'default') {\n\t<div class=\"flex items-center justify-center gap-2\">\n\t\t<!-- First page button -->\n\t\t<st-pagination-item\n\t\t\t[icon]=\"iconDoubleArrowLeft\"\n\t\t\t(triggered)=\"firstPage()\"\n\t\t\tvariant=\"icon\"\n\t\t\t[size]=\"size()\"\n\t\t\tshape=\"round-xs\"\n\t\t\tpadding=\"none\"\n\t\t\t[disabled]=\"currentPage() === 1\"\n\t\t></st-pagination-item>\n\t\t<!-- Previous page button -->\n\t\t<st-pagination-item\n\t\t\t[icon]=\"iconArrowLeft\"\n\t\t\t(triggered)=\"previousPage()\"\n\t\t\tvariant=\"icon\"\n\t\t\t[size]=\"size()\"\n\t\t\tshape=\"round-xs\"\n\t\t\tpadding=\"none\"\n\t\t\t[disabled]=\"currentPage() === 1\"\n\t\t></st-pagination-item>\n\n\t\t@for (page of pageNumbersForDisplay(); track $index) {\n\t\t\t@if (page === '...') {\n\t\t\t\t<!-- Ellipsis for hidden pages -->\n\t\t\t\t<st-pagination-item variant=\"ellipsis\" [size]=\"size()\" shape=\"round-xs\" padding=\"none\" [number]=\"'...'\"></st-pagination-item>\n\t\t\t} @else {\n\t\t\t\t<!-- Numeric page item -->\n\t\t\t\t<st-pagination-item\n\t\t\t\t\t(triggered)=\"handlePageChange(page)\"\n\t\t\t\t\tvariant=\"numeric\"\n\t\t\t\t\t[size]=\"size()\"\n\t\t\t\t\tshape=\"round-xs\"\n\t\t\t\t\tpadding=\"none\"\n\t\t\t\t\t[number]=\"page\"\n\t\t\t\t\t[active]=\"currentPage() === page\"\n\t\t\t\t></st-pagination-item>\n\t\t\t}\n\t\t}\n\n\t\t<!-- Next page button -->\n\t\t<st-pagination-item\n\t\t\t[icon]=\"iconArrowRight\"\n\t\t\t(triggered)=\"nextPage()\"\n\t\t\tvariant=\"icon\"\n\t\t\t[size]=\"size()\"\n\t\t\tshape=\"round-xs\"\n\t\t\tpadding=\"none\"\n\t\t\t[disabled]=\"currentPage() === pages() || pages() <= 1\"\n\t\t></st-pagination-item>\n\t\t<!-- Last page button -->\n\t\t<st-pagination-item\n\t\t\t[icon]=\"iconDoubleArrowRight\"\n\t\t\t(triggered)=\"lastPage()\"\n\t\t\tvariant=\"icon\"\n\t\t\t[size]=\"size()\"\n\t\t\tshape=\"round-xs\"\n\t\t\tpadding=\"none\"\n\t\t\t[disabled]=\"currentPage() === pages() || pages() <= 1\"\n\t\t></st-pagination-item>\n\t</div>\n}\n@if (type() === 'dots') {\n\t<div class=\"flex items-center justify-center gap-2\">\n\t\t@for (page of pageNumbersForDisplay(); track $index) {\n\t\t\t@if (page === '...') {\n\t\t\t\t<!-- Ellipsis for hidden pages -->\n\t\t\t\t<st-pagination-item variant=\"ellipsis\" [size]=\"size()\" shape=\"round-lg\" padding=\"none\" [number]=\"'...'\"></st-pagination-item>\n\t\t\t} @else {\n\t\t\t\t<st-pagination-item\n\t\t\t\t\t(triggered)=\"handlePageChange(page)\"\n\t\t\t\t\tvariant=\"dots\"\n\t\t\t\t\t[size]=\"size()\"\n\t\t\t\t\tshape=\"round-lg\"\n\t\t\t\t\tpadding=\"none\"\n\t\t\t\t\t[active]=\"currentPage() === page\"\n\t\t\t\t></st-pagination-item>\n\t\t\t}\n\t\t}\n\t</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}