ng-primitives 0.3.0 → 0.5.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.
Files changed (89) hide show
  1. package/date-picker/README.md +3 -0
  2. package/date-picker/date-picker/date-picker.directive.d.ts +61 -0
  3. package/date-picker/date-picker/date-picker.token.d.ts +14 -0
  4. package/date-picker/date-picker-cell/date-picker-cell.directive.d.ts +17 -0
  5. package/date-picker/date-picker-cell/date-picker-cell.token.d.ts +14 -0
  6. package/date-picker/date-picker-cell-render/date-picker-cell-render.directive.d.ts +43 -0
  7. package/date-picker/date-picker-cell-render/date-picker-cell-render.token.d.ts +19 -0
  8. package/date-picker/date-picker-date-button/date-picker-date-button.directive.d.ts +99 -0
  9. package/date-picker/date-picker-date-button/date-picker-date-button.token.d.ts +14 -0
  10. package/date-picker/date-picker-grid/date-picker-grid.directive.d.ts +13 -0
  11. package/date-picker/date-picker-grid/date-picker-grid.token.d.ts +14 -0
  12. package/date-picker/date-picker-label/date-picker-label.directive.d.ts +17 -0
  13. package/date-picker/date-picker-label/date-picker-label.token.d.ts +14 -0
  14. package/date-picker/date-picker-next-month/date-picker-next-month.directive.d.ts +32 -0
  15. package/date-picker/date-picker-next-month/date-picker-next-month.token.d.ts +14 -0
  16. package/date-picker/date-picker-previous-month/date-picker-previous-month.directive.d.ts +32 -0
  17. package/date-picker/date-picker-previous-month/date-picker-previous-month.token.d.ts +14 -0
  18. package/date-picker/date-picker-row-render/date-picker-row-render.directive.d.ts +49 -0
  19. package/date-picker/date-picker-row-render/date-picker-row-render.token.d.ts +19 -0
  20. package/date-picker/index.d.ts +25 -0
  21. package/date-time/README.md +3 -0
  22. package/date-time/date-adapter/date-adapter.d.ts +169 -0
  23. package/date-time/date-adapter/date-adapter.token.d.ts +18 -0
  24. package/date-time/index.d.ts +9 -0
  25. package/date-time/native-date-adapter/native-date-adapter.d.ts +106 -0
  26. package/esm2022/date-picker/date-picker/date-picker.directive.mjs +117 -0
  27. package/esm2022/date-picker/date-picker/date-picker.token.mjs +16 -0
  28. package/esm2022/date-picker/date-picker-cell/date-picker-cell.directive.mjs +50 -0
  29. package/esm2022/date-picker/date-picker-cell/date-picker-cell.token.mjs +16 -0
  30. package/esm2022/date-picker/date-picker-cell-render/date-picker-cell-render.directive.mjs +72 -0
  31. package/esm2022/date-picker/date-picker-cell-render/date-picker-cell-render.token.mjs +23 -0
  32. package/esm2022/date-picker/date-picker-date-button/date-picker-date-button.directive.mjs +277 -0
  33. package/esm2022/date-picker/date-picker-date-button/date-picker-date-button.token.mjs +16 -0
  34. package/esm2022/date-picker/date-picker-grid/date-picker-grid.directive.mjs +40 -0
  35. package/esm2022/date-picker/date-picker-grid/date-picker-grid.token.mjs +16 -0
  36. package/esm2022/date-picker/date-picker-label/date-picker-label.directive.mjs +47 -0
  37. package/esm2022/date-picker/date-picker-label/date-picker-label.token.mjs +16 -0
  38. package/esm2022/date-picker/date-picker-next-month/date-picker-next-month.directive.mjs +103 -0
  39. package/esm2022/date-picker/date-picker-next-month/date-picker-next-month.token.mjs +16 -0
  40. package/esm2022/date-picker/date-picker-previous-month/date-picker-previous-month.directive.mjs +104 -0
  41. package/esm2022/date-picker/date-picker-previous-month/date-picker-previous-month.token.mjs +16 -0
  42. package/esm2022/date-picker/date-picker-row-render/date-picker-row-render.directive.mjs +118 -0
  43. package/esm2022/date-picker/date-picker-row-render/date-picker-row-render.token.mjs +23 -0
  44. package/esm2022/date-picker/index.mjs +26 -0
  45. package/esm2022/date-picker/ng-primitives-date-picker.mjs +5 -0
  46. package/esm2022/date-time/date-adapter/date-adapter.mjs +9 -0
  47. package/esm2022/date-time/date-adapter/date-adapter.token.mjs +24 -0
  48. package/esm2022/date-time/index.mjs +9 -0
  49. package/esm2022/date-time/native-date-adapter/native-date-adapter.mjs +149 -0
  50. package/esm2022/date-time/ng-primitives-date-time.mjs +5 -0
  51. package/esm2022/interactions/hover/hover.directive.mjs +9 -10
  52. package/esm2022/pagination/index.mjs +20 -0
  53. package/esm2022/pagination/ng-primitives-pagination.mjs +5 -0
  54. package/esm2022/pagination/pagination/pagination.directive.mjs +57 -0
  55. package/esm2022/pagination/pagination/pagination.token.mjs +16 -0
  56. package/esm2022/pagination/pagination-button/pagination-button.directive.mjs +75 -0
  57. package/esm2022/pagination/pagination-button/pagination-button.token.mjs +16 -0
  58. package/esm2022/pagination/pagination-first/pagination-first.directive.mjs +59 -0
  59. package/esm2022/pagination/pagination-first/pagination-first.token.mjs +16 -0
  60. package/esm2022/pagination/pagination-last/pagination-last.directive.mjs +59 -0
  61. package/esm2022/pagination/pagination-last/pagination-last.token.mjs +16 -0
  62. package/esm2022/pagination/pagination-next/pagination-next.directive.mjs +62 -0
  63. package/esm2022/pagination/pagination-next/pagination-next.token.mjs +16 -0
  64. package/esm2022/pagination/pagination-previous/pagination-previous.directive.mjs +62 -0
  65. package/esm2022/pagination/pagination-previous/pagination-previous.token.mjs +16 -0
  66. package/fesm2022/ng-primitives-date-picker.mjs +1044 -0
  67. package/fesm2022/ng-primitives-date-picker.mjs.map +1 -0
  68. package/fesm2022/ng-primitives-date-time.mjs +187 -0
  69. package/fesm2022/ng-primitives-date-time.mjs.map +1 -0
  70. package/fesm2022/ng-primitives-interactions.mjs +8 -10
  71. package/fesm2022/ng-primitives-interactions.mjs.map +1 -1
  72. package/fesm2022/ng-primitives-pagination.mjs +446 -0
  73. package/fesm2022/ng-primitives-pagination.mjs.map +1 -0
  74. package/interactions/hover/hover.directive.d.ts +3 -3
  75. package/package.json +36 -13
  76. package/pagination/README.md +3 -0
  77. package/pagination/index.d.ts +19 -0
  78. package/pagination/pagination/pagination.directive.d.ts +35 -0
  79. package/pagination/pagination/pagination.token.d.ts +14 -0
  80. package/pagination/pagination-button/pagination-button.directive.d.ts +39 -0
  81. package/pagination/pagination-button/pagination-button.token.d.ts +14 -0
  82. package/pagination/pagination-first/pagination-first.directive.d.ts +28 -0
  83. package/pagination/pagination-first/pagination-first.token.d.ts +14 -0
  84. package/pagination/pagination-last/pagination-last.directive.d.ts +28 -0
  85. package/pagination/pagination-last/pagination-last.token.d.ts +14 -0
  86. package/pagination/pagination-next/pagination-next.directive.d.ts +31 -0
  87. package/pagination/pagination-next/pagination-next.token.d.ts +14 -0
  88. package/pagination/pagination-previous/pagination-previous.directive.d.ts +31 -0
  89. package/pagination/pagination-previous/pagination-previous.token.d.ts +14 -0
@@ -1,6 +1,7 @@
1
1
  import { DOCUMENT, isPlatformBrowser } from '@angular/common';
2
2
  import { Directive, HostListener, Injectable, PLATFORM_ID, booleanAttribute, inject, input, output, signal, } from '@angular/core';
3
3
  import { injectDisabled } from 'ng-primitives/internal';
4
+ import { onChange } from 'ng-primitives/utils';
4
5
  import { NgpHoverToken } from './hover.token';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
@@ -95,14 +96,12 @@ export class NgpHover {
95
96
  * Emit an event when the hover state changes.
96
97
  */
97
98
  this.hoverChange = output({ alias: 'ngpHover' });
99
+ onChange(this.disabled, this.reset.bind(this));
100
+ onChange(this.isDisabled, this.reset.bind(this));
98
101
  }
