{"version":3,"file":"lucca-front-ng-pagination.mjs","sources":["../../../packages/ng/pagination/translations.ts","../../../packages/ng/pagination/pagination.translate.ts","../../../packages/ng/pagination/pagination.component.ts","../../../packages/ng/pagination/pagination.component.html","../../../packages/ng/pagination/lucca-front-ng-pagination.ts"],"sourcesContent":["export const Translations = {\n\t'nl-BE': {\n\t\tresults: '{{from}} – {{to}} van {{itemsCount}}',\n\t\tprevious: 'Vorige',\n\t\tnext: 'Volgende',\n\t\tresultsA11y: 'Resultaten van {{from}} tot {{to}} in {{itemsCount}}',\n\t},\n\tfr: {\n\t\tresults: '{{from}} – {{to}} sur {{itemsCount}}',\n\t\tprevious: 'Précédent',\n\t\tnext: 'Suivant',\n\t\tresultsA11y: 'Résultats de {{from}} à {{to}} sur {{itemsCount}}',\n\t},\n\tde: {\n\t\tresults: '{{from}} – {{to}} von {{itemsCount}}',\n\t\tprevious: 'Zurück',\n\t\tnext: 'Weiter',\n\t\tresultsA11y: 'Ergebnisse von {{from}} bis {{to}} von {{itemsCount}}',\n\t},\n\ten: {\n\t\tresults: '{{from}} – {{to}} out of {{itemsCount}}',\n\t\tprevious: 'Previous',\n\t\tnext: 'Next',\n\t\tresultsA11y: 'Results from {{from}} to {{to}} out of {{itemsCount}}',\n\t},\n\tes: {\n\t\tresults: '{{from}} - {{to}} de {{itemsCount}}',\n\t\tprevious: 'Anterior',\n\t\tnext: 'Siguiente',\n\t\tresultsA11y: 'Resultados de {{from}} a {{to}} de {{itemsCount}}',\n\t},\n\tit: {\n\t\tresults: '{{from}} - {{to}} su {{itemsCount}}',\n\t\tprevious: 'Precedente',\n\t\tnext: 'Successivo',\n\t\tresultsA11y: 'Risultati da {{from}} a {{to}} su {{itemsCount}}',\n\t},\n\tnl: {\n\t\tresults: '{{from}} – {{to}} van {{itemsCount}}',\n\t\tprevious: 'Vorige',\n\t\tnext: 'Volgende',\n\t\tresultsA11y: 'Resultaten van {{from}} tot {{to}} in {{itemsCount}}',\n\t},\n\tpt: {\n\t\tresults: '{{from}} – {{to}} em {{itemsCount}}',\n\t\tprevious: 'Anterior',\n\t\tnext: 'Seguinte',\n\t\tresultsA11y: 'Resultados de {{from}} a {{to}} {{itemsCount}}',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_PAGINATION_TRANSLATIONS = new InjectionToken('LuPaginationTranslations', {\n\tfactory: () => luPaginationTranslations,\n});\n\nexport interface LuPaginationLabel {\n\tresults: string;\n\tprevious: string;\n\tnext: string;\n\tresultsA11y: string;\n}\n\nexport const luPaginationTranslations: LuTranslation<LuPaginationLabel> = Translations;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, effect, input, output, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, IntlParamsPipe } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { LU_PAGINATION_TRANSLATIONS } from './pagination.translate';\n\n@Component({\n\tselector: 'lu-pagination',\n\ttemplateUrl: './pagination.component.html',\n\tstyleUrl: './pagination.component.scss',\n\timports: [IconComponent, IntlParamsPipe, ButtonComponent],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class PaginationComponent {\n\treadonly intl = input(...intlInputOptions(LU_PAGINATION_TRANSLATIONS));\n\n\t/**\n\t * Disabled the previous page arrow\n\t */\n\treadonly isFirstPage = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Disabled the next page arrow\n\t */\n\treadonly isLastPage = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Where the pagination start\n\t */\n\treadonly from = input<number | null>();\n\n\t/**\n\t * Where the pagination end\n\t */\n\treadonly to = input<number | null>();\n\n\t/**\n\t * Total number of items in the pagination\n\t */\n\treadonly itemsCount = input<number | null>();\n\n\t/**\n\t * Pagination mod (default or compact)\n\t */\n\treadonly mod = input<'default' | 'compact'>('default');\n\n\t/**\n\t * Emit event when click on previous arrow\n\t */\n\treadonly previousPage = output<void>();\n\n\t/**\n\t * Emit event when click on next arrow\n\t */\n\treadonly nextPage = output<void>();\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (this.mod() === 'default' && (this.from() === null || this.to() === null || this.itemsCount() === null)) {\n\t\t\t\tthrow new Error('Pagination in \"default\" mode requires \"from\", \"to\", and \"itemsCount\" inputs.');\n\t\t\t}\n\t\t});\n\t}\n}\n","<nav class=\"pagination\" role=\"navigation\" aria-label=\"pagination-count\" [class.mod-compact]=\"mod() === 'compact'\">\n\t@if (mod() === \"default\") {\n\t\t<div class=\"pagination-count\">\n\t\t\t<span class=\"pr-u-mask\"> {{ intl().resultsA11y | intlParams: { from: from(), to: to(), itemsCount: itemsCount() } }} </span>\n\t\t\t<span aria-hidden=\"true\"> {{ intl().results | intlParams: { from: from(), to: to(), itemsCount: itemsCount() } }} </span>\n\t\t</div>\n\t}\n\n\t<div class=\"pagination-scrolling\">\n\t\t<button type=\"button\" luButton=\"ghost\" size=\"S\" [disabled]=\"isFirstPage()\" (click)=\"previousPage.emit()\">\n\t\t\t<lu-icon icon=\"arrowChevronLeft\" />\n\t\t\t<span class=\"pr-u-mask\">{{ intl().previous }}</span>\n\t\t</button>\n\t\t<button type=\"button\" luButton=\"ghost\" size=\"S\" [disabled]=\"isLastPage()\" (click)=\"nextPage.emit()\">\n\t\t\t<lu-icon icon=\"arrowChevronRight\" />\n\t\t\t<span class=\"pr-u-mask\">{{ intl().next }}</span>\n\t\t</button>\n\t</div>\n</nav>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}