ng-primitives 0.123.0 → 0.124.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,15 +52,17 @@ const [NgpPaginationButtonStateToken, ngpPaginationButton, injectPaginationButto
52
52
  dataBinding(elementRef, 'data-selected', () => (selected() ? '' : null));
53
53
  // Listeners
54
54
  listener(elementRef, 'click', goToPage);
55
- listener(elementRef, 'keydown.space', handleOnEnter);
56
- listener(elementRef, 'keydown.enter', handleOnEnter);
55
+ listener(elementRef, 'keydown', handleKeydown);
57
56
  function goToPage() {
58
57
  if (disabled()) {
59
58
  return;
60
59
  }
61
60
  paginationState().goToPage(page());
62
61
  }
63
- function handleOnEnter(event) {
62
+ function handleKeydown(event) {
63
+ if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {
64
+ return;
65
+ }
64
66
  event.preventDefault();
65
67
  event.stopPropagation();
66
68
  goToPage();
@@ -120,15 +122,17 @@ const [NgpPaginationFirstStateToken, ngpPaginationFirst, injectPaginationFirstSt
120
122
  dataBinding(elementRef, 'data-first-page', () => (paginationState().firstPage() ? '' : null));
121
123
  // Listener
122
124
  listener(elementRef, 'click', goToFirstPage);
123
- listener(elementRef, 'keydown.enter', handleOnEnter);
124
- listener(elementRef, 'keydown.space', handleOnEnter);
125
+ listener(elementRef, 'keydown', handleKeydown);
125
126
  function goToFirstPage() {
126
127
  if (disabled()) {
127
128
  return;
128
129
  }
129
130
  paginationState().goToPage(1);
130
131
  }
131
- function handleOnEnter(event) {
132
+ function handleKeydown(event) {
133
+ if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {
134
+ return;
135
+ }
132
136
  event.preventDefault();
133
137
  event.stopPropagation();
134
138
  goToFirstPage();
@@ -181,15 +185,17 @@ const [NgpPaginationLastStateToken, ngpPaginationLast, injectPaginationLastState
181
185
  dataBinding(elementRef, 'data-last-page', () => (paginationState().lastPage() ? '' : null));
182
186
  // Listener
183
187
  listener(elementRef, 'click', goToLastPage);
184
- listener(elementRef, 'keydown.enter', handleOnEnter);
185
- listener(elementRef, 'keydown.space', handleOnEnter);
188
+ listener(elementRef, 'keydown', handleKeydown);
186
189
  function goToLastPage() {
187
190
  if (disabled()) {
188
191
  return;
189
192
  }
190
193
  paginationState().goToPage(paginationState().pageCount());
191
194
  }
192
- function handleOnEnter(event) {
195
+ function handleKeydown(event) {
196
+ if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {
197
+ return;
198
+ }
193
199
  event.preventDefault();
194
200
  event.stopPropagation();
195
201
  goToLastPage();
@@ -242,15 +248,17 @@ const [NgpPaginationNextStateToken, ngpPaginationNext, injectPaginationNextState
242
248
  dataBinding(elementRef, 'data-last-page', () => (paginationState().lastPage() ? '' : null));
243
249
  // Listener
244
250
  listener(elementRef, 'click', goToNextPage);
245
- listener(elementRef, 'keydown.enter', handleOnEnter);
246
- listener(elementRef, 'keydown.space', handleOnEnter);
251
+ listener(elementRef, 'keydown', handleKeydown);
247
252
  function goToNextPage() {
248
253
  if (disabled()) {
249
254
  return;
250
255
  }
251
256
  paginationState().goToPage(paginationState().page() + 1);
252
257
  }
253
- function handleOnEnter(event) {
258
+ function handleKeydown(event) {
259
+ if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {
260
+ return;
261
+ }
254
262
  event.preventDefault();
255
263
  event.stopPropagation();
256
264
  goToNextPage();
@@ -303,15 +311,17 @@ const [NgpPaginationPreviousStateToken, ngpPaginationPrevious, injectPaginationP
303
311
  dataBinding(elementRef, 'data-first-page', () => (paginationState().firstPage() ? '' : null));
304
312
  // Listener
305
313
  listener(elementRef, 'click', goToPreviousPage);
306
- listener(elementRef, 'keydown.enter', handleOnEnter);
307
- listener(elementRef, 'keydown.space', handleOnEnter);
314
+ listener(elementRef, 'keydown', handleKeydown);
308
315
  function goToPreviousPage() {
309
316
  if (disabled()) {
310
317
  return;
311
318
  }
312
319
  paginationState().goToPage(paginationState().page() - 1);
313
320
  }
314
- function handleOnEnter(event) {
321
+ function handleKeydown(event) {
322
+ if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {
323
+ return;
324
+ }
315
325
  event.preventDefault();
316
326
  event.stopPropagation();
317
327
  goToPreviousPage();
@@ -1 +1 @@
1
- {"version":3,"file":"ng-primitives-pagination.mjs","sources":["../../../../packages/ng-primitives/pagination/src/pagination/pagination-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-button/pagination-button-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-button/pagination-button.ts","../../../../packages/ng-primitives/pagination/src/pagination-first/pagination-first-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-first/pagination-first.ts","../../../../packages/ng-primitives/pagination/src/pagination-last/pagination-last-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-last/pagination-last.ts","../../../../packages/ng-primitives/pagination/src/pagination-next/pagination-next-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-next/pagination-next.ts","../../../../packages/ng-primitives/pagination/src/pagination-previous/pagination-previous-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-previous/pagination-previous.ts","../../../../packages/ng-primitives/pagination/src/pagination/pagination.ts","../../../../packages/ng-primitives/pagination/src/ng-primitives-pagination.ts"],"sourcesContent":["import { computed, signal, Signal, WritableSignal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport {\n attrBinding,\n controlledState,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n} from 'ng-primitives/state';\nimport { Observable } from 'rxjs';\n\nexport interface NgpPaginationState {\n /**\n * The currently selected page.\n */\n readonly page: WritableSignal<number>;\n /**\n * The total number of pages.\n */\n readonly pageCount: Signal<number>;\n /**\n * Whether the pagination is disabled.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Determine if we are on the first page.\n * @internal\n */\n readonly firstPage: Signal<boolean>;\n /**\n * Determine if we are on the last page.\n * @internal\n */\n readonly lastPage: Signal<boolean>;\n /**\n * The event that is fired when the page changes.\n */\n readonly pageChange: Observable<number>;\n /**\n * Go to the specified page.\n * @param page The page to go to.\n */\n goToPage: (page: number) => void;\n}\n\nexport interface NgpPaginationProps {\n /**\n * The currently selected page. When `undefined`, the pagination is uncontrolled\n * and seeds from `defaultPage`.\n */\n readonly page?: Signal<number | undefined>;\n /**\n * The default page for uncontrolled usage.\n */\n readonly defaultPage?: Signal<number>;\n /**\n * The total number of pages.\n */\n readonly pageCount?: Signal<number>;\n /**\n * Whether the pagination is disabled.\n */\n readonly disabled?: Signal<boolean>;\n /** Callback fired when the page state changes. */\n onPageChange: (page: number) => void;\n}\n\nexport const [\n NgpPaginationStateToken,\n ngpPagination,\n injectPaginationState,\n providePaginationState,\n] = createPrimitive(\n 'NgpPagination',\n ({\n page: _page = signal<number | undefined>(undefined),\n defaultPage: _defaultPage = signal<number>(1),\n pageCount: _pageCount = signal<number>(0),\n disabled: _disabled = signal<boolean>(false),\n onPageChange,\n }: NgpPaginationProps) => {\n const elementRef = injectElementRef();\n\n const [page, setPage, pageChange] = controlledState({\n value: _page,\n defaultValue: _defaultPage,\n onChange: onPageChange,\n });\n\n const firstPage = computed(() => page() === 1);\n const lastPage = computed(() => page() === _pageCount());\n\n // Host bindings\n attrBinding(elementRef, 'role', 'navigation');\n dataBinding(elementRef, 'data-page', () => page().toString());\n dataBinding(elementRef, 'data-page-count', () => _pageCount().toString());\n dataBinding(elementRef, 'data-first-page', () => (firstPage() ? '' : null));\n dataBinding(elementRef, 'data-last-page', () => (lastPage() ? '' : null));\n dataBinding(elementRef, 'data-disabled', () => (_disabled() ? '' : null));\n\n function goToPage(page: number) {\n // check if the page is within the bounds of the pagination\n if (page < 1 || page > _pageCount()) {\n return;\n }\n\n setPage(page);\n }\n\n return {\n page: deprecatedSetter(page, 'setPage', setPage),\n pageCount: _pageCount,\n pageChange,\n disabled: _disabled,\n firstPage,\n lastPage,\n goToPage,\n } satisfies NgpPaginationState;\n },\n);\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationButtonState {\n /**\n * Define the page this button represents.\n */\n readonly page: Signal<number>;\n /**\n * Whether the button is disabled, accounting for the parent pagination state.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Go to the page this button represents.\n */\n goToPage(): void;\n}\n\nexport interface NgpPaginationButtonProps {\n /**\n * Define the page this button represents.\n */\n readonly page?: Signal<number>;\n /**\n * Whether the button is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationButtonStateToken,\n ngpPaginationButton,\n injectPaginationButtonState,\n providePaginationButtonState,\n] = createPrimitive(\n 'NgpPaginationButton',\n ({\n page = signal<number>(-1),\n disabled: _disabled = signal<boolean>(false),\n }: NgpPaginationButtonProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const selected = computed(() => page() === paginationState().page());\n const disabled = computed(() => _disabled() || paginationState().disabled());\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n attrBinding(elementRef, 'aria-current', selected);\n dataBinding(elementRef, 'data-page', () => page().toString());\n dataBinding(elementRef, 'data-selected', () => (selected() ? '' : null));\n\n // Listeners\n listener(elementRef, 'click', goToPage);\n listener(elementRef, 'keydown.space', handleOnEnter);\n listener(elementRef, 'keydown.enter', handleOnEnter);\n\n function goToPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(page());\n }\n\n function handleOnEnter(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n goToPage();\n }\n\n return {\n page,\n disabled,\n goToPage,\n } satisfies NgpPaginationButtonState;\n },\n);\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, numberAttribute } from '@angular/core';\nimport { ngpPaginationButton } from './pagination-button-state';\n\n/**\n * The `NgpPaginationButton` directive is used to create a pagination button.\n */\n@Directive({\n selector: '[ngpPaginationButton]',\n exportAs: 'ngpPaginationButton',\n})\nexport class NgpPaginationButton {\n /**\n * Define the page this button represents.\n */\n readonly page = input.required<number, NumberInput>({\n alias: 'ngpPaginationButtonPage',\n transform: numberAttribute,\n });\n\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationButtonDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationButton({\n page: this.page,\n disabled: this.disabled,\n });\n\n /**\n * Go to the page this button represents.\n */\n goToPage(): void {\n return this.state.goToPage();\n }\n}\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationFirstState {\n /**\n * Whether the button is disabled, accounting for the parent pagination state.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Go to the first page.\n */\n goToFirstPage(): void;\n}\n\nexport interface NgpPaginationFirstProps {\n /**\n * Whether the button is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationFirstStateToken,\n ngpPaginationFirst,\n injectPaginationFirstState,\n providePaginationFirstState,\n] = createPrimitive(\n 'NgpPaginationFirst',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationFirstProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().firstPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-first-page', () => (paginationState().firstPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToFirstPage);\n listener(elementRef, 'keydown.enter', handleOnEnter);\n listener(elementRef, 'keydown.space', handleOnEnter);\n\n function goToFirstPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(1);\n }\n\n function handleOnEnter(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n goToFirstPage();\n }\n\n return {\n disabled,\n goToFirstPage,\n } satisfies NgpPaginationFirstState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationFirst } from './pagination-first-state';\n\n/**\n * The `NgpPaginationFirst` directive is used to create a pagination button that navigates to the first page.\n */\n@Directive({\n selector: '[ngpPaginationFirst]',\n exportAs: 'ngpPaginationFirst',\n})\nexport class NgpPaginationFirst {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationFirstDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationFirst({\n disabled: this.disabled,\n });\n\n /**\n * Go to the first page.\n */\n goToFirstPage() {\n return this.state.goToFirstPage();\n }\n}\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationLastState {\n /** Whether the button is disabled, accounting for the parent pagination state. */\n readonly disabled: Signal<boolean>;\n /** Go to the last page. */\n goToLastPage(): void;\n}\n\nexport interface NgpPaginationLastProps {\n /** Whether the button is disabled. */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationLastStateToken,\n ngpPaginationLast,\n injectPaginationLastState,\n providePaginationLastState,\n] = createPrimitive(\n 'NgpPaginationLast',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationLastProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().lastPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-last-page', () => (paginationState().lastPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToLastPage);\n listener(elementRef, 'keydown.enter', handleOnEnter);\n listener(elementRef, 'keydown.space', handleOnEnter);\n\n function goToLastPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(paginationState().pageCount());\n }\n\n function handleOnEnter(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n goToLastPage();\n }\n\n return {\n disabled,\n goToLastPage,\n } satisfies NgpPaginationLastState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationLast } from './pagination-last-state';\n\n/**\n * The `NgpPaginationLast` directive is used to create a pagination button that navigates to the last page.\n */\n@Directive({\n selector: '[ngpPaginationLast]',\n exportAs: 'ngpPaginationLast',\n})\nexport class NgpPaginationLast {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationLastDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationLast({\n disabled: this.disabled,\n });\n\n /**\n * Go to the last page.\n */\n goToLastPage(): void {\n this.state.goToLastPage();\n }\n}\n","import { computed, Signal, signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationNextState {\n /** Whether the button is disabled, accounting for the parent pagination state. */\n readonly disabled: Signal<boolean>;\n /** Go to the next page. */\n goToNextPage(): void;\n}\n\nexport interface NgpPaginationNextProps {\n /** Whether the button is disabled */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationNextStateToken,\n ngpPaginationNext,\n injectPaginationNextState,\n providePaginationNextState,\n] = createPrimitive(\n 'NgpPaginationNext',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationNextProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().lastPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-last-page', () => (paginationState().lastPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToNextPage);\n listener(elementRef, 'keydown.enter', handleOnEnter);\n listener(elementRef, 'keydown.space', handleOnEnter);\n\n function goToNextPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(paginationState().page() + 1);\n }\n\n function handleOnEnter(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n goToNextPage();\n }\n\n return {\n disabled,\n goToNextPage,\n } satisfies NgpPaginationNextState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationNext } from './pagination-next-state';\n\n/**\n * The `NgpPaginationNext` directive is used to create a pagination button that navigates to the next page.\n */\n@Directive({\n selector: '[ngpPaginationNext]',\n exportAs: 'ngpPaginationNext',\n})\nexport class NgpPaginationNext {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationNextDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationNext({\n disabled: this.disabled,\n });\n\n /**\n * Go to the next page.\n */\n goToNextPage(): void {\n return this.state.goToNextPage();\n }\n}\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationPreviousState {\n /**\n * Whether the button is disabled, accounting for the parent pagination state.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Go to the previous page.\n */\n goToPreviousPage(): void;\n}\n\nexport interface NgpPaginationPreviousProps {\n /**\n * Whether the button is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationPreviousStateToken,\n ngpPaginationPrevious,\n injectPaginationPreviousState,\n providePaginationPreviousState,\n] = createPrimitive(\n 'NgpPaginationPrevious',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationPreviousProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().firstPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-first-page', () => (paginationState().firstPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToPreviousPage);\n listener(elementRef, 'keydown.enter', handleOnEnter);\n listener(elementRef, 'keydown.space', handleOnEnter);\n\n function goToPreviousPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(paginationState().page() - 1);\n }\n\n function handleOnEnter(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n goToPreviousPage();\n }\n\n return {\n disabled,\n goToPreviousPage,\n } satisfies NgpPaginationPreviousState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationPrevious } from './pagination-previous-state';\n\n/**\n * The `NgpPaginationPrevious` directive is used to create a pagination button that navigates to the previous page.\n */\n@Directive({\n selector: '[ngpPaginationPrevious]',\n exportAs: 'ngpPaginationPrevious',\n})\nexport class NgpPaginationPrevious {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationPreviousDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationPrevious({\n disabled: this.disabled,\n });\n\n /**\n * Go to the previous page.\n */\n goToPreviousPage() {\n return this.state.goToPreviousPage();\n }\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, numberAttribute, output } from '@angular/core';\nimport { ngpPagination, providePaginationState } from './pagination-state';\n\n/**\n * The `NgpPagination` directive is used to create a pagination control.\n */\n@Directive({\n selector: '[ngpPagination]',\n exportAs: 'ngpPagination',\n providers: [providePaginationState()],\n})\nexport class NgpPagination {\n /**\n * The currently selected page. Leave unset for uncontrolled usage, where the\n * internal state is seeded from `defaultPage`.\n */\n readonly page = input<number | undefined, NumberInput>(undefined, {\n alias: 'ngpPaginationPage',\n transform: numberAttribute,\n });\n\n /**\n * The default page for uncontrolled usage.\n * @default 1\n */\n readonly defaultPage = input<number, NumberInput>(1, {\n alias: 'ngpPaginationDefaultPage',\n transform: numberAttribute,\n });\n\n /**\n * The event that is fired when the page changes.\n */\n readonly pageChange = output<number>({\n alias: 'ngpPaginationPageChange',\n });\n\n /**\n * The total number of pages.\n */\n readonly pageCount = input<number, NumberInput>(0, {\n alias: 'ngpPaginationPageCount',\n transform: numberAttribute,\n });\n\n /**\n * Whether the pagination is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The control state for the pagination.\n * @internal\n */\n protected readonly state = ngpPagination({\n page: this.page,\n defaultPage: this.defaultPage,\n pageCount: this.pageCount,\n disabled: this.disabled,\n onPageChange: (value: number) => this.pageChange.emit(value),\n });\n\n /**\n * Go to the specified page.\n * @param page The page to go to.\n */\n goToPage(page: number) {\n return this.state.goToPage(page);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-primitives-pagination.mjs","sources":["../../../../packages/ng-primitives/pagination/src/pagination/pagination-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-button/pagination-button-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-button/pagination-button.ts","../../../../packages/ng-primitives/pagination/src/pagination-first/pagination-first-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-first/pagination-first.ts","../../../../packages/ng-primitives/pagination/src/pagination-last/pagination-last-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-last/pagination-last.ts","../../../../packages/ng-primitives/pagination/src/pagination-next/pagination-next-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-next/pagination-next.ts","../../../../packages/ng-primitives/pagination/src/pagination-previous/pagination-previous-state.ts","../../../../packages/ng-primitives/pagination/src/pagination-previous/pagination-previous.ts","../../../../packages/ng-primitives/pagination/src/pagination/pagination.ts","../../../../packages/ng-primitives/pagination/src/ng-primitives-pagination.ts"],"sourcesContent":["import { computed, signal, Signal, WritableSignal } from '@angular/core';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport {\n attrBinding,\n controlledState,\n createPrimitive,\n dataBinding,\n deprecatedSetter,\n} from 'ng-primitives/state';\nimport { Observable } from 'rxjs';\n\nexport interface NgpPaginationState {\n /**\n * The currently selected page.\n */\n readonly page: WritableSignal<number>;\n /**\n * The total number of pages.\n */\n readonly pageCount: Signal<number>;\n /**\n * Whether the pagination is disabled.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Determine if we are on the first page.\n * @internal\n */\n readonly firstPage: Signal<boolean>;\n /**\n * Determine if we are on the last page.\n * @internal\n */\n readonly lastPage: Signal<boolean>;\n /**\n * The event that is fired when the page changes.\n */\n readonly pageChange: Observable<number>;\n /**\n * Go to the specified page.\n * @param page The page to go to.\n */\n goToPage: (page: number) => void;\n}\n\nexport interface NgpPaginationProps {\n /**\n * The currently selected page. When `undefined`, the pagination is uncontrolled\n * and seeds from `defaultPage`.\n */\n readonly page?: Signal<number | undefined>;\n /**\n * The default page for uncontrolled usage.\n */\n readonly defaultPage?: Signal<number>;\n /**\n * The total number of pages.\n */\n readonly pageCount?: Signal<number>;\n /**\n * Whether the pagination is disabled.\n */\n readonly disabled?: Signal<boolean>;\n /** Callback fired when the page state changes. */\n onPageChange: (page: number) => void;\n}\n\nexport const [\n NgpPaginationStateToken,\n ngpPagination,\n injectPaginationState,\n providePaginationState,\n] = createPrimitive(\n 'NgpPagination',\n ({\n page: _page = signal<number | undefined>(undefined),\n defaultPage: _defaultPage = signal<number>(1),\n pageCount: _pageCount = signal<number>(0),\n disabled: _disabled = signal<boolean>(false),\n onPageChange,\n }: NgpPaginationProps) => {\n const elementRef = injectElementRef();\n\n const [page, setPage, pageChange] = controlledState({\n value: _page,\n defaultValue: _defaultPage,\n onChange: onPageChange,\n });\n\n const firstPage = computed(() => page() === 1);\n const lastPage = computed(() => page() === _pageCount());\n\n // Host bindings\n attrBinding(elementRef, 'role', 'navigation');\n dataBinding(elementRef, 'data-page', () => page().toString());\n dataBinding(elementRef, 'data-page-count', () => _pageCount().toString());\n dataBinding(elementRef, 'data-first-page', () => (firstPage() ? '' : null));\n dataBinding(elementRef, 'data-last-page', () => (lastPage() ? '' : null));\n dataBinding(elementRef, 'data-disabled', () => (_disabled() ? '' : null));\n\n function goToPage(page: number) {\n // check if the page is within the bounds of the pagination\n if (page < 1 || page > _pageCount()) {\n return;\n }\n\n setPage(page);\n }\n\n return {\n page: deprecatedSetter(page, 'setPage', setPage),\n pageCount: _pageCount,\n pageChange,\n disabled: _disabled,\n firstPage,\n lastPage,\n goToPage,\n } satisfies NgpPaginationState;\n },\n);\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationButtonState {\n /**\n * Define the page this button represents.\n */\n readonly page: Signal<number>;\n /**\n * Whether the button is disabled, accounting for the parent pagination state.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Go to the page this button represents.\n */\n goToPage(): void;\n}\n\nexport interface NgpPaginationButtonProps {\n /**\n * Define the page this button represents.\n */\n readonly page?: Signal<number>;\n /**\n * Whether the button is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationButtonStateToken,\n ngpPaginationButton,\n injectPaginationButtonState,\n providePaginationButtonState,\n] = createPrimitive(\n 'NgpPaginationButton',\n ({\n page = signal<number>(-1),\n disabled: _disabled = signal<boolean>(false),\n }: NgpPaginationButtonProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const selected = computed(() => page() === paginationState().page());\n const disabled = computed(() => _disabled() || paginationState().disabled());\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n attrBinding(elementRef, 'aria-current', selected);\n dataBinding(elementRef, 'data-page', () => page().toString());\n dataBinding(elementRef, 'data-selected', () => (selected() ? '' : null));\n\n // Listeners\n listener(elementRef, 'click', goToPage);\n listener(elementRef, 'keydown', handleKeydown);\n\n function goToPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(page());\n }\n\n function handleKeydown(event: KeyboardEvent): void {\n if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n goToPage();\n }\n\n return {\n page,\n disabled,\n goToPage,\n } satisfies NgpPaginationButtonState;\n },\n);\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, numberAttribute } from '@angular/core';\nimport { ngpPaginationButton } from './pagination-button-state';\n\n/**\n * The `NgpPaginationButton` directive is used to create a pagination button.\n */\n@Directive({\n selector: '[ngpPaginationButton]',\n exportAs: 'ngpPaginationButton',\n})\nexport class NgpPaginationButton {\n /**\n * Define the page this button represents.\n */\n readonly page = input.required<number, NumberInput>({\n alias: 'ngpPaginationButtonPage',\n transform: numberAttribute,\n });\n\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationButtonDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationButton({\n page: this.page,\n disabled: this.disabled,\n });\n\n /**\n * Go to the page this button represents.\n */\n goToPage(): void {\n return this.state.goToPage();\n }\n}\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationFirstState {\n /**\n * Whether the button is disabled, accounting for the parent pagination state.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Go to the first page.\n */\n goToFirstPage(): void;\n}\n\nexport interface NgpPaginationFirstProps {\n /**\n * Whether the button is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationFirstStateToken,\n ngpPaginationFirst,\n injectPaginationFirstState,\n providePaginationFirstState,\n] = createPrimitive(\n 'NgpPaginationFirst',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationFirstProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().firstPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-first-page', () => (paginationState().firstPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToFirstPage);\n listener(elementRef, 'keydown', handleKeydown);\n\n function goToFirstPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(1);\n }\n\n function handleKeydown(event: KeyboardEvent): void {\n if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n goToFirstPage();\n }\n\n return {\n disabled,\n goToFirstPage,\n } satisfies NgpPaginationFirstState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationFirst } from './pagination-first-state';\n\n/**\n * The `NgpPaginationFirst` directive is used to create a pagination button that navigates to the first page.\n */\n@Directive({\n selector: '[ngpPaginationFirst]',\n exportAs: 'ngpPaginationFirst',\n})\nexport class NgpPaginationFirst {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationFirstDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationFirst({\n disabled: this.disabled,\n });\n\n /**\n * Go to the first page.\n */\n goToFirstPage() {\n return this.state.goToFirstPage();\n }\n}\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationLastState {\n /** Whether the button is disabled, accounting for the parent pagination state. */\n readonly disabled: Signal<boolean>;\n /** Go to the last page. */\n goToLastPage(): void;\n}\n\nexport interface NgpPaginationLastProps {\n /** Whether the button is disabled. */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationLastStateToken,\n ngpPaginationLast,\n injectPaginationLastState,\n providePaginationLastState,\n] = createPrimitive(\n 'NgpPaginationLast',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationLastProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().lastPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-last-page', () => (paginationState().lastPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToLastPage);\n listener(elementRef, 'keydown', handleKeydown);\n\n function goToLastPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(paginationState().pageCount());\n }\n\n function handleKeydown(event: KeyboardEvent): void {\n if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n goToLastPage();\n }\n\n return {\n disabled,\n goToLastPage,\n } satisfies NgpPaginationLastState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationLast } from './pagination-last-state';\n\n/**\n * The `NgpPaginationLast` directive is used to create a pagination button that navigates to the last page.\n */\n@Directive({\n selector: '[ngpPaginationLast]',\n exportAs: 'ngpPaginationLast',\n})\nexport class NgpPaginationLast {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationLastDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationLast({\n disabled: this.disabled,\n });\n\n /**\n * Go to the last page.\n */\n goToLastPage(): void {\n this.state.goToLastPage();\n }\n}\n","import { computed, Signal, signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationNextState {\n /** Whether the button is disabled, accounting for the parent pagination state. */\n readonly disabled: Signal<boolean>;\n /** Go to the next page. */\n goToNextPage(): void;\n}\n\nexport interface NgpPaginationNextProps {\n /** Whether the button is disabled */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationNextStateToken,\n ngpPaginationNext,\n injectPaginationNextState,\n providePaginationNextState,\n] = createPrimitive(\n 'NgpPaginationNext',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationNextProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().lastPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-last-page', () => (paginationState().lastPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToNextPage);\n listener(elementRef, 'keydown', handleKeydown);\n\n function goToNextPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(paginationState().page() + 1);\n }\n\n function handleKeydown(event: KeyboardEvent): void {\n if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n goToNextPage();\n }\n\n return {\n disabled,\n goToNextPage,\n } satisfies NgpPaginationNextState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationNext } from './pagination-next-state';\n\n/**\n * The `NgpPaginationNext` directive is used to create a pagination button that navigates to the next page.\n */\n@Directive({\n selector: '[ngpPaginationNext]',\n exportAs: 'ngpPaginationNext',\n})\nexport class NgpPaginationNext {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationNextDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationNext({\n disabled: this.disabled,\n });\n\n /**\n * Go to the next page.\n */\n goToNextPage(): void {\n return this.state.goToNextPage();\n }\n}\n","import { computed, signal, Signal } from '@angular/core';\nimport { ngpButton } from 'ng-primitives/button';\nimport { injectElementRef } from 'ng-primitives/internal';\nimport { attrBinding, createPrimitive, dataBinding, listener } from 'ng-primitives/state';\nimport { injectPaginationState } from '../pagination/pagination-state';\n\nexport interface NgpPaginationPreviousState {\n /**\n * Whether the button is disabled, accounting for the parent pagination state.\n */\n readonly disabled: Signal<boolean>;\n /**\n * Go to the previous page.\n */\n goToPreviousPage(): void;\n}\n\nexport interface NgpPaginationPreviousProps {\n /**\n * Whether the button is disabled.\n */\n readonly disabled?: Signal<boolean>;\n}\n\nexport const [\n NgpPaginationPreviousStateToken,\n ngpPaginationPrevious,\n injectPaginationPreviousState,\n providePaginationPreviousState,\n] = createPrimitive(\n 'NgpPaginationPrevious',\n ({ disabled: _disabled = signal<boolean>(false) }: NgpPaginationPreviousProps) => {\n const elementRef = injectElementRef();\n const paginationState = injectPaginationState();\n\n const disabled = computed(\n () => _disabled() || paginationState().disabled() || paginationState().firstPage(),\n );\n\n // Setup interactions\n ngpButton({ disabled: disabled });\n\n // Host binding\n attrBinding(elementRef, 'tabindex', () => (disabled() ? -1 : 0));\n dataBinding(elementRef, 'data-first-page', () => (paginationState().firstPage() ? '' : null));\n\n // Listener\n listener(elementRef, 'click', goToPreviousPage);\n listener(elementRef, 'keydown', handleKeydown);\n\n function goToPreviousPage(): void {\n if (disabled()) {\n return;\n }\n\n paginationState().goToPage(paginationState().page() - 1);\n }\n\n function handleKeydown(event: KeyboardEvent): void {\n if (event.repeat || (event.key !== 'Enter' && event.key !== ' ')) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n goToPreviousPage();\n }\n\n return {\n disabled,\n goToPreviousPage,\n } satisfies NgpPaginationPreviousState;\n },\n);\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { ngpPaginationPrevious } from './pagination-previous-state';\n\n/**\n * The `NgpPaginationPrevious` directive is used to create a pagination button that navigates to the previous page.\n */\n@Directive({\n selector: '[ngpPaginationPrevious]',\n exportAs: 'ngpPaginationPrevious',\n})\nexport class NgpPaginationPrevious {\n /**\n * Whether the button is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationPreviousDisabled',\n transform: booleanAttribute,\n });\n\n protected readonly state = ngpPaginationPrevious({\n disabled: this.disabled,\n });\n\n /**\n * Go to the previous page.\n */\n goToPreviousPage() {\n return this.state.goToPreviousPage();\n }\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input, numberAttribute, output } from '@angular/core';\nimport { ngpPagination, providePaginationState } from './pagination-state';\n\n/**\n * The `NgpPagination` directive is used to create a pagination control.\n */\n@Directive({\n selector: '[ngpPagination]',\n exportAs: 'ngpPagination',\n providers: [providePaginationState()],\n})\nexport class NgpPagination {\n /**\n * The currently selected page. Leave unset for uncontrolled usage, where the\n * internal state is seeded from `defaultPage`.\n */\n readonly page = input<number | undefined, NumberInput>(undefined, {\n alias: 'ngpPaginationPage',\n transform: numberAttribute,\n });\n\n /**\n * The default page for uncontrolled usage.\n * @default 1\n */\n readonly defaultPage = input<number, NumberInput>(1, {\n alias: 'ngpPaginationDefaultPage',\n transform: numberAttribute,\n });\n\n /**\n * The event that is fired when the page changes.\n */\n readonly pageChange = output<number>({\n alias: 'ngpPaginationPageChange',\n });\n\n /**\n * The total number of pages.\n */\n readonly pageCount = input<number, NumberInput>(0, {\n alias: 'ngpPaginationPageCount',\n transform: numberAttribute,\n });\n\n /**\n * Whether the pagination is disabled.\n */\n readonly disabled = input<boolean, BooleanInput>(false, {\n alias: 'ngpPaginationDisabled',\n transform: booleanAttribute,\n });\n\n /**\n * The control state for the pagination.\n * @internal\n */\n protected readonly state = ngpPagination({\n page: this.page,\n defaultPage: this.defaultPage,\n pageCount: this.pageCount,\n disabled: this.disabled,\n onPageChange: (value: number) => this.pageChange.emit(value),\n });\n\n /**\n * Go to the specified page.\n * @param page The page to go to.\n */\n goToPage(page: number) {\n return this.state.goToPage(page);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}