99
- ngOnChanges(changes) {
100
- if ('disabled' in changes) {
101
- // if the component is suddenly disabled and is currently hovered
102
- // switch to the unhovered state.
103
- if (changes['disabled'].currentValue === true) {
104
- this.onHoverEnd('mouse');
105
- }
102
+ reset(shouldReset) {
103
+ if (shouldReset) {
104
+ this.onHoverEnd('mouse');
106
105
  }
107
106
  }
108
107
  /**
@@ -159,7 +158,7 @@ export class NgpHover {
159
158
  }
160
159
  }
161
160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
162
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpHover, isStandalone: true, selector: "[ngpHover]", inputs: { disabled: { classPropertyName: "disabled", publicName: "ngpHoverDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hoverStart: "ngpHoverStart", hoverEnd: "ngpHoverEnd", hoverChange: "ngpHover" }, host: { listeners: { "pointerenter": "onPointerEnter($event)", "pointerleave": "onPointerLeave($event)", "touchstart": "onTouchStart()", "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)" }, properties: { "attr.data-hover": "hovered()" } }, providers: [{ provide: NgpHoverToken, useExisting: NgpHover }], exportAs: ["ngpHover"], usesOnChanges: true, ngImport: i0 }); }
161
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpHover, isStandalone: true, selector: "[ngpHover]", inputs: { disabled: { classPropertyName: "disabled", publicName: "ngpHoverDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hoverStart: "ngpHoverStart", hoverEnd: "ngpHoverEnd", hoverChange: "ngpHover" }, host: { listeners: { "pointerenter": "onPointerEnter($event)", "pointerleave": "onPointerLeave($event)", "touchstart": "onTouchStart()", "mouseenter": "onMouseEnter($event)", "mouseleave": "onMouseLeave($event)" }, properties: { "attr.data-hover": "hovered()" } }, providers: [{ provide: NgpHoverToken, useExisting: NgpHover }], exportAs: ["ngpHover"], ngImport: i0 }); }
163
162
  }
164
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpHover, decorators: [{
165
164
  type: Directive,
@@ -172,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
172
171
  '[attr.data-hover]': 'hovered()',
173
172
  },
174
173
  }]
175
- }], propDecorators: { onPointerEnter: [{
174
+ }], ctorParameters: () => [], propDecorators: { onPointerEnter: [{
176
175
  type: HostListener,
177
176
  args: ['pointerenter', ['$event']]
178
177
  }], onPointerLeave: [{
@@ -188,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
188
187
  type: HostListener,
189
188
  args: ['mouseleave', ['$event']]
190
189
  }] } });
191
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9pbnRlcmFjdGlvbnMvc3JjL2hvdmVyL2hvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUVWLFdBQVcsRUFFWCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUU5Qzs7O0dBR0c7QUFDSCxNQUdNLG1CQUFtQjtJQWdCdkI7UUFmQTs7V0FFRztRQUNILDhCQUF5QixHQUFZLEtBQUssQ0FBQztRQUUzQzs7V0FFRztRQUNjLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFN0M7O1dBRUc7UUFDYyxlQUFVLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBR2hELDZDQUE2QztRQUM3QyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJ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LEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOzhHQTNIVSxRQUFRO2tHQUFSLFFBQVEsbWpCQUxSLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQzs7MkZBS25ELFFBQVE7a0JBVHBCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsVUFBVSxFQUFFLENBQUM7b0JBQzlELElBQUksRUFBRTt3QkFDSixtQkFBbUIsRUFBRSxXQUFXO3FCQUNqQztpQkFDRjs4QkEwRlcsY0FBYztzQkFEdkIsWUFBWTt1QkFBQyxjQUFjLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVTlCLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVE5QixZQUFZO3NCQURyQixZQUFZO3VCQUFDLFlBQVk7Z0JBTWhCLFlBQVk7c0JBRHJCLFlBQVk7dUJBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVU1QixZQUFZO3NCQURyQixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSAyLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSG9zdExpc3RlbmVyLFxuICBJbmplY3RhYmxlLFxuICBPbkNoYW5nZXMsXG4gIFBMQVRGT1JNX0lELFxuICBTaW1wbGVDaGFuZ2VzLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3REaXNhYmxlZCB9IGZyb20gJ25nLXByaW1pdGl2ZXMvaW50ZXJuYWwnO1xuaW1wb3J0IHsgTmdwSG92ZXJUb2tlbiB9IGZyb20gJy4vaG92ZXIudG9rZW4nO1xuXG4vKipcbiAqIFdlIHVzZSBhIHNlcnZpY2UgaGVyZSBhcyB0aGlzIHZhbHVlIGlzIGEgc2luZ2xldG9uXG4gKiBhbmQgYWxsb3dzIHVzIHRvIHJlZ2lzdGVyIHRoZSBkb20gZXZlbnRzIG9uY2UuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmNsYXNzIEdsb2JhbFBvaW50ZXJFdmVudHMge1xuICAvKipcbiAgICogV2hldGhlciBnbG9iYWwgbW91c2UgZXZlbnRzIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKi9cbiAgaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGRvY3VtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB0aGUgcGxhdGZvcm0gaWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIHdlIG9ubHkgd2FudCB0byBzZXR1cCBldmVudHMgb24gdGhlIGNsaWVudFxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnNldHVwR2xvYmFsVG91Y2hFdmVudHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwR2xvYmFsVG91Y2hFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLmhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5zZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgLy8gQ2xlYXIgZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyBhZnRlciBhIHNob3J0IHRpbWVvdXQuIGlPUyBmaXJlcyBvblBvaW50ZXJFbnRlclxuICAgIC8vIHdpdGggcG9pbnRlclR5cGU9XCJtb3VzZVwiIGltbWVkaWF0ZWx5IGFmdGVyIG9uUG9pbnRlclVwIGFuZCBiZWZvcmUgb25Gb2N1cy4gT24gb3RoZXJcbiAgICAvLyBkZXZpY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGlzIHF1aXJrLCB3ZSBkb24ndCB3YW50IHRvIGlnbm9yZSBhIG1vdXNlIGhvdmVyIHNvbWV0aW1lIGluXG4gICAgLy8gdGhlIGRpc3RhbnQgZnV0dXJlIGJlY2F1c2UgYSB1c2VyIHByZXZpb3VzbHkgdG91Y2hlZCB0aGUgZWxlbWVudC5cbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZSksIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlR2xvYmFsUG9pbnRlckV2ZW50KGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUgPT09ICd0b3VjaCcpIHtcbiAgICAgIHRoaXMuc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cygpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEEgZGlyZWN0aXZlIGZvciBub3JtYWxpemluZyBob3ZlciBldmVudHMgYWNyb3NzIHRoZSBkaWZmZXJlbnQgYnJvd3NlcnMgYW5kIGRldmljZXMuXG4gKlxuICogVGhpcyBpcyBhbiBBbmd1bGFyIHBvcnQgb2YgdGhlIHVzZUhvdmVyIGhvb2sgZnJvbVxuICogcmVhY3QtYXJpYTogaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlL3JlYWN0LXNwZWN0cnVtL2Jsb2IvbWFpbi9wYWNrYWdlcy8lNDByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9zcmMvdXNlSG92ZXIudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncEhvdmVyXScsXG4gIGV4cG9ydEFzOiAnbmdwSG92ZXInLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncEhvdmVyVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BIb3ZlciB9XSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWhvdmVyXSc6ICdob3ZlcmVkKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BIb3ZlciBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGdsb2JhbCBwb2ludGVyIGV2ZW50cyBoYW5kbGVyLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxQb2ludGVyRXZlbnRzID0gaW5qZWN0KEdsb2JhbFBvaW50ZXJFdmVudHMpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGhvdmluZyBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcbiAgICBhbGlhczogJ25ncEhvdmVyRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZGlzYWJsZWQgc3RhdGUgZnJvbSBhbnkgcGFyZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBpc0Rpc2FibGVkID0gaW5qZWN0RGlzYWJsZWQodGhpcy5kaXNhYmxlZCk7XG5cbiAgLyoqXG4gICAqIFN0b3JlIHRoZSBjdXJyZW50IGhvdmVyIHN0YXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGhvdmVyZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgZWxlbWVudCBzaG91bGQgaWdub3JlIGVtdWxhdGVkIG1vdXNlIGV2ZW50cy5cbiAgICovXG4gIHByaXZhdGUgaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbWl0IGFuIGV2ZW50IHdoZW4gaG92ZXJpbmcgc3RhcnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgaG92ZXJTdGFydCA9IG91dHB1dDx2b2lkPih7IGFsaWFzOiAnbmdwSG92ZXJTdGFydCcgfSk7XG5cbiAgLyoqXG4gICAqIEVtaXQgYW4gZXZlbnQgd2hlbiBob3ZlcmluZyBlbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgaG92ZXJFbmQgPSBvdXRwdXQ8dm9pZD4oeyBhbGlhczogJ25ncEhvdmVyRW5kJyB9KTtcblxuICAvKipcbiAgICogRW1pdCBhbiBldmVudCB3aGVuIHRoZSBob3ZlciBzdGF0ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgaG92ZXJDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oeyBhbGlhczogJ25ncEhvdmVyJyB9KTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKCdkaXNhYmxlZCcgaW4gY2hhbmdlcykge1xuICAgICAgLy8gaWYgdGhlIGNvbXBvbmVudCBpcyBzdWRkZW5seSBkaXNhYmxlZCBhbmQgaXMgY3VycmVudGx5IGhvdmVyZWRcbiAgICAgIC8vIHN3aXRjaCB0byB0aGUgdW5ob3ZlcmVkIHN0YXRlLlxuICAgICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10uY3VycmVudFZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIHRoaXMub25Ib3ZlckVuZCgnbW91c2UnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciB0aGUgaG92ZXIgc3RhcnQgZXZlbnRzLlxuICAgKiBAcGFyYW0gZXZlbnRcbiAgICogQHBhcmFtIHBvaW50ZXJUeXBlXG4gICAqL1xuICBwcml2YXRlIG9uSG92ZXJTdGFydChldmVudDogRXZlbnQsIHBvaW50ZXJUeXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmlzRGlzYWJsZWQoKSB8fFxuICAgICAgcG9pbnRlclR5cGUgPT09ICd0b3VjaCcgfHxcbiAgICAgIHRoaXMuaG92ZXJlZCgpIHx8XG4gICAgICAhKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgRWxlbWVudCk/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KVxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaG92ZXJlZC5zZXQodHJ1ZSk7XG4gICAgdGhpcy5ob3ZlclN0YXJ0LmVtaXQoKTtcbiAgICB0aGlzLmhvdmVyQ2hhbmdlLmVtaXQodHJ1ZSk7XG4gIH1cblxuICAvKipcbiAgICogVHJpZ2dlciB0aGUgaG92ZXIgZW5kIGV2ZW50cy5cbiAgICogQHBhcmFtIHBvaW50ZXJUeXBlXG4gICAqL1xuICBwcml2YXRlIG9uSG92ZXJFbmQocG9pbnRlclR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChwb2ludGVyVHlwZSA9PT0gJ3RvdWNoJyB8fCAhdGhpcy5ob3ZlcmVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmhvdmVyRW5kLmVtaXQoKTtcbiAgICB0aGlzLmhvdmVyQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmVudGVyJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uUG9pbnRlckVudGVyKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5nbG9iYWxQb2ludGVyRXZlbnRzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgZXZlbnQucG9pbnRlclR5cGUgPT09ICdtb3VzZScpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9uSG92ZXJTdGFydChldmVudCwgZXZlbnQucG9pbnRlclR5cGUpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigncG9pbnRlcmxlYXZlJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uUG9pbnRlckxlYXZlKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNEaXNhYmxlZCgpICYmIChldmVudC5jdXJyZW50VGFyZ2V0IGFzIEVsZW1lbnQpPy5jb250YWlucyhldmVudC50YXJnZXQgYXMgRWxlbWVudCkpIHtcbiAgICAgIHRoaXMub25Ib3ZlckVuZChldmVudC5wb2ludGVyVHlwZSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigndG91Y2hzdGFydCcpXG4gIHByb3RlY3RlZCBvblRvdWNoU3RhcnQoKTogdm9pZCB7XG4gICAgdGhpcy5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gdHJ1ZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZW50ZXInLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Nb3VzZUVudGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgJiYgIXRoaXMuZ2xvYmFsUG9pbnRlckV2ZW50cy5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKSB7XG4gICAgICB0aGlzLm9uSG92ZXJTdGFydChldmVudCwgJ21vdXNlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5pZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzID0gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJywgWyckZXZlbnQnXSlcbiAgcHJvdGVjdGVkIG9uTW91c2VMZWF2ZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKCkgJiYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgRWxlbWVudCk/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KSkge1xuICAgICAgdGhpcy5vbkhvdmVyRW5kKCdtb3VzZScpO1xuICAgIH1cbiAgfVxufVxuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG92ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9pbnRlcmFjdGlvbnMvc3JjL2hvdmVyL2hvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFOUM7OztHQUdHO0FBQ0gsTUFHTSxtQkFBbUI7SUFnQnZCO1FBZkE7O1dBRUc7UUFDSCw4QkFBeUIsR0FBWSxLQUFLLENBQUM7UUFFM0M7O1dBRUc7UUFDYyxhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdDOztXQUVHO1FBQ2MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUdoRCw2Q0FBNkM7UUFDN0MsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEYs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QUdTLFlBQVksQ0FBQyxLQUFpQjtRQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFLLEtBQUssQ0FBQyxhQUF5QixFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDOUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQzs4R0E1SFUsUUFBUTtrR0FBUixRQUFRLG1qQkFMUixDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJGQUtuRCxRQUFRO2tCQVRwQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLFVBQVUsRUFBRSxDQUFDO29CQUM5RCxJQUFJLEVBQUU7d0JBQ0osbUJBQW1CLEVBQUUsV0FBVztxQkFDakM7aUJBQ0Y7d0RBMkZXLGNBQWM7c0JBRHZCLFlBQVk7dUJBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVU5QixjQUFjO3NCQUR2QixZQUFZO3VCQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFROUIsWUFBWTtzQkFEckIsWUFBWTt1QkFBQyxZQUFZO2dCQU1oQixZQUFZO3NCQURyQixZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFVNUIsWUFBWTtzQkFEckIsWUFBWTt1QkFBQyxZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB0eXBlIHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0YWJsZSxcbiAgUExBVEZPUk1fSUQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdERpc2FibGVkIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9pbnRlcm5hbCc7XG5pbXBvcnQgeyBvbkNoYW5nZSB9IGZyb20gJ25nLXByaW1pdGl2ZXMvdXRpbHMnO1xuaW1wb3J0IHsgTmdwSG92ZXJUb2tlbiB9IGZyb20gJy4vaG92ZXIudG9rZW4nO1xuXG4vKipcbiAqIFdlIHVzZSBhIHNlcnZpY2UgaGVyZSBhcyB0aGlzIHZhbHVlIGlzIGEgc2luZ2xldG9uXG4gKiBhbmQgYWxsb3dzIHVzIHRvIHJlZ2lzdGVyIHRoZSBkb20gZXZlbnRzIG9uY2UuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmNsYXNzIEdsb2JhbFBvaW50ZXJFdmVudHMge1xuICAvKipcbiAgICogV2hldGhlciBnbG9iYWwgbW91c2UgZXZlbnRzIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgKi9cbiAgaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGRvY3VtZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSB0aGUgcGxhdGZvcm0gaWQuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIHdlIG9ubHkgd2FudCB0byBzZXR1cCBldmVudHMgb24gdGhlIGNsaWVudFxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICB0aGlzLnNldHVwR2xvYmFsVG91Y2hFdmVudHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwR2xvYmFsVG91Y2hFdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLmhhbmRsZUdsb2JhbFBvaW50ZXJFdmVudC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5zZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRHbG9iYWxJZ25vcmVFbXVsYXRlZE1vdXNlRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyA9IHRydWU7XG4gICAgLy8gQ2xlYXIgZ2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyBhZnRlciBhIHNob3J0IHRpbWVvdXQuIGlPUyBmaXJlcyBvblBvaW50ZXJFbnRlclxuICAgIC8vIHdpdGggcG9pbnRlclR5cGU9XCJtb3VzZVwiIGltbWVkaWF0ZWx5IGFmdGVyIG9uUG9pbnRlclVwIGFuZCBiZWZvcmUgb25Gb2N1cy4gT24gb3RoZXJcbiAgICAvLyBkZXZpY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGlzIHF1aXJrLCB3ZSBkb24ndCB3YW50IHRvIGlnbm9yZSBhIG1vdXNlIGhvdmVyIHNvbWV0aW1lIGluXG4gICAgLy8gdGhlIGRpc3RhbnQgZnV0dXJlIGJlY2F1c2UgYSB1c2VyIHByZXZpb3VzbHkgdG91Y2hlZCB0aGUgZWxlbWVudC5cbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZSksIDUwKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlR2xvYmFsUG9pbnRlckV2ZW50KGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQucG9pbnRlclR5cGUgPT09ICd0b3VjaCcpIHtcbiAgICAgIHRoaXMuc2V0R2xvYmFsSWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cygpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEEgZGlyZWN0aXZlIGZvciBub3JtYWxpemluZyBob3ZlciBldmVudHMgYWNyb3NzIHRoZSBkaWZmZXJlbnQgYnJvd3NlcnMgYW5kIGRldmljZXMuXG4gKlxuICogVGhpcyBpcyBhbiBBbmd1bGFyIHBvcnQgb2YgdGhlIHVzZUhvdmVyIGhvb2sgZnJvbVxuICogcmVhY3QtYXJpYTogaHR0cHM6Ly9naXRodWIuY29tL2Fkb2JlL3JlYWN0LXNwZWN0cnVtL2Jsb2IvbWFpbi9wYWNrYWdlcy8lNDByZWFjdC1hcmlhL2ludGVyYWN0aW9ucy9zcmMvdXNlSG92ZXIudHNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncEhvdmVyXScsXG4gIGV4cG9ydEFzOiAnbmdwSG92ZXInLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5ncEhvdmVyVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BIb3ZlciB9XSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5kYXRhLWhvdmVyXSc6ICdob3ZlcmVkKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBOZ3BIb3ZlciB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIGdsb2JhbCBwb2ludGVyIGV2ZW50cyBoYW5kbGVyLlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBnbG9iYWxQb2ludGVyRXZlbnRzID0gaW5qZWN0KEdsb2JhbFBvaW50ZXJFdmVudHMpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGhvdmluZyBzaG91bGQgYmUgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcbiAgICBhbGlhczogJ25ncEhvdmVyRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIEFjY2VzcyB0aGUgZGlzYWJsZWQgc3RhdGUgZnJvbSBhbnkgcGFyZW50LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBpc0Rpc2FibGVkID0gaW5qZWN0RGlzYWJsZWQodGhpcy5kaXNhYmxlZCk7XG5cbiAgLyoqXG4gICAqIFN0b3JlIHRoZSBjdXJyZW50IGhvdmVyIHN0YXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGhvdmVyZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgZWxlbWVudCBzaG91bGQgaWdub3JlIGVtdWxhdGVkIG1vdXNlIGV2ZW50cy5cbiAgICovXG4gIHByaXZhdGUgaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbWl0IGFuIGV2ZW50IHdoZW4gaG92ZXJpbmcgc3RhcnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgaG92ZXJTdGFydCA9IG91dHB1dDx2b2lkPih7IGFsaWFzOiAnbmdwSG92ZXJTdGFydCcgfSk7XG5cbiAgLyoqXG4gICAqIEVtaXQgYW4gZXZlbnQgd2hlbiBob3ZlcmluZyBlbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgaG92ZXJFbmQgPSBvdXRwdXQ8dm9pZD4oeyBhbGlhczogJ25ncEhvdmVyRW5kJyB9KTtcblxuICAvKipcbiAgICogRW1pdCBhbiBldmVudCB3aGVuIHRoZSBob3ZlciBzdGF0ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgaG92ZXJDaGFuZ2UgPSBvdXRwdXQ8Ym9vbGVhbj4oeyBhbGlhczogJ25ncEhvdmVyJyB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBvbkNoYW5nZSh0aGlzLmRpc2FibGVkLCB0aGlzLnJlc2V0LmJpbmQodGhpcykpO1xuICAgIG9uQ2hhbmdlKHRoaXMuaXNEaXNhYmxlZCwgdGhpcy5yZXNldC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoc2hvdWxkUmVzZXQ/OiBib29sZWFuIHwgbnVsbCk6IHZvaWQge1xuICAgIGlmIChzaG91bGRSZXNldCkge1xuICAgICAgdGhpcy5vbkhvdmVyRW5kKCdtb3VzZScpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHRoZSBob3ZlciBzdGFydCBldmVudHMuXG4gICAqIEBwYXJhbSBldmVudFxuICAgKiBAcGFyYW0gcG9pbnRlclR5cGVcbiAgICovXG4gIHByaXZhdGUgb25Ib3ZlclN0YXJ0KGV2ZW50OiBFdmVudCwgcG9pbnRlclR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHRoaXMuaXNEaXNhYmxlZCgpIHx8XG4gICAgICBwb2ludGVyVHlwZSA9PT0gJ3RvdWNoJyB8fFxuICAgICAgdGhpcy5ob3ZlcmVkKCkgfHxcbiAgICAgICEoZXZlbnQuY3VycmVudFRhcmdldCBhcyBFbGVtZW50KT8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5ob3ZlcmVkLnNldCh0cnVlKTtcbiAgICB0aGlzLmhvdmVyU3RhcnQuZW1pdCgpO1xuICAgIHRoaXMuaG92ZXJDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIHRoZSBob3ZlciBlbmQgZXZlbnRzLlxuICAgKiBAcGFyYW0gcG9pbnRlclR5cGVcbiAgICovXG4gIHByaXZhdGUgb25Ib3ZlckVuZChwb2ludGVyVHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHBvaW50ZXJUeXBlID09PSAndG91Y2gnIHx8ICF0aGlzLmhvdmVyZWQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaG92ZXJlZC5zZXQoZmFsc2UpO1xuICAgIHRoaXMuaG92ZXJFbmQuZW1pdCgpO1xuICAgIHRoaXMuaG92ZXJDaGFuZ2UuZW1pdChmYWxzZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVyZW50ZXInLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Qb2ludGVyRW50ZXIoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmdsb2JhbFBvaW50ZXJFdmVudHMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyAmJiBldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub25Ib3ZlclN0YXJ0KGV2ZW50LCBldmVudC5wb2ludGVyVHlwZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdwb2ludGVybGVhdmUnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Qb2ludGVyTGVhdmUoZXZlbnQ6IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0Rpc2FibGVkKCkgJiYgKGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgRWxlbWVudCk/LmNvbnRhaW5zKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KSkge1xuICAgICAgdGhpcy5vbkhvdmVyRW5kKGV2ZW50LnBvaW50ZXJUeXBlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd0b3VjaHN0YXJ0JylcbiAgcHJvdGVjdGVkIG9uVG91Y2hTdGFydCgpOiB2b2lkIHtcbiAgICB0aGlzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSB0cnVlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pXG4gIHByb3RlY3RlZCBvbk1vdXNlRW50ZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaWdub3JlRW11bGF0ZWRNb3VzZUV2ZW50cyAmJiAhdGhpcy5nbG9iYWxQb2ludGVyRXZlbnRzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMpIHtcbiAgICAgIHRoaXMub25Ib3ZlclN0YXJ0KGV2ZW50LCAnbW91c2UnKTtcbiAgICB9XG5cbiAgICB0aGlzLmlnbm9yZUVtdWxhdGVkTW91c2VFdmVudHMgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCBbJyRldmVudCddKVxuICBwcm90ZWN0ZWQgb25Nb3VzZUxlYXZlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRGlzYWJsZWQoKSAmJiAoZXZlbnQuY3VycmVudFRhcmdldCBhcyBFbGVtZW50KT8uY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpKSB7XG4gICAgICB0aGlzLm9uSG92ZXJFbmQoJ21vdXNlJyk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the Apache 2.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ export { NgpPagination } from './pagination/pagination.directive';
9
+ export { NgpPaginationToken } from './pagination/pagination.token';
10
+ export { NgpPaginationButton } from './pagination-button/pagination-button.directive';
11
+ export { NgpPaginationButtonToken } from './pagination-button/pagination-button.token';
12
+ export { NgpPaginationPrevious } from './pagination-previous/pagination-previous.directive';
13
+ export { NgpPaginationPreviousToken } from './pagination-previous/pagination-previous.token';
14
+ export { NgpPaginationNext } from './pagination-next/pagination-next.directive';
15
+ export { NgpPaginationNextToken } from './pagination-next/pagination-next.token';
16
+ export { NgpPaginationFirst } from './pagination-first/pagination-first.directive';
17
+ export { NgpPaginationFirstToken } from './pagination-first/pagination-first.token';
18
+ export { NgpPaginationLast } from './pagination-last/pagination-last.directive';
19
+ export { NgpPaginationLastToken } from './pagination-last/pagination-last.token';
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3BhZ2luYXRpb24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN0RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSAyLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5leHBvcnQgeyBOZ3BQYWdpbmF0aW9uIH0gZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IE5ncFBhZ2luYXRpb25Ub2tlbiB9IGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRva2VuJztcbmV4cG9ydCB7IE5ncFBhZ2luYXRpb25CdXR0b24gfSBmcm9tICcuL3BhZ2luYXRpb24tYnV0dG9uL3BhZ2luYXRpb24tYnV0dG9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBOZ3BQYWdpbmF0aW9uQnV0dG9uVG9rZW4gfSBmcm9tICcuL3BhZ2luYXRpb24tYnV0dG9uL3BhZ2luYXRpb24tYnV0dG9uLnRva2VuJztcbmV4cG9ydCB7IE5ncFBhZ2luYXRpb25QcmV2aW91cyB9IGZyb20gJy4vcGFnaW5hdGlvbi1wcmV2aW91cy9wYWdpbmF0aW9uLXByZXZpb3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBOZ3BQYWdpbmF0aW9uUHJldmlvdXNUb2tlbiB9IGZyb20gJy4vcGFnaW5hdGlvbi1wcmV2aW91cy9wYWdpbmF0aW9uLXByZXZpb3VzLnRva2VuJztcbmV4cG9ydCB7IE5ncFBhZ2luYXRpb25OZXh0IH0gZnJvbSAnLi9wYWdpbmF0aW9uLW5leHQvcGFnaW5hdGlvbi1uZXh0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBOZ3BQYWdpbmF0aW9uTmV4dFRva2VuIH0gZnJvbSAnLi9wYWdpbmF0aW9uLW5leHQvcGFnaW5hdGlvbi1uZXh0LnRva2VuJztcbmV4cG9ydCB7IE5ncFBhZ2luYXRpb25GaXJzdCB9IGZyb20gJy4vcGFnaW5hdGlvbi1maXJzdC9wYWdpbmF0aW9uLWZpcnN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBOZ3BQYWdpbmF0aW9uRmlyc3RUb2tlbiB9IGZyb20gJy4vcGFnaW5hdGlvbi1maXJzdC9wYWdpbmF0aW9uLWZpcnN0LnRva2VuJztcbmV4cG9ydCB7IE5ncFBhZ2luYXRpb25MYXN0IH0gZnJvbSAnLi9wYWdpbmF0aW9uLWxhc3QvcGFnaW5hdGlvbi1sYXN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBOZ3BQYWdpbmF0aW9uTGFzdFRva2VuIH0gZnJvbSAnLi9wYWdpbmF0aW9uLWxhc3QvcGFnaW5hdGlvbi1sYXN0LnRva2VuJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctcHJpbWl0aXZlcy1wYWdpbmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9wYWdpbmF0aW9uL3NyYy9uZy1wcmltaXRpdmVzLXBhZ2luYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,57 @@
1
+ import { booleanAttribute, computed, Directive, input, model, numberAttribute, } from '@angular/core';
2
+ import { NgpPaginationToken } from './pagination.token';
3
+ import * as i0 from "@angular/core";
4
+ export class NgpPagination {
5
+ constructor() {
6
+ /**
7
+ * The currently selected page.
8
+ */
9
+ this.page = model(1, {
10
+ alias: 'ngpPaginationPage',
11
+ });
12
+ /**
13
+ * The total number of pages.
14
+ */
15
+ this.pageCount = input.required({
16
+ alias: 'ngpPaginationPageCount',
17
+ transform: numberAttribute,
18
+ });
19
+ /**
20
+ * Whether the pagination is disabled.
21
+ */
22
+ this.disabled = input(false, {
23
+ alias: 'ngpPaginationDisabled',
24
+ transform: booleanAttribute,
25
+ });
26
+ /**
27
+ * Determine if we are on the first page.
28
+ * @internal
29
+ */
30
+ this.firstPage = computed(() => this.page() === 1);
31
+ /**
32
+ * Determine if we are on the last page.
33
+ * @internal
34
+ */
35
+ this.lastPage = computed(() => this.page() === this.pageCount());
36
+ }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPagination, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpPagination, isStandalone: true, selector: "[ngpPagination]", inputs: { page: { classPropertyName: "page", publicName: "ngpPaginationPage", isSignal: true, isRequired: false, transformFunction: null }, pageCount: { classPropertyName: "pageCount", publicName: "ngpPaginationPageCount", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "ngpPaginationDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { page: "ngpPaginationPageChange" }, host: { attributes: { "role": "navigation" }, properties: { "attr.data-page": "page()", "attr.data-page-count": "pageCount()", "attr.data-first-page": "firstPage()", "attr.data-last-page": "lastPage()", "attr.data-disabled": "disabled()" } }, providers: [{ provide: NgpPaginationToken, useExisting: NgpPagination }], exportAs: ["ngpPagination"], ngImport: i0 }); }
39
+ }
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPagination, decorators: [{
41
+ type: Directive,
42
+ args: [{
43
+ standalone: true,
44
+ selector: '[ngpPagination]',
45
+ exportAs: 'ngpPagination',
46
+ providers: [{ provide: NgpPaginationToken, useExisting: NgpPagination }],
47
+ host: {
48
+ role: 'navigation',
49
+ '[attr.data-page]': 'page()',
50
+ '[attr.data-page-count]': 'pageCount()',
51
+ '[attr.data-first-page]': 'firstPage()',
52
+ '[attr.data-last-page]': 'lastPage()',
53
+ '[attr.data-disabled]': 'disabled()',
54
+ },
55
+ }]
56
+ }] });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3BhZ2luYXRpb24vc3JjL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsU0FBUyxFQUNULEtBQUssRUFDTCxLQUFLLEVBQ0wsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFnQnhELE1BQU0sT0FBTyxhQUFhO0lBZDFCO1FBZUU7O1dBRUc7UUFDTSxTQUFJLEdBQUcsS0FBSyxDQUFTLENBQUMsRUFBRTtZQUMvQixLQUFLLEVBQUUsbUJBQW1CO1NBQzNCLENBQUMsQ0FBQztRQUVIOztXQUVHO1FBQ00sY0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQXNCO1lBQ3ZELEtBQUssRUFBRSx3QkFBd0I7WUFDL0IsU0FBUyxFQUFFLGVBQWU7U0FDM0IsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUF3QixLQUFLLEVBQUU7WUFDdEQsS0FBSyxFQUFFLHVCQUF1QjtZQUM5QixTQUFTLEVBQUUsZ0JBQWdCO1NBQzVCLENBQUMsQ0FBQztRQUVIOzs7V0FHRztRQUNNLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBRXZEOzs7V0FHRztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0tBQ3RFOzhHQW5DWSxhQUFhO2tHQUFiLGFBQWEsMndCQVZiLENBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxDQUFDOzsyRkFVN0QsYUFBYTtrQkFkekIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsZUFBZSxFQUFFLENBQUM7b0JBQ3hFLElBQUksRUFBRTt3QkFDSixJQUFJLEVBQUUsWUFBWTt3QkFDbEIsa0JBQWtCLEVBQUUsUUFBUTt3QkFDNUIsd0JBQXdCLEVBQUUsYUFBYTt3QkFDdkMsd0JBQXdCLEVBQUUsYUFBYTt3QkFDdkMsdUJBQXVCLEVBQUUsWUFBWTt3QkFDckMsc0JBQXNCLEVBQUUsWUFBWTtxQkFDckM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIERpcmVjdGl2ZSxcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBudW1iZXJBdHRyaWJ1dGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdwUGFnaW5hdGlvblRva2VuIH0gZnJvbSAnLi9wYWdpbmF0aW9uLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFBhZ2luYXRpb25dJyxcbiAgZXhwb3J0QXM6ICduZ3BQYWdpbmF0aW9uJyxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBOZ3BQYWdpbmF0aW9uVG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BQYWdpbmF0aW9uIH1dLFxuICBob3N0OiB7XG4gICAgcm9sZTogJ25hdmlnYXRpb24nLFxuICAgICdbYXR0ci5kYXRhLXBhZ2VdJzogJ3BhZ2UoKScsXG4gICAgJ1thdHRyLmRhdGEtcGFnZS1jb3VudF0nOiAncGFnZUNvdW50KCknLFxuICAgICdbYXR0ci5kYXRhLWZpcnN0LXBhZ2VdJzogJ2ZpcnN0UGFnZSgpJyxcbiAgICAnW2F0dHIuZGF0YS1sYXN0LXBhZ2VdJzogJ2xhc3RQYWdlKCknLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwUGFnaW5hdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIHBhZ2UuXG4gICAqL1xuICByZWFkb25seSBwYWdlID0gbW9kZWw8bnVtYmVyPigxLCB7XG4gICAgYWxpYXM6ICduZ3BQYWdpbmF0aW9uUGFnZScsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIHBhZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFnZUNvdW50ID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyLCBOdW1iZXJJbnB1dD4oe1xuICAgIGFsaWFzOiAnbmdwUGFnaW5hdGlvblBhZ2VDb3VudCcsXG4gICAgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwYWdpbmF0aW9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7XG4gICAgYWxpYXM6ICduZ3BQYWdpbmF0aW9uRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSBpZiB3ZSBhcmUgb24gdGhlIGZpcnN0IHBhZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgZmlyc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlKCkgPT09IDEpO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgaWYgd2UgYXJlIG9uIHRoZSBsYXN0IHBhZ2UuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcmVhZG9ubHkgbGFzdFBhZ2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhZ2UoKSA9PT0gdGhpcy5wYWdlQ291bnQoKSk7XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the Apache 2.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken, inject } from '@angular/core';
9
+ export const NgpPaginationToken = new InjectionToken('NgpPaginationToken');
10
+ /**
11
+ * Inject the Pagination directive instance
12
+ */
13
+ export function injectPagination() {
14
+ return inject(NgpPaginationToken);
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvcGFnaW5hdGlvbi9zcmMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFnQixvQkFBb0IsQ0FBQyxDQUFDO0FBRTFGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQjtJQUM5QixPQUFPLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmdwUGFnaW5hdGlvbiB9IGZyb20gJy4vcGFnaW5hdGlvbi5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgTmdwUGFnaW5hdGlvblRva2VuID0gbmV3IEluamVjdGlvblRva2VuPE5ncFBhZ2luYXRpb24+KCdOZ3BQYWdpbmF0aW9uVG9rZW4nKTtcblxuLyoqXG4gKiBJbmplY3QgdGhlIFBhZ2luYXRpb24gZGlyZWN0aXZlIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQYWdpbmF0aW9uKCk6IE5ncFBhZ2luYXRpb24ge1xuICByZXR1cm4gaW5qZWN0KE5ncFBhZ2luYXRpb25Ub2tlbik7XG59XG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { booleanAttribute, computed, Directive, HostListener, input, numberAttribute, } from '@angular/core';
2
+ import { NgpButton } from 'ng-primitives/button';
3
+ import { NgpDisabledToken } from 'ng-primitives/internal';
4
+ import { injectPagination } from '../pagination/pagination.token';
5
+ import { NgpPaginationButtonToken } from './pagination-button.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ng-primitives/button";
8
+ export class NgpPaginationButton {
9
+ constructor() {
10
+ /**
11
+ * Access the pagination directive.
12
+ */
13
+ this.pagination = injectPagination();
14
+ /**
15
+ * Define the page this button represents.
16
+ */
17
+ this.page = input.required({
18
+ alias: 'ngpPaginationButtonPage',
19
+ transform: numberAttribute,
20
+ });
21
+ /**
22
+ * Whether the button is disabled.
23
+ */
24
+ this.buttonDisabled = input(false, {
25
+ alias: 'ngpPaginationButtonDisabled',
26
+ transform: booleanAttribute,
27
+ });
28
+ /**
29
+ * Whether the button is disabled.
30
+ */
31
+ this.disabled = computed(() => this.buttonDisabled() || this.pagination.disabled());
32
+ /**
33
+ * Whether this page is the currently selected page.
34
+ */
35
+ this.selected = computed(() => this.page() === this.pagination.page());
36
+ }
37
+ /**
38
+ * Go to the page this button represents.
39
+ */
40
+ goToPage() {
41
+ if (this.disabled()) {
42
+ return;
43
+ }
44
+ this.pagination.page.set(this.page());
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpPaginationButton, isStandalone: true, selector: "[ngpPaginationButton]", inputs: { page: { classPropertyName: "page", publicName: "ngpPaginationButtonPage", isSignal: true, isRequired: true, transformFunction: null }, buttonDisabled: { classPropertyName: "buttonDisabled", publicName: "ngpPaginationButtonDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "goToPage()" }, properties: { "tabindex": "disabled() ? -1 : 0", "attr.data-disabled": "disabled() || pagination.disabled()", "attr.data-page": "page()", "attr.data-selected": "selected()", "attr.aria-current": "selected()" } }, providers: [
48
+ { provide: NgpPaginationButtonToken, useExisting: NgpPaginationButton },
49
+ { provide: NgpDisabledToken, useExisting: NgpPaginationButton },
50
+ ], exportAs: ["ngpPaginationButton"], hostDirectives: [{ directive: i1.NgpButton }], ngImport: i0 }); }
51
+ }
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationButton, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ standalone: true,
56
+ selector: '[ngpPaginationButton]',
57
+ exportAs: 'ngpPaginationButton',
58
+ providers: [
59
+ { provide: NgpPaginationButtonToken, useExisting: NgpPaginationButton },
60
+ { provide: NgpDisabledToken, useExisting: NgpPaginationButton },
61
+ ],
62
+ hostDirectives: [NgpButton],
63
+ host: {
64
+ '[tabindex]': 'disabled() ? -1 : 0',
65
+ '[attr.data-disabled]': 'disabled() || pagination.disabled()',
66
+ '[attr.data-page]': 'page()',
67
+ '[attr.data-selected]': 'selected()',
68
+ '[attr.aria-current]': 'selected()',
69
+ },
70
+ }]
71
+ }], propDecorators: { goToPage: [{
72
+ type: HostListener,
73
+ args: ['click']
74
+ }] } });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9wYWdpbmF0aW9uL3NyYy9wYWdpbmF0aW9uLWJ1dHRvbi9wYWdpbmF0aW9uLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsZUFBZSxHQUNoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFtQnJFLE1BQU0sT0FBTyxtQkFBbUI7SUFqQmhDO1FBa0JFOztXQUVHO1FBQ2dCLGVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBRW5EOztXQUVHO1FBQ00sU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQXNCO1lBQ2xELEtBQUssRUFBRSx5QkFBeUI7WUFDaEMsU0FBUyxFQUFFLGVBQWU7U0FDM0IsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQzVELEtBQUssRUFBRSw2QkFBNkI7WUFDcEMsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUV4Rjs7V0FFRztRQUNnQixhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7S0FhdEY7SUFYQzs7T0FFRztJQUVILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBMUNVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDBuQkFibkI7WUFDVCxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUU7WUFDdkUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFO1NBQ2hFOzsyRkFVVSxtQkFBbUI7a0JBakIvQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTt3QkFDdkUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxxQkFBcUIsRUFBRTtxQkFDaEU7b0JBQ0QsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUMzQixJQUFJLEVBQUU7d0JBQ0osWUFBWSxFQUFFLHFCQUFxQjt3QkFDbkMsc0JBQXNCLEVBQUUscUNBQXFDO3dCQUM3RCxrQkFBa0IsRUFBRSxRQUFRO3dCQUM1QixzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyxxQkFBcUIsRUFBRSxZQUFZO3FCQUNwQztpQkFDRjs4QkFxQ0MsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgTnVtYmVySW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgY29tcHV0ZWQsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdExpc3RlbmVyLFxuICBpbnB1dCxcbiAgbnVtYmVyQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ncEJ1dHRvbiB9IGZyb20gJ25nLXByaW1pdGl2ZXMvYnV0dG9uJztcbmltcG9ydCB7IE5ncENhbkRpc2FibGUsIE5ncERpc2FibGVkVG9rZW4gfSBmcm9tICduZy1wcmltaXRpdmVzL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdFBhZ2luYXRpb24gfSBmcm9tICcuLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24udG9rZW4nO1xuaW1wb3J0IHsgTmdwUGFnaW5hdGlvbkJ1dHRvblRva2VuIH0gZnJvbSAnLi9wYWdpbmF0aW9uLWJ1dHRvbi50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BQYWdpbmF0aW9uQnV0dG9uXScsXG4gIGV4cG9ydEFzOiAnbmdwUGFnaW5hdGlvbkJ1dHRvbicsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTmdwUGFnaW5hdGlvbkJ1dHRvblRva2VuLCB1c2VFeGlzdGluZzogTmdwUGFnaW5hdGlvbkJ1dHRvbiB9LFxuICAgIHsgcHJvdmlkZTogTmdwRGlzYWJsZWRUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncFBhZ2luYXRpb25CdXR0b24gfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtOZ3BCdXR0b25dLFxuICBob3N0OiB7XG4gICAgJ1t0YWJpbmRleF0nOiAnZGlzYWJsZWQoKSA/IC0xIDogMCcsXG4gICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCkgfHwgcGFnaW5hdGlvbi5kaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuZGF0YS1wYWdlXSc6ICdwYWdlKCknLFxuICAgICdbYXR0ci5kYXRhLXNlbGVjdGVkXSc6ICdzZWxlY3RlZCgpJyxcbiAgICAnW2F0dHIuYXJpYS1jdXJyZW50XSc6ICdzZWxlY3RlZCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwUGFnaW5hdGlvbkJ1dHRvbiBpbXBsZW1lbnRzIE5ncENhbkRpc2FibGUge1xuICAvKipcbiAgICogQWNjZXNzIHRoZSBwYWdpbmF0aW9uIGRpcmVjdGl2ZS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBwYWdpbmF0aW9uID0gaW5qZWN0UGFnaW5hdGlvbigpO1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgdGhlIHBhZ2UgdGhpcyBidXR0b24gcmVwcmVzZW50cy5cbiAgICovXG4gIHJlYWRvbmx5IHBhZ2UgPSBpbnB1dC5yZXF1aXJlZDxudW1iZXIsIE51bWJlcklucHV0Pih7XG4gICAgYWxpYXM6ICduZ3BQYWdpbmF0aW9uQnV0dG9uUGFnZScsXG4gICAgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUsXG4gIH0pO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBidXR0b24gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBidXR0b25EaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcbiAgICBhbGlhczogJ25ncFBhZ2luYXRpb25CdXR0b25EaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYnV0dG9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmJ1dHRvbkRpc2FibGVkKCkgfHwgdGhpcy5wYWdpbmF0aW9uLmRpc2FibGVkKCkpO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgcGFnZSBpcyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHBhZ2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnBhZ2UoKSA9PT0gdGhpcy5wYWdpbmF0aW9uLnBhZ2UoKSk7XG5cbiAgLyoqXG4gICAqIEdvIHRvIHRoZSBwYWdlIHRoaXMgYnV0dG9uIHJlcHJlc2VudHMuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIGdvVG9QYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2luYXRpb24ucGFnZS5zZXQodGhpcy5wYWdlKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the Apache 2.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken, inject } from '@angular/core';
9
+ export const NgpPaginationButtonToken = new InjectionToken('NgpPaginationButtonToken');
10
+ /**
11
+ * Inject the PaginationButton directive instance
12
+ */
13
+ export function injectPaginationButton() {
14
+ return inject(NgpPaginationButtonToken);
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1idXR0b24udG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3BhZ2luYXRpb24vc3JjL3BhZ2luYXRpb24tYnV0dG9uL3BhZ2luYXRpb24tYnV0dG9uLnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLElBQUksY0FBYyxDQUN4RCwwQkFBMEIsQ0FDM0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQjtJQUNwQyxPQUFPLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmdwUGFnaW5hdGlvbkJ1dHRvbiB9IGZyb20gJy4vcGFnaW5hdGlvbi1idXR0b24uZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IE5ncFBhZ2luYXRpb25CdXR0b25Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3BQYWdpbmF0aW9uQnV0dG9uPihcbiAgJ05ncFBhZ2luYXRpb25CdXR0b25Ub2tlbicsXG4pO1xuXG4vKipcbiAqIEluamVjdCB0aGUgUGFnaW5hdGlvbkJ1dHRvbiBkaXJlY3RpdmUgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhZ2luYXRpb25CdXR0b24oKTogTmdwUGFnaW5hdGlvbkJ1dHRvbiB7XG4gIHJldHVybiBpbmplY3QoTmdwUGFnaW5hdGlvbkJ1dHRvblRva2VuKTtcbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { booleanAttribute, computed, Directive, HostListener, input } from '@angular/core';
2
+ import { NgpButton } from 'ng-primitives/button';
3
+ import { NgpDisabledToken } from 'ng-primitives/internal';
4
+ import { injectPagination } from '../pagination/pagination.token';
5
+ import { NgpPaginationFirstToken } from './pagination-first.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ng-primitives/button";
8
+ export class NgpPaginationFirst {
9
+ constructor() {
10
+ /**
11
+ * Access the pagination directive.
12
+ */
13
+ this.pagination = injectPagination();
14
+ /**
15
+ * Whether the button is disabled.
16
+ */
17
+ this.buttonDisabled = input(false, {
18
+ alias: 'ngpPaginationFirstDisabled',
19
+ transform: booleanAttribute,
20
+ });
21
+ this.disabled = computed(() => this.buttonDisabled() || this.pagination.disabled() || this.pagination.firstPage());
22
+ }
23
+ /**
24
+ * Go to the first page.
25
+ */
26
+ goToFirstPage() {
27
+ if (this.disabled()) {
28
+ return;
29
+ }
30
+ this.pagination.page.set(1);
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationFirst, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpPaginationFirst, isStandalone: true, selector: "[ngpPaginationFirst]", inputs: { buttonDisabled: { classPropertyName: "buttonDisabled", publicName: "ngpPaginationFirstDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "goToFirstPage()" }, properties: { "tabindex": "disabled() ? -1 : 0", "attr.data-disabled": "disabled()", "attr.data-first-page": "pagination.firstPage()" } }, providers: [
34
+ { provide: NgpPaginationFirstToken, useExisting: NgpPaginationFirst },
35
+ { provide: NgpDisabledToken, useExisting: NgpPaginationFirst },
36
+ ], exportAs: ["ngpPaginationFirst"], hostDirectives: [{ directive: i1.NgpButton }], ngImport: i0 }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationFirst, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ standalone: true,
42
+ selector: '[ngpPaginationFirst]',
43
+ exportAs: 'ngpPaginationFirst',
44
+ providers: [
45
+ { provide: NgpPaginationFirstToken, useExisting: NgpPaginationFirst },
46
+ { provide: NgpDisabledToken, useExisting: NgpPaginationFirst },
47
+ ],
48
+ hostDirectives: [NgpButton],
49
+ host: {
50
+ '[tabindex]': 'disabled() ? -1 : 0',
51
+ '[attr.data-disabled]': 'disabled()',
52
+ '[attr.data-first-page]': 'pagination.firstPage()',
53
+ },
54
+ }]
55
+ }], propDecorators: { goToFirstPage: [{
56
+ type: HostListener,
57
+ args: ['click']
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1maXJzdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1wcmltaXRpdmVzL3BhZ2luYXRpb24vc3JjL3BhZ2luYXRpb24tZmlyc3QvcGFnaW5hdGlvbi1maXJzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFpQm5FLE1BQU0sT0FBTyxrQkFBa0I7SUFmL0I7UUFnQkU7O1dBRUc7UUFDZ0IsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFbkQ7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQzVELEtBQUssRUFBRSw0QkFBNEI7WUFDbkMsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFTSxhQUFRLEdBQUcsUUFBUSxDQUMxQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUN6RixDQUFDO0tBYUg7SUFYQzs7T0FFRztJQUVILGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBNUJVLGtCQUFrQjtrR0FBbEIsa0JBQWtCLDRhQVhsQjtZQUNULEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRTtZQUNyRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7U0FDL0Q7OzJGQVFVLGtCQUFrQjtrQkFmOUIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFdBQVcsb0JBQW9CLEVBQUU7d0JBQ3JFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsb0JBQW9CLEVBQUU7cUJBQy9EO29CQUNELGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDM0IsSUFBSSxFQUFFO3dCQUNKLFlBQVksRUFBRSxxQkFBcUI7d0JBQ25DLHNCQUFzQixFQUFFLFlBQVk7d0JBQ3BDLHdCQUF3QixFQUFFLHdCQUF3QjtxQkFDbkQ7aUJBQ0Y7OEJBdUJDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgwqkgMjAyNCBBbmd1bGFyIFByaW1pdGl2ZXMuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vbmctcHJpbWl0aXZlcy9uZy1wcmltaXRpdmVzXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIDIuMCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdwQnV0dG9uIH0gZnJvbSAnbmctcHJpbWl0aXZlcy9idXR0b24nO1xuaW1wb3J0IHsgTmdwQ2FuRGlzYWJsZSwgTmdwRGlzYWJsZWRUb2tlbiB9IGZyb20gJ25nLXByaW1pdGl2ZXMvaW50ZXJuYWwnO1xuaW1wb3J0IHsgaW5qZWN0UGFnaW5hdGlvbiB9IGZyb20gJy4uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi50b2tlbic7XG5pbXBvcnQgeyBOZ3BQYWdpbmF0aW9uRmlyc3RUb2tlbiB9IGZyb20gJy4vcGFnaW5hdGlvbi1maXJzdC50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tuZ3BQYWdpbmF0aW9uRmlyc3RdJyxcbiAgZXhwb3J0QXM6ICduZ3BQYWdpbmF0aW9uRmlyc3QnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5ncFBhZ2luYXRpb25GaXJzdFRva2VuLCB1c2VFeGlzdGluZzogTmdwUGFnaW5hdGlvbkZpcnN0IH0sXG4gICAgeyBwcm92aWRlOiBOZ3BEaXNhYmxlZFRva2VuLCB1c2VFeGlzdGluZzogTmdwUGFnaW5hdGlvbkZpcnN0IH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbTmdwQnV0dG9uXSxcbiAgaG9zdDoge1xuICAgICdbdGFiaW5kZXhdJzogJ2Rpc2FibGVkKCkgPyAtMSA6IDAnLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuZGF0YS1maXJzdC1wYWdlXSc6ICdwYWdpbmF0aW9uLmZpcnN0UGFnZSgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTmdwUGFnaW5hdGlvbkZpcnN0IGltcGxlbWVudHMgTmdwQ2FuRGlzYWJsZSB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHBhZ2luYXRpb24gZGlyZWN0aXZlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2luYXRpb24gPSBpbmplY3RQYWdpbmF0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwUGFnaW5hdGlvbkZpcnN0RGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmJ1dHRvbkRpc2FibGVkKCkgfHwgdGhpcy5wYWdpbmF0aW9uLmRpc2FibGVkKCkgfHwgdGhpcy5wYWdpbmF0aW9uLmZpcnN0UGFnZSgpLFxuICApO1xuXG4gIC8qKlxuICAgKiBHbyB0byB0aGUgZmlyc3QgcGFnZS5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgZ29Ub0ZpcnN0UGFnZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2Uuc2V0KDEpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the Apache 2.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken, inject } from '@angular/core';
9
+ export const NgpPaginationFirstToken = new InjectionToken('NgpPaginationFirstToken');
10
+ /**
11
+ * Inject the PaginationFirst directive instance
12
+ */
13
+ export function injectPaginationFirst() {
14
+ return inject(NgpPaginationFirstToken);
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1maXJzdC50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvcGFnaW5hdGlvbi9zcmMvcGFnaW5hdGlvbi1maXJzdC9wYWdpbmF0aW9uLWZpcnN0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUN2RCx5QkFBeUIsQ0FDMUIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQjtJQUNuQyxPQUFPLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmdwUGFnaW5hdGlvbkZpcnN0IH0gZnJvbSAnLi9wYWdpbmF0aW9uLWZpcnN0LmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBOZ3BQYWdpbmF0aW9uRmlyc3RUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3BQYWdpbmF0aW9uRmlyc3Q+KFxuICAnTmdwUGFnaW5hdGlvbkZpcnN0VG9rZW4nLFxuKTtcblxuLyoqXG4gKiBJbmplY3QgdGhlIFBhZ2luYXRpb25GaXJzdCBkaXJlY3RpdmUgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhZ2luYXRpb25GaXJzdCgpOiBOZ3BQYWdpbmF0aW9uRmlyc3Qge1xuICByZXR1cm4gaW5qZWN0KE5ncFBhZ2luYXRpb25GaXJzdFRva2VuKTtcbn1cbiJdfQ==
@@ -0,0 +1,59 @@
1
+ import { booleanAttribute, computed, Directive, HostListener, input } from '@angular/core';
2
+ import { NgpButton } from 'ng-primitives/button';
3
+ import { NgpDisabledToken } from 'ng-primitives/internal';
4
+ import { injectPagination } from '../pagination/pagination.token';
5
+ import { NgpPaginationLastToken } from './pagination-last.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ng-primitives/button";
8
+ export class NgpPaginationLast {
9
+ constructor() {
10
+ /**
11
+ * Access the pagination directive.
12
+ */
13
+ this.pagination = injectPagination();
14
+ /**
15
+ * Whether the button is disabled.
16
+ */
17
+ this.buttonDisabled = input(false, {
18
+ alias: 'ngpPaginationLastDisabled',
19
+ transform: booleanAttribute,
20
+ });
21
+ this.disabled = computed(() => this.buttonDisabled() || this.pagination.disabled() || this.pagination.lastPage());
22
+ }
23
+ /**
24
+ * Go to the last page.
25
+ */
26
+ goToLastPage() {
27
+ if (this.disabled()) {
28
+ return;
29
+ }
30
+ this.pagination.page.set(this.pagination.pageCount());
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationLast, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpPaginationLast, isStandalone: true, selector: "[ngpPaginationLast]", inputs: { buttonDisabled: { classPropertyName: "buttonDisabled", publicName: "ngpPaginationLastDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "goToLastPage()" }, properties: { "tabindex": "disabled() ? -1 : 0", "attr.data-disabled": "disabled()", "attr.data-last-page": "pagination.lastPage()" } }, providers: [
34
+ { provide: NgpPaginationLastToken, useExisting: NgpPaginationLast },
35
+ { provide: NgpDisabledToken, useExisting: NgpPaginationLast },
36
+ ], exportAs: ["ngpPaginationLast"], hostDirectives: [{ directive: i1.NgpButton }], ngImport: i0 }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationLast, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ standalone: true,
42
+ selector: '[ngpPaginationLast]',
43
+ exportAs: 'ngpPaginationLast',
44
+ providers: [
45
+ { provide: NgpPaginationLastToken, useExisting: NgpPaginationLast },
46
+ { provide: NgpDisabledToken, useExisting: NgpPaginationLast },
47
+ ],
48
+ hostDirectives: [NgpButton],
49
+ host: {
50
+ '[tabindex]': 'disabled() ? -1 : 0',
51
+ '[attr.data-disabled]': 'disabled()',
52
+ '[attr.data-last-page]': 'pagination.lastPage()',
53
+ },
54
+ }]
55
+ }], propDecorators: { goToLastPage: [{
56
+ type: HostListener,
57
+ args: ['click']
58
+ }] } });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1sYXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvcGFnaW5hdGlvbi9zcmMvcGFnaW5hdGlvbi1sYXN0L3BhZ2luYXRpb24tbGFzdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFpQmpFLE1BQU0sT0FBTyxpQkFBaUI7SUFmOUI7UUFnQkU7O1dBRUc7UUFDZ0IsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFbkQ7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQzVELEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFTSxhQUFRLEdBQUcsUUFBUSxDQUMxQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUN4RixDQUFDO0tBYUg7SUFYQzs7T0FFRztJQUVILFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDOzhHQTVCVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1YUFYakI7WUFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7WUFDbkUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFO1NBQzlEOzsyRkFRVSxpQkFBaUI7a0JBZjdCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLG1CQUFtQixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLG1CQUFtQixFQUFFO3FCQUM5RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQzNCLElBQUksRUFBRTt3QkFDSixZQUFZLEVBQUUscUJBQXFCO3dCQUNuQyxzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyx1QkFBdUIsRUFBRSx1QkFBdUI7cUJBQ2pEO2lCQUNGOzhCQXVCQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSAyLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ncEJ1dHRvbiB9IGZyb20gJ25nLXByaW1pdGl2ZXMvYnV0dG9uJztcbmltcG9ydCB7IE5ncENhbkRpc2FibGUsIE5ncERpc2FibGVkVG9rZW4gfSBmcm9tICduZy1wcmltaXRpdmVzL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdFBhZ2luYXRpb24gfSBmcm9tICcuLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24udG9rZW4nO1xuaW1wb3J0IHsgTmdwUGFnaW5hdGlvbkxhc3RUb2tlbiB9IGZyb20gJy4vcGFnaW5hdGlvbi1sYXN0LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFBhZ2luYXRpb25MYXN0XScsXG4gIGV4cG9ydEFzOiAnbmdwUGFnaW5hdGlvbkxhc3QnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5ncFBhZ2luYXRpb25MYXN0VG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BQYWdpbmF0aW9uTGFzdCB9LFxuICAgIHsgcHJvdmlkZTogTmdwRGlzYWJsZWRUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncFBhZ2luYXRpb25MYXN0IH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbTmdwQnV0dG9uXSxcbiAgaG9zdDoge1xuICAgICdbdGFiaW5kZXhdJzogJ2Rpc2FibGVkKCkgPyAtMSA6IDAnLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuZGF0YS1sYXN0LXBhZ2VdJzogJ3BhZ2luYXRpb24ubGFzdFBhZ2UoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFBhZ2luYXRpb25MYXN0IGltcGxlbWVudHMgTmdwQ2FuRGlzYWJsZSB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHBhZ2luYXRpb24gZGlyZWN0aXZlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2luYXRpb24gPSBpbmplY3RQYWdpbmF0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwUGFnaW5hdGlvbkxhc3REaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICByZWFkb25seSBkaXNhYmxlZCA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMuYnV0dG9uRGlzYWJsZWQoKSB8fCB0aGlzLnBhZ2luYXRpb24uZGlzYWJsZWQoKSB8fCB0aGlzLnBhZ2luYXRpb24ubGFzdFBhZ2UoKSxcbiAgKTtcblxuICAvKipcbiAgICogR28gdG8gdGhlIGxhc3QgcGFnZS5cbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgZ29Ub0xhc3RQYWdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBhZ2luYXRpb24ucGFnZS5zZXQodGhpcy5wYWdpbmF0aW9uLnBhZ2VDb3VudCgpKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the Apache 2.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken, inject } from '@angular/core';
9
+ export const NgpPaginationLastToken = new InjectionToken('NgpPaginationLastToken');
10
+ /**
11
+ * Inject the PaginationLast directive instance
12
+ */
13
+ export function injectPaginationLast() {
14
+ return inject(NgpPaginationLastToken);
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1sYXN0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9wYWdpbmF0aW9uL3NyYy9wYWdpbmF0aW9uLWxhc3QvcGFnaW5hdGlvbi1sYXN0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsQ0FDekIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmdwUGFnaW5hdGlvbkxhc3QgfSBmcm9tICcuL3BhZ2luYXRpb24tbGFzdC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgTmdwUGFnaW5hdGlvbkxhc3RUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3BQYWdpbmF0aW9uTGFzdD4oXG4gICdOZ3BQYWdpbmF0aW9uTGFzdFRva2VuJyxcbik7XG5cbi8qKlxuICogSW5qZWN0IHRoZSBQYWdpbmF0aW9uTGFzdCBkaXJlY3RpdmUgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhZ2luYXRpb25MYXN0KCk6IE5ncFBhZ2luYXRpb25MYXN0IHtcbiAgcmV0dXJuIGluamVjdChOZ3BQYWdpbmF0aW9uTGFzdFRva2VuKTtcbn1cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { booleanAttribute, computed, Directive, HostListener, input } from '@angular/core';
2
+ import { NgpButton } from 'ng-primitives/button';
3
+ import { NgpDisabledToken } from 'ng-primitives/internal';
4
+ import { injectPagination } from '../pagination/pagination.token';
5
+ import { NgpPaginationNextToken } from './pagination-next.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "ng-primitives/button";
8
+ export class NgpPaginationNext {
9
+ constructor() {
10
+ /**
11
+ * Access the pagination directive.
12
+ */
13
+ this.pagination = injectPagination();
14
+ /**
15
+ * Whether the button is disabled.
16
+ */
17
+ this.buttonDisabled = input(false, {
18
+ alias: 'ngpPaginationNextDisabled',
19
+ transform: booleanAttribute,
20
+ });
21
+ /**
22
+ * Whether the button is disabled.
23
+ */
24
+ this.disabled = computed(() => this.buttonDisabled() || this.pagination.disabled() || this.pagination.lastPage());
25
+ }
26
+ /**
27
+ * Go to the next page.
28
+ */
29
+ goToNextPage() {
30
+ if (this.disabled()) {
31
+ return;
32
+ }
33
+ this.pagination.page.set(this.pagination.page() + 1);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationNext, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.1.1", type: NgpPaginationNext, isStandalone: true, selector: "[ngpPaginationNext]", inputs: { buttonDisabled: { classPropertyName: "buttonDisabled", publicName: "ngpPaginationNextDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "goToNextPage()" }, properties: { "tabindex": "disabled() ? -1 : 0", "attr.data-disabled": "disabled()", "attr.data-last-page": "pagination.lastPage()" } }, providers: [
37
+ { provide: NgpPaginationNextToken, useExisting: NgpPaginationNext },
38
+ { provide: NgpDisabledToken, useExisting: NgpPaginationNext },
39
+ ], exportAs: ["ngpPaginationNext"], hostDirectives: [{ directive: i1.NgpButton }], ngImport: i0 }); }
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgpPaginationNext, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ standalone: true,
45
+ selector: '[ngpPaginationNext]',
46
+ exportAs: 'ngpPaginationNext',
47
+ providers: [
48
+ { provide: NgpPaginationNextToken, useExisting: NgpPaginationNext },
49
+ { provide: NgpDisabledToken, useExisting: NgpPaginationNext },
50
+ ],
51
+ hostDirectives: [NgpButton],
52
+ host: {
53
+ '[tabindex]': 'disabled() ? -1 : 0',
54
+ '[attr.data-disabled]': 'disabled()',
55
+ '[attr.data-last-page]': 'pagination.lastPage()',
56
+ },
57
+ }]
58
+ }], propDecorators: { goToNextPage: [{
59
+ type: HostListener,
60
+ args: ['click']
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1uZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLXByaW1pdGl2ZXMvcGFnaW5hdGlvbi9zcmMvcGFnaW5hdGlvbi1uZXh0L3BhZ2luYXRpb24tbmV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFpQixnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFpQmpFLE1BQU0sT0FBTyxpQkFBaUI7SUFmOUI7UUFnQkU7O1dBRUc7UUFDZ0IsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFFbkQ7O1dBRUc7UUFDTSxtQkFBYyxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1lBQzVELEtBQUssRUFBRSwyQkFBMkI7WUFDbEMsU0FBUyxFQUFFLGdCQUFnQjtTQUM1QixDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNNLGFBQVEsR0FBRyxRQUFRLENBQzFCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQ3hGLENBQUM7S0FhSDtJQVhDOztPQUVHO0lBRUgsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQS9CVSxpQkFBaUI7a0dBQWpCLGlCQUFpQix1YUFYakI7WUFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7WUFDbkUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFO1NBQzlEOzsyRkFRVSxpQkFBaUI7a0JBZjdCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLG1CQUFtQixFQUFFO3dCQUNuRSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLG1CQUFtQixFQUFFO3FCQUM5RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUM7b0JBQzNCLElBQUksRUFBRTt3QkFDSixZQUFZLEVBQUUscUJBQXFCO3dCQUNuQyxzQkFBc0IsRUFBRSxZQUFZO3dCQUNwQyx1QkFBdUIsRUFBRSx1QkFBdUI7cUJBQ2pEO2lCQUNGOzhCQTBCQyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IMKpIDIwMjQgQW5ndWxhciBQcmltaXRpdmVzLlxuICogaHR0cHM6Ly9naXRodWIuY29tL25nLXByaW1pdGl2ZXMvbmctcHJpbWl0aXZlc1xuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSAyLjAgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IGJvb2xlYW5BdHRyaWJ1dGUsIGNvbXB1dGVkLCBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ncEJ1dHRvbiB9IGZyb20gJ25nLXByaW1pdGl2ZXMvYnV0dG9uJztcbmltcG9ydCB7IE5ncENhbkRpc2FibGUsIE5ncERpc2FibGVkVG9rZW4gfSBmcm9tICduZy1wcmltaXRpdmVzL2ludGVybmFsJztcbmltcG9ydCB7IGluamVjdFBhZ2luYXRpb24gfSBmcm9tICcuLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24udG9rZW4nO1xuaW1wb3J0IHsgTmdwUGFnaW5hdGlvbk5leHRUb2tlbiB9IGZyb20gJy4vcGFnaW5hdGlvbi1uZXh0LnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW25ncFBhZ2luYXRpb25OZXh0XScsXG4gIGV4cG9ydEFzOiAnbmdwUGFnaW5hdGlvbk5leHQnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE5ncFBhZ2luYXRpb25OZXh0VG9rZW4sIHVzZUV4aXN0aW5nOiBOZ3BQYWdpbmF0aW9uTmV4dCB9LFxuICAgIHsgcHJvdmlkZTogTmdwRGlzYWJsZWRUb2tlbiwgdXNlRXhpc3Rpbmc6IE5ncFBhZ2luYXRpb25OZXh0IH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbTmdwQnV0dG9uXSxcbiAgaG9zdDoge1xuICAgICdbdGFiaW5kZXhdJzogJ2Rpc2FibGVkKCkgPyAtMSA6IDAnLFxuICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAnW2F0dHIuZGF0YS1sYXN0LXBhZ2VdJzogJ3BhZ2luYXRpb24ubGFzdFBhZ2UoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE5ncFBhZ2luYXRpb25OZXh0IGltcGxlbWVudHMgTmdwQ2FuRGlzYWJsZSB7XG4gIC8qKlxuICAgKiBBY2Nlc3MgdGhlIHBhZ2luYXRpb24gZGlyZWN0aXZlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2luYXRpb24gPSBpbmplY3RQYWdpbmF0aW9uKCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGJ1dHRvbiBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuICAgIGFsaWFzOiAnbmdwUGFnaW5hdGlvbk5leHREaXNhYmxlZCcsXG4gICAgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuICB9KTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgYnV0dG9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZChcbiAgICAoKSA9PiB0aGlzLmJ1dHRvbkRpc2FibGVkKCkgfHwgdGhpcy5wYWdpbmF0aW9uLmRpc2FibGVkKCkgfHwgdGhpcy5wYWdpbmF0aW9uLmxhc3RQYWdlKCksXG4gICk7XG5cbiAgLyoqXG4gICAqIEdvIHRvIHRoZSBuZXh0IHBhZ2UuXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIGdvVG9OZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdpbmF0aW9uLnBhZ2Uuc2V0KHRoaXMucGFnaW5hdGlvbi5wYWdlKCkgKyAxKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Copyright © 2024 Angular Primitives.
3
+ * https://github.com/ng-primitives/ng-primitives
4
+ *
5
+ * This source code is licensed under the Apache 2.0 license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { InjectionToken, inject } from '@angular/core';
9
+ export const NgpPaginationNextToken = new InjectionToken('NgpPaginationNextToken');
10
+ /**
11
+ * Inject the PaginationNext directive instance
12
+ */
13
+ export function injectPaginationNext() {
14
+ return inject(NgpPaginationNextToken);
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1uZXh0LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctcHJpbWl0aXZlcy9wYWdpbmF0aW9uL3NyYy9wYWdpbmF0aW9uLW5leHQvcGFnaW5hdGlvbi1uZXh0LnRva2VuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3ZELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksY0FBYyxDQUN0RCx3QkFBd0IsQ0FDekIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCDCqSAyMDI0IEFuZ3VsYXIgUHJpbWl0aXZlcy5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1wcmltaXRpdmVzL25nLXByaW1pdGl2ZXNcbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgMi4wIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cbmltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmdwUGFnaW5hdGlvbk5leHQgfSBmcm9tICcuL3BhZ2luYXRpb24tbmV4dC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgTmdwUGFnaW5hdGlvbk5leHRUb2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ3BQYWdpbmF0aW9uTmV4dD4oXG4gICdOZ3BQYWdpbmF0aW9uTmV4dFRva2VuJyxcbik7XG5cbi8qKlxuICogSW5qZWN0IHRoZSBQYWdpbmF0aW9uTmV4dCBkaXJlY3RpdmUgaW5zdGFuY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBhZ2luYXRpb25OZXh0KCk6IE5ncFBhZ2luYXRpb25OZXh0IHtcbiAgcmV0dXJuIGluamVjdChOZ3BQYWdpbmF0aW9uTmV4dFRva2VuKTtcbn1cbiJdfQ==