igniteui-angular 21.1.2 → 21.1.4

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 (88) hide show
  1. package/fesm2022/igniteui-angular-accordion.mjs +7 -7
  2. package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
  3. package/fesm2022/igniteui-angular-avatar.mjs +7 -7
  4. package/fesm2022/igniteui-angular-badge.mjs +7 -7
  5. package/fesm2022/igniteui-angular-banner.mjs +10 -10
  6. package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
  7. package/fesm2022/igniteui-angular-button-group.mjs +7 -7
  8. package/fesm2022/igniteui-angular-calendar.mjs +61 -61
  9. package/fesm2022/igniteui-angular-card.mjs +31 -31
  10. package/fesm2022/igniteui-angular-carousel.mjs +25 -25
  11. package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
  12. package/fesm2022/igniteui-angular-chat.mjs +18 -18
  13. package/fesm2022/igniteui-angular-chat.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
  15. package/fesm2022/igniteui-angular-chips.mjs +10 -10
  16. package/fesm2022/igniteui-angular-combo.mjs +52 -52
  17. package/fesm2022/igniteui-angular-core.mjs +60 -60
  18. package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
  19. package/fesm2022/igniteui-angular-dialog.mjs +13 -13
  20. package/fesm2022/igniteui-angular-directives.mjs +191 -191
  21. package/fesm2022/igniteui-angular-drop-down.mjs +29 -29
  22. package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
  23. package/fesm2022/igniteui-angular-grids-core.mjs +429 -428
  24. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-grids-grid.mjs +50 -50
  26. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +37 -37
  28. package/fesm2022/igniteui-angular-grids-lite.mjs +33 -33
  29. package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
  30. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +79 -79
  31. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +55 -55
  32. package/fesm2022/igniteui-angular-icon.mjs +10 -10
  33. package/fesm2022/igniteui-angular-input-group.mjs +26 -26
  34. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-list.mjs +40 -40
  36. package/fesm2022/igniteui-angular-navbar.mjs +13 -13
  37. package/fesm2022/igniteui-angular-navigation-drawer.mjs +21 -21
  38. package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
  39. package/fesm2022/igniteui-angular-paginator.mjs +20 -20
  40. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  41. package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
  42. package/fesm2022/igniteui-angular-query-builder.mjs +22 -22
  43. package/fesm2022/igniteui-angular-radio.mjs +12 -12
  44. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-select.mjs +25 -25
  46. package/fesm2022/igniteui-angular-simple-combo.mjs +7 -7
  47. package/fesm2022/igniteui-angular-slider.mjs +28 -28
  48. package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
  49. package/fesm2022/igniteui-angular-splitter.mjs +14 -14
  50. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  51. package/fesm2022/igniteui-angular-stepper.mjs +34 -34
  52. package/fesm2022/igniteui-angular-switch.mjs +7 -7
  53. package/fesm2022/igniteui-angular-tabs.mjs +34 -34
  54. package/fesm2022/igniteui-angular-time-picker.mjs +19 -19
  55. package/fesm2022/igniteui-angular-toast.mjs +7 -7
  56. package/fesm2022/igniteui-angular-tree.mjs +28 -28
  57. package/package.json +2 -2
  58. package/schematics/tsconfig.tsbuildinfo +1 -1
  59. package/skills/igniteui-angular-components/SKILL.md +2 -2
  60. package/skills/igniteui-angular-components/references/directives.md +5 -5
  61. package/skills/igniteui-angular-components/references/feedback.md +2 -2
  62. package/skills/igniteui-angular-components/references/layout-manager.md +129 -1
  63. package/styles/igniteui-angular-dark.css +1 -1
  64. package/styles/igniteui-angular.css +1 -1
  65. package/styles/igniteui-bootstrap-dark.css +1 -1
  66. package/styles/igniteui-bootstrap-light.css +1 -1
  67. package/styles/igniteui-dark-green.css +1 -1
  68. package/styles/igniteui-fluent-dark-excel.css +1 -1
  69. package/styles/igniteui-fluent-dark-word.css +1 -1
  70. package/styles/igniteui-fluent-dark.css +1 -1
  71. package/styles/igniteui-fluent-light-excel.css +1 -1
  72. package/styles/igniteui-fluent-light-word.css +1 -1
  73. package/styles/igniteui-fluent-light.css +1 -1
  74. package/styles/igniteui-indigo-dark.css +1 -1
  75. package/styles/igniteui-indigo-light.css +1 -1
  76. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  77. package/styles/maps/igniteui-angular.css.map +1 -1
  78. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  79. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  80. package/styles/maps/igniteui-dark-green.css.map +1 -1
  81. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  82. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  83. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  84. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  85. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  86. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  87. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  88. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-navigation-drawer.mjs","sources":["../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.directives.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.html","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/public_api.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.module.ts","../../../projects/igniteui-angular/navigation-drawer/src/igniteui-angular-navigation-drawer.ts"],"sourcesContent":["import { Directive, HostBinding, Input, TemplateRef, booleanAttribute, inject } from '@angular/core';\n\n@Directive({\n selector: '[igxDrawerItem]',\n exportAs: 'igxDrawerItem',\n standalone: true\n})\nexport class IgxNavDrawerItemDirective {\n\n /**\n * Styles a navigation drawer item as selected.\n * If not set, `active` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [active]=\"true\">Active Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public active = false;\n\n /**\n * Disables a navigation drawer item.\n * If not set, `disabled` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [disabled]=\"true\">Disabled Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public disabled = false;\n\n /**\n * Styles a navigation drawer item as a group header.\n * If not set, `isHeader` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [isHeader]=\"true\">Header</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public isHeader = false;\n\n /**\n * @hidden\n */\n public readonly activeClass = 'igx-nav-drawer__item--active';\n\n /**\n * @hidden\n */\n public readonly disabledClass = 'igx-nav-drawer__item--disabled';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item')\n public get defaultCSS(): boolean {\n return !this.active && !this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item--active')\n public get currentCSS(): boolean {\n return this.active && !this.isHeader && !this.disabled;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item--header')\n public get headerCSS(): boolean {\n return this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item--disabled')\n public get disabledCSS(): boolean {\n return this.disabled;\n }\n}\n\n@Directive({\n selector: '[igxDrawer]',\n standalone: true\n})\nexport class IgxNavDrawerTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxDrawerMini]',\n standalone: true\n})\nexport class IgxNavDrawerMiniTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { AfterContentInit, afterRenderEffect, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChange, ViewChild, Renderer2, booleanAttribute, inject, signal, computed } from '@angular/core';\nimport { fromEvent, interval, Subscription } from 'rxjs';\nimport { debounce } from 'rxjs/operators';\nimport { IgxNavigationService, IToggleView } from 'igniteui-angular/core';\nimport { HammerGesturesManager } from 'igniteui-angular/core';\nimport { IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavDrawerItemDirective } from './navigation-drawer.directives';\nimport { PlatformUtil } from 'igniteui-angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { HammerInput } from 'igniteui-angular/core';\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Navigation Drawer** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navdrawer)\n *\n * The Ignite UI Navigation Drawer is a collapsible side navigation container commonly used in combination with the Navbar.\n *\n * Example:\n * ```html\n * <igx-nav-drawer id=\"navigation\" [isOpen]=\"true\">\n * <ng-template igxDrawer>\n * <nav>\n * <span igxDrawerItem [isHeader]=\"true\">Email</span>\n * <span igxDrawerItem igxRipple>Inbox</span>\n * <span igxDrawerItem igxRipple>Deleted</span>\n * <span igxDrawerItem igxRipple>Sent</span>\n * </nav>\n * </ng-template>\n * </igx-nav-drawer>\n * ```\n */\n@Component({\n providers: [HammerGesturesManager],\n selector: 'igx-nav-drawer',\n templateUrl: 'navigation-drawer.component.html',\n styles: [`\n :host {\n display: block;\n height: 100%;\n }\n `],\n imports: [IgxNavDrawerItemDirective, NgTemplateOutlet]\n})\nexport class IgxNavigationDrawerComponent implements\n IToggleView,\n OnInit,\n AfterContentInit,\n OnDestroy,\n OnChanges {\n private elementRef = inject<ElementRef>(ElementRef);\n private _state = inject(IgxNavigationService, { optional: true });\n private renderer = inject(Renderer2);\n private _touchManager = inject(HammerGesturesManager);\n private platformUtil = inject(PlatformUtil);\n\n private _isOpen = signal(false);\n private _pinned = signal(false);\n private _miniTemplate = signal<IgxNavDrawerMiniTemplateDirective | undefined>(undefined);\n private _visibleOverlay = computed<boolean>(() => {\n return !this._pinned() && (this._isOpen() || !!this._miniTemplate());\n });\n private _closingAnimation = signal(false);\n\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer')\n public cssClass = true;\n\n /**\n * ID of the component\n *\n * ```typescript\n * // get\n * let myNavDrawerId = this.navdrawer.id;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer id='navdrawer'></igx-nav-drawer>\n * ```\n */\n @HostBinding('attr.id')\n @Input() public id = `igx-nav-drawer-${NEXT_ID++}`;\n\n /**\n * Position of the Navigation Drawer. Can be \"left\"(default) or \"right\".\n *\n * ```typescript\n * // get\n * let myNavDrawerPosition = this.navdrawer.position;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [position]=\"'left'\"></igx-nav-drawer>\n * ```\n */\n @Input() public position = 'left';\n\n /**\n * Enables the use of touch gestures to manipulate the drawer:\n * - swipe/pan from edge to open, swipe-toggle and pan-drag.\n *\n * ```typescript\n * // get\n * let gesturesEnabled = this.navdrawer.enableGestures;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [enableGestures]='true'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute }) public enableGestures = true;\n\n /**\n * @hidden\n */\n @Output() public isOpenChange = new EventEmitter<boolean>();\n\n /**\n * Minimum device width required for automatic pin to be toggled.\n * Default is 1024, can be set to a falsy value to disable this behavior.\n *\n * ```typescript\n * // get\n * let navDrawerPinThreshold = this.navdrawer.pinThreshold;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pinThreshold]='1024'></igx-nav-drawer>\n * ```\n */\n @Input() public pinThreshold = 1024;\n\n /**\n * When pinned the drawer is relatively positioned instead of sitting above content.\n * May require additional layout styling.\n *\n * ```typescript\n * // get\n * let navDrawerIsPinned = this.navdrawer.pin;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pin]=\"false\"></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get pin(): boolean {\n return this._pinned();\n }\n public set pin(v: boolean) {\n this._pinned.set(v);\n }\n\n\n /**\n * Width of the drawer in its open state.\n *\n * ```typescript\n * // get\n * let navDrawerWidth = this.navdrawer.width;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [width]=\"'228px'\"></igx-nav-drawer>\n * ```\n */\n private _width: string;\n\n @Input()\n public get width() {\n return this._width;\n }\n public set width(value: string) {\n this._width = value;\n }\n\n\n /**\n * Enables/disables the animation, when toggling the drawer. Set to `false` by default.\n * ````html\n * <igx-nav-drawer [disableAnimation]=\"true\"></igx-nav-drawer>\n * ````\n */\n @HostBinding('class.igx-nav-drawer--disable-animation')\n @Input({ transform: booleanAttribute }) public disableAnimation = false;\n\n /**\n * Width of the drawer in its mini state.\n *\n * ```typescript\n * // get\n * let navDrawerMiniWidth = this.navdrawer.miniWidth;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [miniWidth]=\"'34px'\"></igx-nav-drawer>\n * ```\n */\n @Input() public miniWidth: string;\n\n /**\n * Pinned state change output for two-way binding.\n *\n * ```html\n * <igx-nav-drawer [(pin)]='isPinned'></igx-nav-drawer>\n * ```\n */\n @Output() public pinChange = new EventEmitter<boolean>(true);\n /**\n * Event fired as the Navigation Drawer is about to open.\n *\n * ```html\n * <igx-nav-drawer (opening)='onOpening()'></igx-nav-drawer>\n * ```\n */\n @Output() public opening = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has opened.\n *\n * ```html\n * <igx-nav-drawer (opened)='onOpened()'></igx-nav-drawer>\n * ```\n */\n @Output() public opened = new EventEmitter();\n /**\n * Event fired as the Navigation Drawer is about to close.\n *\n * ```html\n * <igx-nav-drawer (closing)='onClosing()'></igx-nav-drawer>\n * ```\n */\n @Output() public closing = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has closed.\n *\n * ```html\n * <igx-nav-drawer (closed)='onClosed()'></igx-nav-drawer>\n * ```\n */\n @Output() public closed = new EventEmitter();\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerTemplateDirective, { read: IgxNavDrawerTemplateDirective })\n protected contentTemplate: IgxNavDrawerTemplateDirective;\n\n @ViewChild('aside', { static: true }) private _drawer: ElementRef<HTMLElement>;\n @ViewChild('overlay', { static: true }) private _overlay: ElementRef<HTMLElement>;\n @ViewChild('dummy', { static: true }) private _styleDummy: ElementRef<HTMLElement>;\n\n /**\n * State of the drawer.\n *\n * ```typescript\n * // get\n * let navDrawerIsOpen = this.navdrawer.isOpen;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [isOpen]='false'></igx-nav-drawer>\n * ```\n *\n * Two-way data binding.\n * ```html\n * <!--set-->\n * <igx-nav-drawer [(isOpen)]='model.isOpen'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get isOpen() {\n return this._isOpen();\n }\n public set isOpen(value) {\n this._isOpen.set(value);\n this.isOpenChange.emit(value);\n }\n\n /**\n * Returns nativeElement of the component.\n *\n * @hidden\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get template() {\n if (this.miniTemplate && !this.isOpen) {\n return this.miniTemplate.template;\n } else if (this.contentTemplate) {\n return this.contentTemplate.template;\n }\n }\n /**\n * @hidden\n */\n public get miniTemplate(): IgxNavDrawerMiniTemplateDirective {\n return this._miniTemplate();\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerMiniTemplateDirective, { read: IgxNavDrawerMiniTemplateDirective })\n public set miniTemplate(v: IgxNavDrawerMiniTemplateDirective) {\n this._miniTemplate.set(v);\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--mini')\n public get isMini(): boolean {\n return !!this.miniTemplate && !this.isOpen;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--pinned')\n public get pinned(): boolean {\n return !!this.pin;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size')\n public get normalSize() {\n if (!this.isOpen) {\n return '0px';\n }\n\n return this.width;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size--mini')\n public get miniSize() {\n if (this.miniTemplate && this.miniWidth) {\n return this.miniWidth;\n }\n }\n\n /** @hidden */\n @HostBinding('style.order')\n public get isPinnedRight() {\n return this.pin && this.position === 'right' ? '1' : '0';\n }\n\n private _gesturesAttached = false;\n private _widthCache: { width: number; miniWidth: number; windowWidth: number } = { width: null, miniWidth: null, windowWidth: null };\n private _resizeObserver: Subscription;\n private css: { [name: string]: string } = {\n drawer: 'igx-nav-drawer__aside',\n mini: 'igx-nav-drawer__aside--mini',\n overlay: 'igx-nav-drawer__overlay',\n styleDummy: 'igx-nav-drawer__style-dummy'\n };\n\n /**\n * @hidden\n */\n public get drawer() {\n return this._drawer?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get overlay() {\n return this._overlay?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get styleDummy() {\n return this._styleDummy.nativeElement;\n }\n\n /** Pan animation properties */\n private _panning = false;\n private _panStartWidth: number;\n private _panLimit: number;\n\n /**\n * Property to decide whether to change width or translate the drawer from pan gesture.\n *\n * @hidden\n */\n public get hasAnimateWidth(): boolean {\n return this.pin || !!this.miniTemplate;\n }\n\n private _maxEdgeZone = 50;\n /**\n * Used for touch gestures (swipe and pan).\n * Defaults to 50 (in px) and is extended to at least 110% of the mini template width if available.\n *\n * @hidden\n */\n public get maxEdgeZone() {\n return this._maxEdgeZone;\n }\n\n /**\n * Gets the Drawer width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n *\n * @hidden\n */\n public get expectedWidth() {\n return this.getExpectedWidth(false);\n }\n\n /**\n * Get the Drawer mini width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n * @hidden\n */\n public get expectedMiniWidth() {\n return this.getExpectedWidth(true);\n }\n\n /**\n * @hidden\n */\n public get touchManager() {\n return this._touchManager;\n }\n\n /**\n * Exposes optional navigation service\n *\n * @hidden\n */\n public get state() {\n return this._state;\n }\n\n constructor() {\n afterRenderEffect(() => {\n if (this._closingAnimation()) return;\n this.togglePopover(this._visibleOverlay());\n });\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n // DOM and @Input()-s initialized\n if (this._state) {\n this._state.add(this.id, this);\n }\n }\n\n /**\n * @hidden\n */\n public ngAfterContentInit() {\n // wait for template and ng-content to be ready\n this.updateEdgeZone();\n this.checkPinThreshold();\n\n this.ensureEvents();\n\n // TODO: apply platform-safe Ruler from http://plnkr.co/edit/81nWDyreYMzkunihfRgX?p=preview\n // (https://github.com/angular/angular/issues/6515), blocked by https://github.com/angular/angular/issues/6904\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._touchManager.destroy();\n if (this._state) {\n this._state.remove(this.id);\n }\n if (this._resizeObserver) {\n this._resizeObserver.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n public ngOnChanges(changes: { [propName: string]: SimpleChange }) {\n // simple settings can come from attribute set (rather than binding), make sure boolean props are converted\n if (changes.enableGestures && changes.enableGestures.currentValue !== undefined) {\n this.enableGestures = !!(this.enableGestures && this.enableGestures.toString() === 'true');\n this.ensureEvents();\n }\n if (changes.pin && changes.pin.currentValue !== undefined) {\n this.pin = !!(this.pin && this.pin.toString() === 'true');\n if (this.pin) {\n this._touchManager.destroy();\n this._gesturesAttached = false;\n } else {\n this.ensureEvents();\n }\n }\n\n if (changes.pinThreshold) {\n if (this.pinThreshold) {\n this.ensureEvents();\n this.checkPinThreshold();\n }\n }\n\n if (changes.miniWidth) {\n this.updateEdgeZone();\n }\n }\n\n /**\n * Toggle the open state of the Navigation Drawer.\n *\n * ```typescript\n * this.navdrawer.toggle();\n * ```\n */\n public toggle() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Open the Navigation Drawer. Has no effect if already opened.\n *\n * ```typescript\n * this.navdrawer.open();\n * ```\n */\n public open() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (this.isOpen) {\n return;\n }\n\n this.opening.emit();\n this.isOpen = true;\n\n // TODO: Switch to animate API when available\n // var animationCss = this.animate.css();\n // animationCss\n // .setStyles({'width':'50px'}, {'width':'400px'})\n // .start(this.elementRef.nativeElement)\n // .onComplete(() => animationCss.setToStyles({'width':'auto'}).start(this.elementRef.nativeElement));\n\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleOpenedEvent, false);\n\n requestAnimationFrame(()=>{});\n }\n\n /**\n * Close the Navigation Drawer. Has no effect if already closed.\n *\n * ```typescript\n * this.navdrawer.close();\n * ```\n */\n public close() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (!this.isOpen) {\n return;\n }\n\n this.closing.emit();\n\n // TODO: intersection observer for close popover instead of transitionend\n this._closingAnimation.set(true);\n this.isOpen = false;\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleClosedEvent, false);\n }\n\n /**\n * @hidden\n */\n protected set_maxEdgeZone(value: number) {\n this._maxEdgeZone = value;\n }\n\n /**\n * Get the Drawer width for specific state. Will attempt to evaluate requested state and cache.\n *\n * @hidden\n * @param [mini] - Request mini width instead\n */\n protected getExpectedWidth(mini?: boolean): number {\n if (mini) {\n if (!this.miniTemplate) {\n return 0;\n }\n if (this.miniWidth) {\n return parseFloat(this.miniWidth);\n } else {\n // if (!this.isOpen) { // This WON'T work due to transition timings...\n // return this.elementRef.nativeElement.children[1].offsetWidth;\n // } else {\n if (this._widthCache.miniWidth === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this.renderer.addClass(this.styleDummy, this.css.mini);\n this._widthCache.miniWidth = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n this.renderer.removeClass(this.styleDummy, this.css.mini);\n }\n return this._widthCache.miniWidth;\n }\n } else {\n if (this.width) {\n return parseFloat(this.width);\n } else {\n if (this._widthCache.width === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this._widthCache.width = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n }\n return this._widthCache.width;\n }\n }\n }\n\n private getWindowWidth() {\n return (window.innerWidth > 0) ? window.innerWidth : screen.width;\n }\n\n /**\n * Get current Drawer width.\n */\n private getDrawerWidth(): number {\n return this.drawer.offsetWidth;\n }\n\n private ensureEvents() {\n // set listeners for swipe/pan only if needed, but just once\n if (this.enableGestures && !this.pin && !this._gesturesAttached) {\n // Built-in manager handler(L20887) causes endless loop and max stack exception.\n // https://github.com/angular/angular/issues/6993\n // Use ours for now (until beta.10):\n // this.renderer.listen(document, \"swipe\", this.swipe);\n this._touchManager.addGlobalEventListener('document', 'swipe', this.swipe);\n this._gesturesAttached = true;\n\n // this.renderer.listen(document, \"panstart\", this.panstart);\n // this.renderer.listen(document, \"pan\", this.pan);\n this._touchManager.addGlobalEventListener('document', 'panstart', this.panstart);\n this._touchManager.addGlobalEventListener('document', 'panmove', this.pan);\n this._touchManager.addGlobalEventListener('document', 'panend', this.panEnd);\n }\n if (!this._resizeObserver && this.platformUtil.isBrowser) {\n this._resizeObserver = fromEvent(window, 'resize').pipe(debounce(() => interval(150)))\n .subscribe((value) => {\n this.checkPinThreshold(value);\n });\n }\n }\n\n private updateEdgeZone() {\n let maxValue;\n\n if (this.miniTemplate) {\n maxValue = Math.max(this._maxEdgeZone, this.getExpectedWidth(true) * 1.1);\n this.set_maxEdgeZone(maxValue);\n }\n }\n\n private checkPinThreshold = (evt?: Event) => {\n if (!this.platformUtil.isBrowser) {\n return;\n }\n let windowWidth;\n if (this.pinThreshold) {\n windowWidth = this.getWindowWidth();\n if (evt && this._widthCache.windowWidth === windowWidth) {\n return;\n }\n this._widthCache.windowWidth = windowWidth;\n if (!this.pin && windowWidth >= this.pinThreshold) {\n this.pin = true;\n this.pinChange.emit(true);\n } else if (this.pin && windowWidth < this.pinThreshold) {\n this.pin = false;\n this.pinChange.emit(false);\n }\n }\n };\n\n private swipe = (evt: HammerInput) => {\n // TODO: Could also force input type: http://stackoverflow.com/a/27108052\n if (!this.enableGestures || evt.pointerType !== 'touch') {\n return;\n }\n\n // HammerJS swipe is horizontal-only by default, don't check deltaY\n let deltaX;\n let startPosition;\n if (this.position === 'right') {\n // when on the right use inverse of deltaX\n deltaX = -evt.deltaX;\n startPosition = this.getWindowWidth() - (evt.center.x + evt.distance);\n } else {\n deltaX = evt.deltaX;\n startPosition = evt.center.x - evt.distance;\n }\n // only accept closing swipe (ignoring minEdgeZone) when the drawer is expanded:\n if ((this.isOpen && deltaX < 0) ||\n // positive deltaX from the edge:\n (deltaX > 0 && startPosition < this.maxEdgeZone)) {\n this.toggle();\n }\n };\n\n private panstart = (evt: HammerInput) => { // TODO: test code\n if (!this.enableGestures || this.pin || evt.pointerType !== 'touch') {\n return;\n }\n const startPosition = this.position === 'right' ? this.getWindowWidth() - (evt.center.x + evt.distance)\n : evt.center.x - evt.distance;\n\n // cache width during animation, flag to allow further handling\n if (this.isOpen || (startPosition < this.maxEdgeZone)) {\n this._panning = true;\n this._panStartWidth = this.getExpectedWidth(!this.isOpen);\n this._panLimit = this.getExpectedWidth(this.isOpen);\n\n this.renderer.addClass(this.overlay, 'panning');\n this.renderer.addClass(this.drawer, 'panning');\n }\n };\n\n private pan = (evt: HammerInput) => {\n // TODO: input.deltaX = prevDelta.x + (center.x - offset.x);\n // get actual delta (not total session one) from event?\n // pan WILL also fire after a full swipe, only resize on flag\n if (!this._panning) {\n return;\n }\n const right: boolean = this.position === 'right';\n // when on the right use inverse of deltaX\n const deltaX = right ? -evt.deltaX : evt.deltaX;\n let newX;\n let percent;\n const visibleWidth = this._panStartWidth + deltaX;\n\n if (this.isOpen && deltaX < 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth <= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panLimit) / (this._panStartWidth - this._panLimit);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panStartWidth;\n newX = evt.deltaX;\n }\n this.setXSize(newX, percent.toPrecision(2));\n\n } else if (!this.isOpen && deltaX > 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth >= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panStartWidth) / (this._panLimit - this._panStartWidth);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panLimit;\n newX = (this._panLimit - visibleWidth) * (right ? 1 : -1);\n }\n this.setXSize(newX, percent.toPrecision(2));\n }\n };\n\n private panEnd = (evt: HammerInput) => {\n if (this._panning) {\n const deltaX = this.position === 'right' ? -evt.deltaX : evt.deltaX;\n const visibleWidth: number = this._panStartWidth + deltaX;\n this.resetPan();\n\n // check if pan brought the drawer to 50%\n if (this.isOpen && visibleWidth <= this._panStartWidth / 2) {\n this.close();\n } else if (!this.isOpen && visibleWidth >= this._panLimit / 2) {\n this.open();\n }\n this._panStartWidth = null;\n }\n };\n\n private resetPan() {\n this._panning = false;\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n this.renderer.removeClass(this.overlay, 'panning');\n this.renderer.removeClass(this.drawer, 'panning');\n this.setXSize(0, '');\n }\n\n /**\n * Sets the absolute position or width in case the drawer doesn't change position.\n *\n * @param x the number pixels to translate on the X axis or the width to set. 0 width will clear the style instead.\n * @param opacity optional value to apply to the overlay\n */\n private setXSize(x: number, opacity?: string) {\n // Angular polyfills patches window.requestAnimationFrame, but switch to DomAdapter API (TODO)\n window.requestAnimationFrame(() => {\n if (this.hasAnimateWidth) {\n this.renderer.setStyle(this.drawer, 'width', x ? Math.abs(x) + 'px' : '');\n } else {\n this.renderer.setStyle(this.drawer, 'transform', x ? 'translate3d(' + x + 'px,0,0)' : '');\n this.renderer.setStyle(this.drawer, '-webkit-transform', x ? 'translate3d(' + x + 'px,0,0)' : '');\n }\n if (opacity !== undefined) {\n this.renderer.setStyle(this.overlay, 'opacity', opacity);\n }\n });\n }\n\n private togglePopover(show: boolean) {\n // check element and functionality exist:\n if (typeof this.drawer?.showPopover !== 'function') return;\n\n const popoverOpen = this.drawer.matches(':popover-open');\n if (show === popoverOpen) return;\n\n if (show) {\n this.overlay.showPopover();\n this.drawer.showPopover();\n } else {\n this.overlay.hidePopover();\n this.drawer.hidePopover();\n }\n }\n\n private toggleOpenedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleOpenedEvent, false);\n this.opened.emit();\n };\n\n private toggleClosedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleClosedEvent, false);\n this._closingAnimation.set(false);\n this.closed.emit();\n };\n}\n","<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"disableAnimation\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"disableAnimation\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n","import { IgxNavigationDrawerComponent } from './navigation-drawer.component';\nimport { IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective } from './navigation-drawer.directives';\n\nexport * from './navigation-drawer.component';\nexport * from './navigation-drawer.directives';\n\n/* NOTE: Navigation drawer directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_NAVIGATION_DRAWER_DIRECTIVES = [\n IgxNavigationDrawerComponent,\n IgxNavDrawerItemDirective,\n IgxNavDrawerMiniTemplateDirective,\n IgxNavDrawerTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_NAVIGATION_DRAWER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n */\n@NgModule({\n imports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ],\n exports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ]\n})\nexport class IgxNavigationDrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxNavigationDrawerComponent","i2.IgxNavDrawerItemDirective","i2.IgxNavDrawerMiniTemplateDirective","i2.IgxNavDrawerTemplateDirective"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-navigation-drawer.mjs","sources":["../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.directives.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.component.html","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/public_api.ts","../../../projects/igniteui-angular/navigation-drawer/src/navigation-drawer/navigation-drawer.module.ts","../../../projects/igniteui-angular/navigation-drawer/src/igniteui-angular-navigation-drawer.ts"],"sourcesContent":["import { Directive, HostBinding, Input, TemplateRef, booleanAttribute, inject } from '@angular/core';\n\n@Directive({\n selector: '[igxDrawerItem]',\n exportAs: 'igxDrawerItem',\n standalone: true\n})\nexport class IgxNavDrawerItemDirective {\n\n /**\n * Styles a navigation drawer item as selected.\n * If not set, `active` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [active]=\"true\">Active Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public active = false;\n\n /**\n * Disables a navigation drawer item.\n * If not set, `disabled` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [disabled]=\"true\">Disabled Item</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public disabled = false;\n\n /**\n * Styles a navigation drawer item as a group header.\n * If not set, `isHeader` will have default value `false`.\n *\n * @example\n * ```html\n * <span igxDrawerItem [isHeader]=\"true\">Header</span>\n * ```\n */\n @Input({ transform: booleanAttribute }) public isHeader = false;\n\n /**\n * @hidden\n */\n public readonly activeClass = 'igx-nav-drawer__item--active';\n\n /**\n * @hidden\n */\n public readonly disabledClass = 'igx-nav-drawer__item--disabled';\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item')\n public get defaultCSS(): boolean {\n return !this.active && !this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item--active')\n public get currentCSS(): boolean {\n return this.active && !this.isHeader && !this.disabled;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item--header')\n public get headerCSS(): boolean {\n return this.isHeader;\n }\n\n /**\n * @hidden\n */\n @HostBinding('class.igx-nav-drawer__item--disabled')\n public get disabledCSS(): boolean {\n return this.disabled;\n }\n}\n\n@Directive({\n selector: '[igxDrawer]',\n standalone: true\n})\nexport class IgxNavDrawerTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxDrawerMini]',\n standalone: true\n})\nexport class IgxNavDrawerMiniTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { AfterContentInit, afterRenderEffect, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChange, ViewChild, Renderer2, booleanAttribute, inject, signal, computed } from '@angular/core';\nimport { fromEvent, interval, Subscription } from 'rxjs';\nimport { debounce } from 'rxjs/operators';\nimport { IgxNavigationService, IToggleView } from 'igniteui-angular/core';\nimport { HammerGesturesManager } from 'igniteui-angular/core';\nimport { IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective, IgxNavDrawerItemDirective } from './navigation-drawer.directives';\nimport { PlatformUtil } from 'igniteui-angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { HammerInput } from 'igniteui-angular/core';\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Navigation Drawer** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navdrawer)\n *\n * The Ignite UI Navigation Drawer is a collapsible side navigation container commonly used in combination with the Navbar.\n *\n * Example:\n * ```html\n * <igx-nav-drawer id=\"navigation\" [isOpen]=\"true\">\n * <ng-template igxDrawer>\n * <nav>\n * <span igxDrawerItem [isHeader]=\"true\">Email</span>\n * <span igxDrawerItem igxRipple>Inbox</span>\n * <span igxDrawerItem igxRipple>Deleted</span>\n * <span igxDrawerItem igxRipple>Sent</span>\n * </nav>\n * </ng-template>\n * </igx-nav-drawer>\n * ```\n */\n@Component({\n providers: [HammerGesturesManager],\n selector: 'igx-nav-drawer',\n templateUrl: 'navigation-drawer.component.html',\n styles: [`\n :host {\n display: block;\n height: 100%;\n }\n `],\n imports: [IgxNavDrawerItemDirective, NgTemplateOutlet]\n})\nexport class IgxNavigationDrawerComponent implements\n IToggleView,\n OnInit,\n AfterContentInit,\n OnDestroy,\n OnChanges {\n private elementRef = inject<ElementRef>(ElementRef);\n private _state = inject(IgxNavigationService, { optional: true });\n private renderer = inject(Renderer2);\n private _touchManager = inject(HammerGesturesManager);\n private platformUtil = inject(PlatformUtil);\n\n private _isOpen = signal(false);\n private _pinned = signal(false);\n private _miniTemplate = signal<IgxNavDrawerMiniTemplateDirective | undefined>(undefined);\n private _visibleOverlay = computed<boolean>(() => {\n return !this._pinned() && (this._isOpen() || !!this._miniTemplate());\n });\n private _closingAnimation = signal(false);\n\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer')\n public cssClass = true;\n\n /**\n * ID of the component\n *\n * ```typescript\n * // get\n * let myNavDrawerId = this.navdrawer.id;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer id='navdrawer'></igx-nav-drawer>\n * ```\n */\n @HostBinding('attr.id')\n @Input() public id = `igx-nav-drawer-${NEXT_ID++}`;\n\n /**\n * Position of the Navigation Drawer. Can be \"left\"(default) or \"right\".\n *\n * ```typescript\n * // get\n * let myNavDrawerPosition = this.navdrawer.position;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [position]=\"'left'\"></igx-nav-drawer>\n * ```\n */\n @Input() public position = 'left';\n\n /**\n * Enables the use of touch gestures to manipulate the drawer:\n * - swipe/pan from edge to open, swipe-toggle and pan-drag.\n *\n * ```typescript\n * // get\n * let gesturesEnabled = this.navdrawer.enableGestures;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [enableGestures]='true'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute }) public enableGestures = true;\n\n /**\n * @hidden\n */\n @Output() public isOpenChange = new EventEmitter<boolean>();\n\n /**\n * Minimum device width required for automatic pin to be toggled.\n * Default is 1024, can be set to a falsy value to disable this behavior.\n *\n * ```typescript\n * // get\n * let navDrawerPinThreshold = this.navdrawer.pinThreshold;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pinThreshold]='1024'></igx-nav-drawer>\n * ```\n */\n @Input() public pinThreshold = 1024;\n\n /**\n * When pinned the drawer is relatively positioned instead of sitting above content.\n * May require additional layout styling.\n *\n * ```typescript\n * // get\n * let navDrawerIsPinned = this.navdrawer.pin;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [pin]=\"false\"></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get pin(): boolean {\n return this._pinned();\n }\n public set pin(v: boolean) {\n this._pinned.set(v);\n }\n\n\n /**\n * Width of the drawer in its open state.\n *\n * ```typescript\n * // get\n * let navDrawerWidth = this.navdrawer.width;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [width]=\"'228px'\"></igx-nav-drawer>\n * ```\n */\n private _width: string;\n\n @Input()\n public get width() {\n return this._width;\n }\n public set width(value: string) {\n this._width = value;\n }\n\n\n /**\n * Enables/disables the animation, when toggling the drawer. Set to `false` by default.\n * ````html\n * <igx-nav-drawer [disableAnimation]=\"true\"></igx-nav-drawer>\n * ````\n */\n @HostBinding('class.igx-nav-drawer--disable-animation')\n @Input({ transform: booleanAttribute }) public disableAnimation = false;\n\n /**\n * Width of the drawer in its mini state.\n *\n * ```typescript\n * // get\n * let navDrawerMiniWidth = this.navdrawer.miniWidth;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [miniWidth]=\"'34px'\"></igx-nav-drawer>\n * ```\n */\n @Input() public miniWidth: string;\n\n /**\n * Pinned state change output for two-way binding.\n *\n * ```html\n * <igx-nav-drawer [(pin)]='isPinned'></igx-nav-drawer>\n * ```\n */\n @Output() public pinChange = new EventEmitter<boolean>(true);\n /**\n * Event fired as the Navigation Drawer is about to open.\n *\n * ```html\n * <igx-nav-drawer (opening)='onOpening()'></igx-nav-drawer>\n * ```\n */\n @Output() public opening = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has opened.\n *\n * ```html\n * <igx-nav-drawer (opened)='onOpened()'></igx-nav-drawer>\n * ```\n */\n @Output() public opened = new EventEmitter();\n /**\n * Event fired as the Navigation Drawer is about to close.\n *\n * ```html\n * <igx-nav-drawer (closing)='onClosing()'></igx-nav-drawer>\n * ```\n */\n @Output() public closing = new EventEmitter();\n /**\n * Event fired when the Navigation Drawer has closed.\n *\n * ```html\n * <igx-nav-drawer (closed)='onClosed()'></igx-nav-drawer>\n * ```\n */\n @Output() public closed = new EventEmitter();\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerTemplateDirective, { read: IgxNavDrawerTemplateDirective })\n protected contentTemplate: IgxNavDrawerTemplateDirective;\n\n @ViewChild('aside', { static: true }) private _drawer: ElementRef<HTMLElement>;\n @ViewChild('overlay', { static: true }) private _overlay: ElementRef<HTMLElement>;\n @ViewChild('dummy', { static: true }) private _styleDummy: ElementRef<HTMLElement>;\n\n /**\n * State of the drawer.\n *\n * ```typescript\n * // get\n * let navDrawerIsOpen = this.navdrawer.isOpen;\n * ```\n *\n * ```html\n * <!--set-->\n * <igx-nav-drawer [isOpen]='false'></igx-nav-drawer>\n * ```\n *\n * Two-way data binding.\n * ```html\n * <!--set-->\n * <igx-nav-drawer [(isOpen)]='model.isOpen'></igx-nav-drawer>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get isOpen() {\n return this._isOpen();\n }\n public set isOpen(value) {\n this._isOpen.set(value);\n this.isOpenChange.emit(value);\n }\n\n /**\n * Returns nativeElement of the component.\n *\n * @hidden\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get template() {\n if (this.miniTemplate && !this.isOpen) {\n return this.miniTemplate.template;\n } else if (this.contentTemplate) {\n return this.contentTemplate.template;\n }\n }\n /**\n * @hidden\n */\n public get miniTemplate(): IgxNavDrawerMiniTemplateDirective {\n return this._miniTemplate();\n }\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavDrawerMiniTemplateDirective, { read: IgxNavDrawerMiniTemplateDirective })\n public set miniTemplate(v: IgxNavDrawerMiniTemplateDirective) {\n this._miniTemplate.set(v);\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--mini')\n public get isMini(): boolean {\n return !!this.miniTemplate && !this.isOpen;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-nav-drawer--pinned')\n public get pinned(): boolean {\n return !!this.pin;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size')\n public get normalSize() {\n if (!this.isOpen) {\n return '0px';\n }\n\n return this.width;\n }\n\n /**\n * @hidden\n */\n @HostBinding('style.--ig-nav-drawer-size--mini')\n public get miniSize() {\n if (this.miniTemplate && this.miniWidth) {\n return this.miniWidth;\n }\n }\n\n /** @hidden */\n @HostBinding('style.order')\n public get isPinnedRight() {\n return this.pin && this.position === 'right' ? '1' : '0';\n }\n\n private _gesturesAttached = false;\n private _widthCache: { width: number; miniWidth: number; windowWidth: number } = { width: null, miniWidth: null, windowWidth: null };\n private _resizeObserver: Subscription;\n private css: { [name: string]: string } = {\n drawer: 'igx-nav-drawer__aside',\n mini: 'igx-nav-drawer__aside--mini',\n overlay: 'igx-nav-drawer__overlay',\n styleDummy: 'igx-nav-drawer__style-dummy'\n };\n\n /**\n * @hidden\n */\n public get drawer() {\n return this._drawer?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get overlay() {\n return this._overlay?.nativeElement;\n }\n\n /**\n * @hidden\n */\n public get styleDummy() {\n return this._styleDummy.nativeElement;\n }\n\n /** Pan animation properties */\n private _panning = false;\n private _panStartWidth: number;\n private _panLimit: number;\n\n /**\n * Property to decide whether to change width or translate the drawer from pan gesture.\n *\n * @hidden\n */\n public get hasAnimateWidth(): boolean {\n return this.pin || !!this.miniTemplate;\n }\n\n private _maxEdgeZone = 50;\n /**\n * Used for touch gestures (swipe and pan).\n * Defaults to 50 (in px) and is extended to at least 110% of the mini template width if available.\n *\n * @hidden\n */\n public get maxEdgeZone() {\n return this._maxEdgeZone;\n }\n\n /**\n * Gets the Drawer width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n *\n * @hidden\n */\n public get expectedWidth() {\n return this.getExpectedWidth(false);\n }\n\n /**\n * Get the Drawer mini width for specific state.\n * Will attempt to evaluate requested state and cache.\n *\n * @hidden\n */\n public get expectedMiniWidth() {\n return this.getExpectedWidth(true);\n }\n\n /**\n * @hidden\n */\n public get touchManager() {\n return this._touchManager;\n }\n\n /**\n * Exposes optional navigation service\n *\n * @hidden\n */\n public get state() {\n return this._state;\n }\n\n constructor() {\n afterRenderEffect(() => {\n if (this._closingAnimation()) return;\n this.togglePopover(this._visibleOverlay());\n });\n }\n\n /**\n * @hidden\n */\n public ngOnInit() {\n // DOM and @Input()-s initialized\n if (this._state) {\n this._state.add(this.id, this);\n }\n }\n\n /**\n * @hidden\n */\n public ngAfterContentInit() {\n // wait for template and ng-content to be ready\n this.updateEdgeZone();\n this.checkPinThreshold();\n\n this.ensureEvents();\n\n // TODO: apply platform-safe Ruler from http://plnkr.co/edit/81nWDyreYMzkunihfRgX?p=preview\n // (https://github.com/angular/angular/issues/6515), blocked by https://github.com/angular/angular/issues/6904\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._touchManager.destroy();\n if (this._state) {\n this._state.remove(this.id);\n }\n if (this._resizeObserver) {\n this._resizeObserver.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n public ngOnChanges(changes: { [propName: string]: SimpleChange }) {\n // simple settings can come from attribute set (rather than binding), make sure boolean props are converted\n if (changes.enableGestures && changes.enableGestures.currentValue !== undefined) {\n this.enableGestures = !!(this.enableGestures && this.enableGestures.toString() === 'true');\n this.ensureEvents();\n }\n if (changes.pin && changes.pin.currentValue !== undefined) {\n this.pin = !!(this.pin && this.pin.toString() === 'true');\n if (this.pin) {\n this._touchManager.destroy();\n this._gesturesAttached = false;\n } else {\n this.ensureEvents();\n }\n }\n\n if (changes.pinThreshold) {\n if (this.pinThreshold) {\n this.ensureEvents();\n this.checkPinThreshold();\n }\n }\n\n if (changes.miniWidth) {\n this.updateEdgeZone();\n }\n }\n\n /**\n * Toggle the open state of the Navigation Drawer.\n *\n * ```typescript\n * this.navdrawer.toggle();\n * ```\n */\n public toggle() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Open the Navigation Drawer. Has no effect if already opened.\n *\n * ```typescript\n * this.navdrawer.open();\n * ```\n */\n public open() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (this.isOpen) {\n return;\n }\n\n this.opening.emit();\n this.isOpen = true;\n\n // TODO: Switch to animate API when available\n // var animationCss = this.animate.css();\n // animationCss\n // .setStyles({'width':'50px'}, {'width':'400px'})\n // .start(this.elementRef.nativeElement)\n // .onComplete(() => animationCss.setToStyles({'width':'auto'}).start(this.elementRef.nativeElement));\n\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleOpenedEvent, false);\n\n requestAnimationFrame(()=>{});\n }\n\n /**\n * Close the Navigation Drawer. Has no effect if already closed.\n *\n * ```typescript\n * this.navdrawer.close();\n * ```\n */\n public close() {\n if (this._panning) {\n this.resetPan();\n }\n\n if (!this.isOpen) {\n return;\n }\n\n this.closing.emit();\n\n // TODO: intersection observer for close popover instead of transitionend\n this._closingAnimation.set(true);\n this.isOpen = false;\n this.elementRef.nativeElement.addEventListener('transitionend', this.toggleClosedEvent, false);\n }\n\n /**\n * @hidden\n */\n protected set_maxEdgeZone(value: number) {\n this._maxEdgeZone = value;\n }\n\n /**\n * Get the Drawer width for specific state. Will attempt to evaluate requested state and cache.\n *\n * @hidden\n * @param [mini] - Request mini width instead\n */\n protected getExpectedWidth(mini?: boolean): number {\n if (mini) {\n if (!this.miniTemplate) {\n return 0;\n }\n if (this.miniWidth) {\n return parseFloat(this.miniWidth);\n } else {\n // if (!this.isOpen) { // This WON'T work due to transition timings...\n // return this.elementRef.nativeElement.children[1].offsetWidth;\n // } else {\n if (this._widthCache.miniWidth === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this.renderer.addClass(this.styleDummy, this.css.mini);\n this._widthCache.miniWidth = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n this.renderer.removeClass(this.styleDummy, this.css.mini);\n }\n return this._widthCache.miniWidth;\n }\n } else {\n if (this.width) {\n return parseFloat(this.width);\n } else {\n if (this._widthCache.width === null) {\n // force class for width calc. TODO?\n // force class for width calc. TODO?\n this.renderer.addClass(this.styleDummy, this.css.drawer);\n this._widthCache.width = this.styleDummy.offsetWidth;\n this.renderer.removeClass(this.styleDummy, this.css.drawer);\n }\n return this._widthCache.width;\n }\n }\n }\n\n private getWindowWidth() {\n return (window.innerWidth > 0) ? window.innerWidth : screen.width;\n }\n\n /**\n * Get current Drawer width.\n */\n private getDrawerWidth(): number {\n return this.drawer.offsetWidth;\n }\n\n private ensureEvents() {\n // set listeners for swipe/pan only if needed, but just once\n if (this.enableGestures && !this.pin && !this._gesturesAttached) {\n // Built-in manager handler(L20887) causes endless loop and max stack exception.\n // https://github.com/angular/angular/issues/6993\n // Use ours for now (until beta.10):\n // this.renderer.listen(document, \"swipe\", this.swipe);\n this._touchManager.addGlobalEventListener('document', 'swipe', this.swipe);\n this._gesturesAttached = true;\n\n // this.renderer.listen(document, \"panstart\", this.panstart);\n // this.renderer.listen(document, \"pan\", this.pan);\n this._touchManager.addGlobalEventListener('document', 'panstart', this.panstart);\n this._touchManager.addGlobalEventListener('document', 'panmove', this.pan);\n this._touchManager.addGlobalEventListener('document', 'panend', this.panEnd);\n }\n if (!this._resizeObserver && this.platformUtil.isBrowser) {\n this._resizeObserver = fromEvent(window, 'resize').pipe(debounce(() => interval(150)))\n .subscribe((value) => {\n this.checkPinThreshold(value);\n });\n }\n }\n\n private updateEdgeZone() {\n let maxValue;\n\n if (this.miniTemplate) {\n maxValue = Math.max(this._maxEdgeZone, this.getExpectedWidth(true) * 1.1);\n this.set_maxEdgeZone(maxValue);\n }\n }\n\n private checkPinThreshold = (evt?: Event) => {\n if (!this.platformUtil.isBrowser) {\n return;\n }\n let windowWidth;\n if (this.pinThreshold) {\n windowWidth = this.getWindowWidth();\n if (evt && this._widthCache.windowWidth === windowWidth) {\n return;\n }\n this._widthCache.windowWidth = windowWidth;\n if (!this.pin && windowWidth >= this.pinThreshold) {\n this.pin = true;\n this.pinChange.emit(true);\n } else if (this.pin && windowWidth < this.pinThreshold) {\n this.pin = false;\n this.pinChange.emit(false);\n }\n }\n };\n\n private swipe = (evt: HammerInput) => {\n // TODO: Could also force input type: http://stackoverflow.com/a/27108052\n if (!this.enableGestures || evt.pointerType !== 'touch') {\n return;\n }\n\n // HammerJS swipe is horizontal-only by default, don't check deltaY\n let deltaX;\n let startPosition;\n if (this.position === 'right') {\n // when on the right use inverse of deltaX\n deltaX = -evt.deltaX;\n startPosition = this.getWindowWidth() - (evt.center.x + evt.distance);\n } else {\n deltaX = evt.deltaX;\n startPosition = evt.center.x - evt.distance;\n }\n // only accept closing swipe (ignoring minEdgeZone) when the drawer is expanded:\n if ((this.isOpen && deltaX < 0) ||\n // positive deltaX from the edge:\n (deltaX > 0 && startPosition < this.maxEdgeZone)) {\n this.toggle();\n }\n };\n\n private panstart = (evt: HammerInput) => { // TODO: test code\n if (!this.enableGestures || this.pin || evt.pointerType !== 'touch') {\n return;\n }\n const startPosition = this.position === 'right' ? this.getWindowWidth() - (evt.center.x + evt.distance)\n : evt.center.x - evt.distance;\n\n // cache width during animation, flag to allow further handling\n if (this.isOpen || (startPosition < this.maxEdgeZone)) {\n this._panning = true;\n this._panStartWidth = this.getExpectedWidth(!this.isOpen);\n this._panLimit = this.getExpectedWidth(this.isOpen);\n\n this.renderer.addClass(this.overlay, 'panning');\n this.renderer.addClass(this.drawer, 'panning');\n }\n };\n\n private pan = (evt: HammerInput) => {\n // TODO: input.deltaX = prevDelta.x + (center.x - offset.x);\n // get actual delta (not total session one) from event?\n // pan WILL also fire after a full swipe, only resize on flag\n if (!this._panning) {\n return;\n }\n const right: boolean = this.position === 'right';\n // when on the right use inverse of deltaX\n const deltaX = right ? -evt.deltaX : evt.deltaX;\n let newX;\n let percent;\n const visibleWidth = this._panStartWidth + deltaX;\n\n if (this.isOpen && deltaX < 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth <= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panLimit) / (this._panStartWidth - this._panLimit);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panStartWidth;\n newX = evt.deltaX;\n }\n this.setXSize(newX, percent.toPrecision(2));\n\n } else if (!this.isOpen && deltaX > 0) {\n // when visibleWidth hits limit - stop animating\n if (visibleWidth >= this._panLimit) {\n return;\n }\n\n if (this.hasAnimateWidth) {\n percent = (visibleWidth - this._panStartWidth) / (this._panLimit - this._panStartWidth);\n newX = visibleWidth;\n } else {\n percent = visibleWidth / this._panLimit;\n newX = (this._panLimit - visibleWidth) * (right ? 1 : -1);\n }\n this.setXSize(newX, percent.toPrecision(2));\n }\n };\n\n private panEnd = (evt: HammerInput) => {\n if (this._panning) {\n const deltaX = this.position === 'right' ? -evt.deltaX : evt.deltaX;\n const visibleWidth: number = this._panStartWidth + deltaX;\n this.resetPan();\n\n // check if pan brought the drawer to 50%\n if (this.isOpen && visibleWidth <= this._panStartWidth / 2) {\n this.close();\n } else if (!this.isOpen && visibleWidth >= this._panLimit / 2) {\n this.open();\n }\n this._panStartWidth = null;\n }\n };\n\n private resetPan() {\n this._panning = false;\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n /* styles fail to apply when set on parent due to extra attributes, prob ng bug */\n this.renderer.removeClass(this.overlay, 'panning');\n this.renderer.removeClass(this.drawer, 'panning');\n this.setXSize(0, '');\n }\n\n /**\n * Sets the absolute position or width in case the drawer doesn't change position.\n *\n * @param x the number pixels to translate on the X axis or the width to set. 0 width will clear the style instead.\n * @param opacity optional value to apply to the overlay\n */\n private setXSize(x: number, opacity?: string) {\n // Angular polyfills patches window.requestAnimationFrame, but switch to DomAdapter API (TODO)\n window.requestAnimationFrame(() => {\n if (this.hasAnimateWidth) {\n this.renderer.setStyle(this.drawer, 'width', x ? Math.abs(x) + 'px' : '');\n } else {\n this.renderer.setStyle(this.drawer, 'transform', x ? 'translate3d(' + x + 'px,0,0)' : '');\n this.renderer.setStyle(this.drawer, '-webkit-transform', x ? 'translate3d(' + x + 'px,0,0)' : '');\n }\n if (opacity !== undefined) {\n this.renderer.setStyle(this.overlay, 'opacity', opacity);\n }\n });\n }\n\n private togglePopover(show: boolean) {\n // check element and functionality exist:\n if (typeof this.drawer?.showPopover !== 'function') return;\n\n const popoverOpen = this.drawer.matches(':popover-open');\n if (show === popoverOpen) return;\n\n if (show) {\n this.overlay.showPopover();\n this.drawer.showPopover();\n } else {\n this.overlay.hidePopover();\n this.drawer.hidePopover();\n }\n }\n\n private toggleOpenedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleOpenedEvent, false);\n this.opened.emit();\n };\n\n private toggleClosedEvent = () => {\n this.elementRef.nativeElement.removeEventListener('transitionend', this.toggleClosedEvent, false);\n this._closingAnimation.set(false);\n this.closed.emit();\n };\n}\n","<ng-template #defaultItemsTemplate>\n <div igxDrawerItem [isHeader]=\"true\">Navigation Drawer</div>\n <div igxDrawerItem> Start by adding</div>\n <div igxDrawerItem> <code>&lt;ng-template igxDrawer&gt;</code> </div>\n <div igxDrawerItem> And some items inside </div>\n <div igxDrawerItem> Style with igxDrawerItem </div>\n <div igxDrawerItem> and igxRipple directives</div>\n <div igxDrawerItem [disabled]=\"true\">Disabled Item</div>\n</ng-template>\n\n<div [hidden]=\"pin\"\n [attr.popover]=\"pin ? null : 'manual'\"\n class=\"igx-nav-drawer__overlay\"\n [class.igx-nav-drawer__overlay--hidden]=\"!isOpen\"\n [class.igx-nav-drawer--disable-animation]=\"disableAnimation\"\n (click)=\"close()\" #overlay>\n</div>\n<nav\n class=\"igx-nav-drawer__aside\"\n [attr.popover]=\"pin ? null : 'manual'\"\n [class.igx-nav-drawer__aside--collapsed]=\"!miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--mini]=\"miniTemplate && !isOpen\"\n [class.igx-nav-drawer__aside--normal]=\"!miniTemplate || isOpen\"\n [class.igx-nav-drawer__aside--pinned]=\"pin\"\n [class.igx-nav-drawer__aside--right]=\"position === 'right'\" #aside\n [class.igx-nav-drawer--disable-animation]=\"disableAnimation\">\n\n <ng-container *ngTemplateOutlet=\"template || defaultItemsTemplate\"></ng-container>\n</nav>\n<div class=\"igx-nav-drawer__style-dummy\" #dummy></div>\n","import { IgxNavigationDrawerComponent } from './navigation-drawer.component';\nimport { IgxNavDrawerItemDirective, IgxNavDrawerMiniTemplateDirective, IgxNavDrawerTemplateDirective } from './navigation-drawer.directives';\n\nexport * from './navigation-drawer.component';\nexport * from './navigation-drawer.directives';\n\n/* NOTE: Navigation drawer directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_NAVIGATION_DRAWER_DIRECTIVES = [\n IgxNavigationDrawerComponent,\n IgxNavDrawerItemDirective,\n IgxNavDrawerMiniTemplateDirective,\n IgxNavDrawerTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_NAVIGATION_DRAWER_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n */\n@NgModule({\n imports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ],\n exports: [\n ...IGX_NAVIGATION_DRAWER_DIRECTIVES\n ]\n})\nexport class IgxNavigationDrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxNavigationDrawerComponent","i2.IgxNavDrawerItemDirective","i2.IgxNavDrawerMiniTemplateDirective","i2.IgxNavDrawerTemplateDirective"],"mappings":"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"}
@@ -11,10 +11,10 @@ class IgxPaginatorDirective {
11
11
  constructor() {
12
12
  this.template = inject(TemplateRef);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: IgxPaginatorDirective, isStandalone: true, selector: "[igxPaginator]", ngImport: i0 }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxPaginatorDirective, isStandalone: true, selector: "[igxPaginator]", ngImport: i0 }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorDirective, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorDirective, decorators: [{
18
18
  type: Directive,
19
19
  args: [{
20
20
  selector: '[igxPaginator]',
@@ -34,10 +34,10 @@ class IgxPaginatorContentDirective {
34
34
  */
35
35
  this.cssClass = 'igx-paginator-content';
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.3", type: IgxPaginatorContentDirective, isStandalone: true, selector: "[igxPaginatorContent],igx-paginator-content", host: { properties: { "class.igx-paginator-content": "this.cssClass" } }, ngImport: i0 }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
38
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.5", type: IgxPaginatorContentDirective, isStandalone: true, selector: "[igxPaginatorContent],igx-paginator-content", host: { properties: { "class.igx-paginator-content": "this.cssClass" } }, ngImport: i0 }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorContentDirective, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorContentDirective, decorators: [{
41
41
  type: Directive,
42
42
  args: [{
43
43
  selector: '[igxPaginatorContent],igx-paginator-content',
@@ -164,7 +164,7 @@ class IgxPaginatorComponent {
164
164
  * By default it uses EN resources.
165
165
  */
166
166
  set resourceStrings(value) {
167
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
167
+ this._resourceStrings = Object.assign({}, this.resourceStrings, value);
168
168
  }
169
169
  /**
170
170
  * An accessor that returns the resource strings.
@@ -320,12 +320,12 @@ class IgxPaginatorComponent {
320
320
  sortUniqueOptions(values, newOption) {
321
321
  return Array.from(new Set([...values, newOption])).sort((a, b) => a - b);
322
322
  }
323
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
324
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: IgxPaginatorComponent, isStandalone: true, selector: "igx-paginator", inputs: { page: "page", perPage: "perPage", totalRecords: "totalRecords", selectOptions: "selectOptions", overlaySettings: "overlaySettings", resourceStrings: "resourceStrings" }, outputs: { perPageChange: "perPageChange", pageChange: "pageChange", paging: "paging", pagingDone: "pagingDone" }, host: { properties: { "class.igx-paginator": "this.cssClass" } }, providers: [
323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
324
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IgxPaginatorComponent, isStandalone: true, selector: "igx-paginator", inputs: { page: "page", perPage: "perPage", totalRecords: "totalRecords", selectOptions: "selectOptions", overlaySettings: "overlaySettings", resourceStrings: "resourceStrings" }, outputs: { perPageChange: "perPageChange", pageChange: "pageChange", paging: "paging", pagingDone: "pagingDone" }, host: { properties: { "class.igx-paginator": "this.cssClass" } }, providers: [
325
325
  { provide: IgxPaginatorToken, useExisting: IgxPaginatorComponent }
326
326
  ], queries: [{ propertyName: "customContent", first: true, predicate: IgxPaginatorContentDirective, descendants: true }], ngImport: i0, template: "<ng-content select=\"[igxPaginatorContent],igx-paginator-content\"></ng-content>\n\n@if (!customContent) {\n <igx-page-size></igx-page-size>\n}\n@if (!customContent) {\n <igx-page-nav></igx-page-nav>\n}\n", dependencies: [{ kind: "component", type: i0.forwardRef(() => IgxPageSizeSelectorComponent), selector: "igx-page-size", inputs: ["id"] }, { kind: "component", type: i0.forwardRef(() => IgxPageNavigationComponent), selector: "igx-page-nav", inputs: ["role"] }] }); }
327
327
  }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorComponent, decorators: [{
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorComponent, decorators: [{
329
329
  type: Component,
330
330
  args: [{ selector: 'igx-paginator', imports: [forwardRef(() => IgxPageSizeSelectorComponent), forwardRef(() => IgxPageNavigationComponent)], providers: [
331
331
  { provide: IgxPaginatorToken, useExisting: IgxPaginatorComponent }
@@ -371,10 +371,10 @@ class IgxPageSizeSelectorComponent {
371
371
  get labelId() {
372
372
  return `${this.id}-label`;
373
373
  }
374
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPageSizeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
375
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.3", type: IgxPageSizeSelectorComponent, isStandalone: true, selector: "igx-page-size", inputs: { id: "id" }, host: { properties: { "class.igx-page-size": "this.cssClass", "attr.id": "this.id" } }, ngImport: i0, template: "<label [id]=\"labelId\" class=\"igx-page-size__label\">{{ paginator.resourceStrings.igx_paginator_label }}</label>\n<div class=\"igx-page-size__select\">\n <igx-select [labelledBy]=\"labelId\" [overlaySettings]=\"paginator.overlaySettings\" [(ngModel)]=\"paginator.perPage\" type=\"border\">\n @for (val of paginator.selectOptions; track val) {\n <igx-select-item [value]=\"val\">\n {{ val }}\n </igx-select-item>\n }\n </igx-select>\n</div>\n", dependencies: [{ kind: "component", type: IgxSelectComponent, selector: "igx-select", inputs: ["placeholder", "disabled", "overlaySettings", "value", "type"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IgxSelectItemComponent, selector: "igx-select-item", inputs: ["text"] }] }); }
374
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPageSizeSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
375
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.5", type: IgxPageSizeSelectorComponent, isStandalone: true, selector: "igx-page-size", inputs: { id: "id" }, host: { properties: { "class.igx-page-size": "this.cssClass", "attr.id": "this.id" } }, ngImport: i0, template: "<label [id]=\"labelId\" class=\"igx-page-size__label\">{{ paginator.resourceStrings.igx_paginator_label }}</label>\n<div class=\"igx-page-size__select\">\n <igx-select [labelledBy]=\"labelId\" [overlaySettings]=\"paginator.overlaySettings\" [(ngModel)]=\"paginator.perPage\" type=\"border\">\n @for (val of paginator.selectOptions; track val) {\n <igx-select-item [value]=\"val\">\n {{ val }}\n </igx-select-item>\n }\n </igx-select>\n</div>\n", dependencies: [{ kind: "component", type: IgxSelectComponent, selector: "igx-select", inputs: ["placeholder", "disabled", "overlaySettings", "value", "type"], outputs: ["opening", "opened", "closing", "closed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: IgxSelectItemComponent, selector: "igx-select-item", inputs: ["text"] }] }); }
376
376
  }
377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPageSizeSelectorComponent, decorators: [{
377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPageSizeSelectorComponent, decorators: [{
378
378
  type: Component,
379
379
  args: [{ selector: 'igx-page-size', imports: [IgxSelectComponent, FormsModule, IgxSelectItemComponent], template: "<label [id]=\"labelId\" class=\"igx-page-size__label\">{{ paginator.resourceStrings.igx_paginator_label }}</label>\n<div class=\"igx-page-size__select\">\n <igx-select [labelledBy]=\"labelId\" [overlaySettings]=\"paginator.overlaySettings\" [(ngModel)]=\"paginator.perPage\" type=\"border\">\n @for (val of paginator.selectOptions; track val) {\n <igx-select-item [value]=\"val\">\n {{ val }}\n </igx-select-item>\n }\n </igx-select>\n</div>\n" }]
380
380
  }], propDecorators: { cssClass: [{
@@ -399,10 +399,10 @@ class IgxPageNavigationComponent {
399
399
  */
400
400
  this.role = 'navigation';
401
401
  }
402
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
403
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.3", type: IgxPageNavigationComponent, isStandalone: true, selector: "igx-page-nav", inputs: { role: "role" }, host: { properties: { "class.igx-page-nav": "this.cssClass", "attr.role": "this.role" } }, ngImport: i0, template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.paginate(0)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"first_page\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.previousPage()\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages || 1 }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxIconButton=\"flat\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"last_page\"></igx-icon>\n</button>\n\n", dependencies: [{ kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }] }); }
402
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPageNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
403
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.5", type: IgxPageNavigationComponent, isStandalone: true, selector: "igx-page-nav", inputs: { role: "role" }, host: { properties: { "class.igx-page-nav": "this.cssClass", "attr.role": "this.role" } }, ngImport: i0, template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.paginate(0)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"first_page\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.previousPage()\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages || 1 }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxIconButton=\"flat\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"last_page\"></igx-icon>\n</button>\n\n", dependencies: [{ kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }, { kind: "directive", type: IgxIconButtonDirective, selector: "[igxIconButton]", inputs: ["igxIconButton"] }] }); }
404
404
  }
405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPageNavigationComponent, decorators: [{
405
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPageNavigationComponent, decorators: [{
406
406
  type: Component,
407
407
  args: [{ selector: 'igx-page-nav', imports: [IgxRippleDirective, IgxIconComponent, IgxIconButtonDirective], template: "<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.paginate(0)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"first_page\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.previousPage()\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages || 1 }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxIconButton=\"flat\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"last_page\"></igx-icon>\n</button>\n\n" }]
408
408
  }], propDecorators: { cssClass: [{
@@ -429,11 +429,11 @@ const IGX_PAGINATOR_DIRECTIVES = [
429
429
  * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
430
430
  */
431
431
  class IgxPaginatorModule {
432
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
433
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorModule, imports: [IgxPaginatorComponent, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorContentDirective, IgxPaginatorDirective], exports: [IgxPaginatorComponent, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorContentDirective, IgxPaginatorDirective] }); }
434
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorModule, imports: [IgxPaginatorComponent, IgxPageNavigationComponent, IgxPageSizeSelectorComponent] }); }
432
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
433
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorModule, imports: [IgxPaginatorComponent, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorContentDirective, IgxPaginatorDirective], exports: [IgxPaginatorComponent, IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorContentDirective, IgxPaginatorDirective] }); }
434
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorModule, imports: [IgxPaginatorComponent, IgxPageNavigationComponent, IgxPageSizeSelectorComponent] }); }
435
435
  }
436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.3", ngImport: i0, type: IgxPaginatorModule, decorators: [{
436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImport: i0, type: IgxPaginatorModule, decorators: [{
437
437
  type: NgModule,
438
438
  args: [{
439
439
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-paginator.mjs","sources":["../../../projects/igniteui-angular/paginator/src/paginator/paginator-interfaces.ts","../../../projects/igniteui-angular/paginator/src/paginator/token.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.html","../../../projects/igniteui-angular/paginator/src/paginator/page-size-selector.component.html","../../../projects/igniteui-angular/paginator/src/paginator/pager.component.html","../../../projects/igniteui-angular/paginator/src/paginator/public_api.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.module.ts","../../../projects/igniteui-angular/paginator/src/igniteui-angular-paginator.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\nimport { CancelableEventArgs, IBaseEventArgs } from 'igniteui-angular/core';\n\nexport interface IPageEventArgs extends IBaseEventArgs {\n previous: number;\n current: number;\n}\n\nexport interface IPageCancellableEventArgs extends CancelableEventArgs {\n current: number;\n next: number;\n}\n\n@Directive({\n selector: '[igxPaginator]',\n standalone: true\n})\nexport class IgxPaginatorDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { EventEmitter } from '@angular/core';\n\n/** @hidden @internal */\nexport abstract class IgxPaginatorToken {\n public abstract page: number;\n public abstract perPage: number;\n public abstract totalRecords: number;\n\n public abstract pageChange: EventEmitter<number>;\n\n public abstract paginate(val: number): void\n}\n","import { ChangeDetectorRef, Component, ContentChild, DestroyRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output, forwardRef, inject } from '@angular/core';\nimport { IPageCancellableEventArgs, IPageEventArgs } from './paginator-interfaces';\nimport {\n IPaginatorResourceStrings,\n PaginatorResourceStringsEN,\n OverlaySettings,\n getCurrentResourceStrings,\n onResourceChangeHandle\n} from 'igniteui-angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxRippleDirective, IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { IgxSelectComponent, IgxSelectItemComponent } from 'igniteui-angular/select';\nimport { IgxPaginatorToken } from './token';\n\n@Directive({\n selector: '[igxPaginatorContent],igx-paginator-content',\n standalone: true\n})\nexport class IgxPaginatorContentDirective {\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-paginator-content')\n public cssClass = 'igx-paginator-content';\n}\n\n/* blazorElement */\n/* mustUseNGParentAnchor */\n/* wcElementTag: igc-paginator */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: GridBaseDirective */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/* jsonAPIManageCollectionInMarkup */\n/**\n * Paginator component description\n * @igxParent IgxGridComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxPivotGridComponent, *\n */\n@Component({\n selector: 'igx-paginator',\n templateUrl: 'paginator.component.html',\n imports: [forwardRef(() => IgxPageSizeSelectorComponent), forwardRef(() => IgxPageNavigationComponent)],\n providers: [\n { provide: IgxPaginatorToken, useExisting: IgxPaginatorComponent }\n ]\n})\n// switch IgxPaginatorToken to extends once density is dropped\nexport class IgxPaginatorComponent implements IgxPaginatorToken {\n private elementRef = inject(ElementRef);\n private cdr = inject(ChangeDetectorRef);\n private destroyRef = inject(DestroyRef);\n\n /**\n * @hidden\n * @internal\n */\n @ContentChild(IgxPaginatorContentDirective)\n public customContent: IgxPaginatorContentDirective;\n\n /**\n * Emitted when `perPage` property value of the paginator is changed.\n *\n * @example\n * ```html\n * <igx-paginator (perPageChange)=\"onPerPageChange($event)\"></igx-paginator>\n * ```\n * ```typescript\n * public onPerPageChange(perPage: number) {\n * this.perPage = perPage;\n * }\n * ```\n */\n @Output()\n public perPageChange = new EventEmitter<number>();\n\n /**\n * Emitted after the current page is changed.\n *\n * @example\n * ```html\n * <igx-paginator (pageChange)=\"onPageChange($event)\"></igx-paginator>\n * ```\n * ```typescript\n * public onPageChange(page: number) {\n * this.currentPage = page;\n * }\n * ```\n */\n @Output()\n public pageChange = new EventEmitter<number>();\n\n /**\n * Emitted before paging is performed.\n *\n * @remarks\n * Returns an object consisting of the current and next pages.\n * @example\n * ```html\n * <igx-paginator (paging)=\"pagingHandler($event)\"></igx-paginator>\n * ```\n */\n @Output()\n public paging = new EventEmitter<IPageCancellableEventArgs>();\n\n /**\n * Emitted after paging is performed.\n *\n * @remarks\n * Returns an object consisting of the previous and current pages.\n * @example\n * ```html\n * <igx-paginator (pagingDone)=\"pagingDone($event)\"></igx-paginator>\n * ```\n */\n @Output()\n public pagingDone = new EventEmitter<IPageEventArgs>();\n\n /**\n * Total pages calculated from totalRecords and perPage\n */\n public totalPages: number;\n protected _page = 0;\n protected _totalRecords: number;\n protected _selectOptions = [5, 10, 15, 25, 50, 100, 500];\n protected _perPage = 15;\n\n private _resourceStrings: IPaginatorResourceStrings = null;\n private _defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, true);\n private _overlaySettings: OverlaySettings = {};\n private defaultSelectValues = [5, 10, 15, 25, 50, 100, 500];\n\n /** @hidden @internal */\n @HostBinding('class.igx-paginator')\n public cssClass = 'igx-paginator';\n\n /**\n * Gets/Sets the current page of the paginator.\n * The default is 0.\n * ```typescript\n * let page = this.paginator.page;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get page() {\n return this._page;\n }\n\n public set page(value: number) {\n if (this._page === value || value < 0 || value > this.totalPages) {\n return;\n }\n const cancelEventArgs: IPageCancellableEventArgs = { current: this._page, next: value, cancel: false };\n const eventArgs: IPageEventArgs = { previous: this._page, current: value };\n\n this.paging.emit(cancelEventArgs);\n if (cancelEventArgs.cancel) {\n return;\n }\n this._page = value;\n this.pageChange.emit(this._page);\n\n this.pagingDone.emit(eventArgs);\n }\n\n /**\n * Gets/Sets the number of visible items per page in the paginator.\n * The default is 15.\n * ```typescript\n * let itemsPerPage = this.paginator.perPage;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get perPage() {\n return this._perPage;\n }\n\n public set perPage(value: number) {\n if (value < 0 || this.perPage === value) {\n return;\n }\n this._perPage = Number(value);\n this.perPageChange.emit(this._perPage);\n this._selectOptions = this.sortUniqueOptions(this.defaultSelectValues, this._perPage);\n this.totalPages = Math.ceil(this.totalRecords / this._perPage);\n if (this.totalPages !== 0 && this.page >= this.totalPages) {\n this.page = this.totalPages - 1;\n }\n }\n\n /**\n * Sets the total records.\n * ```typescript\n * let totalRecords = this.paginator.totalRecords;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get totalRecords() {\n return this._totalRecords;\n }\n\n public set totalRecords(value: number) {\n this._totalRecords = value;\n this.totalPages = Math.ceil(this.totalRecords / this.perPage);\n if (this.page > this.totalPages) {\n this.page = 0;\n }\n this.cdr.detectChanges();\n }\n\n /**\n * Sets custom options in the select of the paginator\n * ```typescript\n * let options = this.paginator.selectOptions;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get selectOptions() {\n return this._selectOptions;\n }\n\n public set selectOptions(value: Array<number>) {\n this._selectOptions = this.sortUniqueOptions(value, this._perPage);\n this.defaultSelectValues = [...value];\n }\n\n /**\n * Sets custom OverlaySettings.\n * ```html\n * <igx-paginator [overlaySettings] = \"customOverlaySettings\"></igx-paginator>\n * ```\n */\n @Input()\n public get overlaySettings(): OverlaySettings {\n return this._overlaySettings;\n }\n\n public set overlaySettings(value: OverlaySettings) {\n this._overlaySettings = Object.assign({}, this._overlaySettings, value);\n }\n\n /* mustSetInCodePlatforms: WebComponents;Blazor;React */\n /**\n * An accessor that sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IPaginatorResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n public get resourceStrings(): IPaginatorResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n constructor() {\n onResourceChangeHandle(this.destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, false);\n }, this);\n }\n\n /**\n * Returns if the current page is the last page.\n * ```typescript\n * const lastPage = this.paginator.isLastPage;\n * ```\n */\n public get isLastPage(): boolean {\n return this.page + 1 >= this.totalPages;\n }\n\n /**\n * Returns if the current page is the first page.\n * ```typescript\n * const lastPage = this.paginator.isFirstPage;\n * ```\n */\n public get isFirstPage(): boolean {\n return this.page === 0;\n }\n\n\n /**\n * Returns if the first pager buttons should be disabled\n * @hidden\n * @deprecated in version 18.1.0. Use the `isFirstPage` property instead.\n */\n public get isFirstPageDisabled(): boolean {\n return this.isFirstPage;\n }\n\n /**\n * Returns if the last pager buttons should be disabled\n * @hidden\n * @deprecated in version 18.1.0. Use the `isLastPage` property instead.\n */\n public get isLastPageDisabled(): boolean {\n return this.isLastPage;\n }\n\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Goes to the next page of the `IgxPaginatorComponent`, if the paginator is not already at the last page.\n * ```typescript\n * this.paginator.nextPage();\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n public nextPage(): void {\n if (!this.isLastPage) {\n this.page += 1;\n }\n }\n /**\n * Goes to the previous page of the `IgxPaginatorComponent`, if the paginator is not already at the first page.\n * ```typescript\n * this.paginator.previousPage();\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n public previousPage(): void {\n if (!this.isFirstPage) {\n this.page -= 1;\n }\n }\n /**\n * Goes to the desired page index.\n * ```typescript\n * this.paginator.paginate(1);\n * ```\n *\n * @param val\n * @memberof IgxPaginatorComponent\n */\n public paginate(val: number): void {\n if (val < 0 || val > this.totalPages - 1) {\n return;\n }\n this.page = val;\n }\n\n private sortUniqueOptions(values: Array<number>, newOption: number): number[] {\n return Array.from(new Set([...values, newOption])).sort((a, b) => a - b);\n }\n}\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'igx-page-size',\n templateUrl: 'page-size-selector.component.html',\n imports: [IgxSelectComponent, FormsModule, IgxSelectItemComponent]\n})\nexport class IgxPageSizeSelectorComponent {\n public paginator = inject(IgxPaginatorComponent, { host: true });\n\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-page-size')\n public cssClass = 'igx-page-size';\n\n @HostBinding('attr.id')\n @Input()\n public id = `igx-paginator-${NEXT_ID++}`;\n\n public get labelId() {\n return `${this.id}-label`;\n }\n}\n\n\n@Component({\n selector: 'igx-page-nav',\n templateUrl: 'pager.component.html',\n imports: [IgxRippleDirective, IgxIconComponent, IgxIconButtonDirective]\n})\nexport class IgxPageNavigationComponent {\n public paginator = inject(IgxPaginatorComponent, { host: true });\n\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-page-nav')\n public cssClass = 'igx-page-nav';\n\n /**\n * Sets the `role` attribute of the element.\n */\n @HostBinding('attr.role')\n @Input()\n public role = 'navigation';\n}\n","<ng-content select=\"[igxPaginatorContent],igx-paginator-content\"></ng-content>\n\n@if (!customContent) {\n <igx-page-size></igx-page-size>\n}\n@if (!customContent) {\n <igx-page-nav></igx-page-nav>\n}\n","<label [id]=\"labelId\" class=\"igx-page-size__label\">{{ paginator.resourceStrings.igx_paginator_label }}</label>\n<div class=\"igx-page-size__select\">\n <igx-select [labelledBy]=\"labelId\" [overlaySettings]=\"paginator.overlaySettings\" [(ngModel)]=\"paginator.perPage\" type=\"border\">\n @for (val of paginator.selectOptions; track val) {\n <igx-select-item [value]=\"val\">\n {{ val }}\n </igx-select-item>\n }\n </igx-select>\n</div>\n","<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.paginate(0)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"first_page\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.previousPage()\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages || 1 }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxIconButton=\"flat\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"last_page\"></igx-icon>\n</button>\n\n","import { IgxPaginatorDirective } from './paginator-interfaces';\nimport { IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorContentDirective } from './paginator.component';\n\nexport * from './paginator.component';\nexport * from './paginator-interfaces';\nexport { IgxPaginatorToken } from './token';\n\n/* NOTE: Paginator directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_PAGINATOR_DIRECTIVES = [\n IgxPaginatorComponent,\n IgxPageNavigationComponent,\n IgxPageSizeSelectorComponent,\n IgxPaginatorContentDirective,\n IgxPaginatorDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_PAGINATOR_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_PAGINATOR_DIRECTIVES\n ],\n exports: [\n ...IGX_PAGINATOR_DIRECTIVES\n ]\n})\nexport class IgxPaginatorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxPaginatorComponent","i1.IgxPageNavigationComponent","i1.IgxPageSizeSelectorComponent","i1.IgxPaginatorContentDirective","i2.IgxPaginatorDirective"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-paginator.mjs","sources":["../../../projects/igniteui-angular/paginator/src/paginator/paginator-interfaces.ts","../../../projects/igniteui-angular/paginator/src/paginator/token.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.component.html","../../../projects/igniteui-angular/paginator/src/paginator/page-size-selector.component.html","../../../projects/igniteui-angular/paginator/src/paginator/pager.component.html","../../../projects/igniteui-angular/paginator/src/paginator/public_api.ts","../../../projects/igniteui-angular/paginator/src/paginator/paginator.module.ts","../../../projects/igniteui-angular/paginator/src/igniteui-angular-paginator.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\nimport { CancelableEventArgs, IBaseEventArgs } from 'igniteui-angular/core';\n\nexport interface IPageEventArgs extends IBaseEventArgs {\n previous: number;\n current: number;\n}\n\nexport interface IPageCancellableEventArgs extends CancelableEventArgs {\n current: number;\n next: number;\n}\n\n@Directive({\n selector: '[igxPaginator]',\n standalone: true\n})\nexport class IgxPaginatorDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { EventEmitter } from '@angular/core';\n\n/** @hidden @internal */\nexport abstract class IgxPaginatorToken {\n public abstract page: number;\n public abstract perPage: number;\n public abstract totalRecords: number;\n\n public abstract pageChange: EventEmitter<number>;\n\n public abstract paginate(val: number): void\n}\n","import { ChangeDetectorRef, Component, ContentChild, DestroyRef, Directive, ElementRef, EventEmitter, HostBinding, Input, Output, forwardRef, inject } from '@angular/core';\nimport { IPageCancellableEventArgs, IPageEventArgs } from './paginator-interfaces';\nimport {\n IPaginatorResourceStrings,\n PaginatorResourceStringsEN,\n OverlaySettings,\n getCurrentResourceStrings,\n onResourceChangeHandle\n} from 'igniteui-angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxRippleDirective, IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { IgxSelectComponent, IgxSelectItemComponent } from 'igniteui-angular/select';\nimport { IgxPaginatorToken } from './token';\n\n@Directive({\n selector: '[igxPaginatorContent],igx-paginator-content',\n standalone: true\n})\nexport class IgxPaginatorContentDirective {\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-paginator-content')\n public cssClass = 'igx-paginator-content';\n}\n\n/* blazorElement */\n/* mustUseNGParentAnchor */\n/* wcElementTag: igc-paginator */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: GridBaseDirective */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/* jsonAPIManageCollectionInMarkup */\n/**\n * Paginator component description\n * @igxParent IgxGridComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxPivotGridComponent, *\n */\n@Component({\n selector: 'igx-paginator',\n templateUrl: 'paginator.component.html',\n imports: [forwardRef(() => IgxPageSizeSelectorComponent), forwardRef(() => IgxPageNavigationComponent)],\n providers: [\n { provide: IgxPaginatorToken, useExisting: IgxPaginatorComponent }\n ]\n})\n// switch IgxPaginatorToken to extends once density is dropped\nexport class IgxPaginatorComponent implements IgxPaginatorToken {\n private elementRef = inject(ElementRef);\n private cdr = inject(ChangeDetectorRef);\n private destroyRef = inject(DestroyRef);\n\n /**\n * @hidden\n * @internal\n */\n @ContentChild(IgxPaginatorContentDirective)\n public customContent: IgxPaginatorContentDirective;\n\n /**\n * Emitted when `perPage` property value of the paginator is changed.\n *\n * @example\n * ```html\n * <igx-paginator (perPageChange)=\"onPerPageChange($event)\"></igx-paginator>\n * ```\n * ```typescript\n * public onPerPageChange(perPage: number) {\n * this.perPage = perPage;\n * }\n * ```\n */\n @Output()\n public perPageChange = new EventEmitter<number>();\n\n /**\n * Emitted after the current page is changed.\n *\n * @example\n * ```html\n * <igx-paginator (pageChange)=\"onPageChange($event)\"></igx-paginator>\n * ```\n * ```typescript\n * public onPageChange(page: number) {\n * this.currentPage = page;\n * }\n * ```\n */\n @Output()\n public pageChange = new EventEmitter<number>();\n\n /**\n * Emitted before paging is performed.\n *\n * @remarks\n * Returns an object consisting of the current and next pages.\n * @example\n * ```html\n * <igx-paginator (paging)=\"pagingHandler($event)\"></igx-paginator>\n * ```\n */\n @Output()\n public paging = new EventEmitter<IPageCancellableEventArgs>();\n\n /**\n * Emitted after paging is performed.\n *\n * @remarks\n * Returns an object consisting of the previous and current pages.\n * @example\n * ```html\n * <igx-paginator (pagingDone)=\"pagingDone($event)\"></igx-paginator>\n * ```\n */\n @Output()\n public pagingDone = new EventEmitter<IPageEventArgs>();\n\n /**\n * Total pages calculated from totalRecords and perPage\n */\n public totalPages: number;\n protected _page = 0;\n protected _totalRecords: number;\n protected _selectOptions = [5, 10, 15, 25, 50, 100, 500];\n protected _perPage = 15;\n\n private _resourceStrings: IPaginatorResourceStrings = null;\n private _defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, true);\n private _overlaySettings: OverlaySettings = {};\n private defaultSelectValues = [5, 10, 15, 25, 50, 100, 500];\n\n /** @hidden @internal */\n @HostBinding('class.igx-paginator')\n public cssClass = 'igx-paginator';\n\n /**\n * Gets/Sets the current page of the paginator.\n * The default is 0.\n * ```typescript\n * let page = this.paginator.page;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get page() {\n return this._page;\n }\n\n public set page(value: number) {\n if (this._page === value || value < 0 || value > this.totalPages) {\n return;\n }\n const cancelEventArgs: IPageCancellableEventArgs = { current: this._page, next: value, cancel: false };\n const eventArgs: IPageEventArgs = { previous: this._page, current: value };\n\n this.paging.emit(cancelEventArgs);\n if (cancelEventArgs.cancel) {\n return;\n }\n this._page = value;\n this.pageChange.emit(this._page);\n\n this.pagingDone.emit(eventArgs);\n }\n\n /**\n * Gets/Sets the number of visible items per page in the paginator.\n * The default is 15.\n * ```typescript\n * let itemsPerPage = this.paginator.perPage;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get perPage() {\n return this._perPage;\n }\n\n public set perPage(value: number) {\n if (value < 0 || this.perPage === value) {\n return;\n }\n this._perPage = Number(value);\n this.perPageChange.emit(this._perPage);\n this._selectOptions = this.sortUniqueOptions(this.defaultSelectValues, this._perPage);\n this.totalPages = Math.ceil(this.totalRecords / this._perPage);\n if (this.totalPages !== 0 && this.page >= this.totalPages) {\n this.page = this.totalPages - 1;\n }\n }\n\n /**\n * Sets the total records.\n * ```typescript\n * let totalRecords = this.paginator.totalRecords;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get totalRecords() {\n return this._totalRecords;\n }\n\n public set totalRecords(value: number) {\n this._totalRecords = value;\n this.totalPages = Math.ceil(this.totalRecords / this.perPage);\n if (this.page > this.totalPages) {\n this.page = 0;\n }\n this.cdr.detectChanges();\n }\n\n /**\n * Sets custom options in the select of the paginator\n * ```typescript\n * let options = this.paginator.selectOptions;\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n @Input()\n public get selectOptions() {\n return this._selectOptions;\n }\n\n public set selectOptions(value: Array<number>) {\n this._selectOptions = this.sortUniqueOptions(value, this._perPage);\n this.defaultSelectValues = [...value];\n }\n\n /**\n * Sets custom OverlaySettings.\n * ```html\n * <igx-paginator [overlaySettings] = \"customOverlaySettings\"></igx-paginator>\n * ```\n */\n @Input()\n public get overlaySettings(): OverlaySettings {\n return this._overlaySettings;\n }\n\n public set overlaySettings(value: OverlaySettings) {\n this._overlaySettings = Object.assign({}, this._overlaySettings, value);\n }\n\n /* mustSetInCodePlatforms: WebComponents;Blazor;React */\n /**\n * An accessor that sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IPaginatorResourceStrings) {\n this._resourceStrings = Object.assign({}, this.resourceStrings, value);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n public get resourceStrings(): IPaginatorResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n constructor() {\n onResourceChangeHandle(this.destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, false);\n }, this);\n }\n\n /**\n * Returns if the current page is the last page.\n * ```typescript\n * const lastPage = this.paginator.isLastPage;\n * ```\n */\n public get isLastPage(): boolean {\n return this.page + 1 >= this.totalPages;\n }\n\n /**\n * Returns if the current page is the first page.\n * ```typescript\n * const lastPage = this.paginator.isFirstPage;\n * ```\n */\n public get isFirstPage(): boolean {\n return this.page === 0;\n }\n\n\n /**\n * Returns if the first pager buttons should be disabled\n * @hidden\n * @deprecated in version 18.1.0. Use the `isFirstPage` property instead.\n */\n public get isFirstPageDisabled(): boolean {\n return this.isFirstPage;\n }\n\n /**\n * Returns if the last pager buttons should be disabled\n * @hidden\n * @deprecated in version 18.1.0. Use the `isLastPage` property instead.\n */\n public get isLastPageDisabled(): boolean {\n return this.isLastPage;\n }\n\n public get nativeElement() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Goes to the next page of the `IgxPaginatorComponent`, if the paginator is not already at the last page.\n * ```typescript\n * this.paginator.nextPage();\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n public nextPage(): void {\n if (!this.isLastPage) {\n this.page += 1;\n }\n }\n /**\n * Goes to the previous page of the `IgxPaginatorComponent`, if the paginator is not already at the first page.\n * ```typescript\n * this.paginator.previousPage();\n * ```\n *\n * @memberof IgxPaginatorComponent\n */\n public previousPage(): void {\n if (!this.isFirstPage) {\n this.page -= 1;\n }\n }\n /**\n * Goes to the desired page index.\n * ```typescript\n * this.paginator.paginate(1);\n * ```\n *\n * @param val\n * @memberof IgxPaginatorComponent\n */\n public paginate(val: number): void {\n if (val < 0 || val > this.totalPages - 1) {\n return;\n }\n this.page = val;\n }\n\n private sortUniqueOptions(values: Array<number>, newOption: number): number[] {\n return Array.from(new Set([...values, newOption])).sort((a, b) => a - b);\n }\n}\n\nlet NEXT_ID = 0;\n\n@Component({\n selector: 'igx-page-size',\n templateUrl: 'page-size-selector.component.html',\n imports: [IgxSelectComponent, FormsModule, IgxSelectItemComponent]\n})\nexport class IgxPageSizeSelectorComponent {\n public paginator = inject(IgxPaginatorComponent, { host: true });\n\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-page-size')\n public cssClass = 'igx-page-size';\n\n @HostBinding('attr.id')\n @Input()\n public id = `igx-paginator-${NEXT_ID++}`;\n\n public get labelId() {\n return `${this.id}-label`;\n }\n}\n\n\n@Component({\n selector: 'igx-page-nav',\n templateUrl: 'pager.component.html',\n imports: [IgxRippleDirective, IgxIconComponent, IgxIconButtonDirective]\n})\nexport class IgxPageNavigationComponent {\n public paginator = inject(IgxPaginatorComponent, { host: true });\n\n /**\n * @internal\n * @hidden\n */\n @HostBinding('class.igx-page-nav')\n public cssClass = 'igx-page-nav';\n\n /**\n * Sets the `role` attribute of the element.\n */\n @HostBinding('attr.role')\n @Input()\n public role = 'navigation';\n}\n","<ng-content select=\"[igxPaginatorContent],igx-paginator-content\"></ng-content>\n\n@if (!customContent) {\n <igx-page-size></igx-page-size>\n}\n@if (!customContent) {\n <igx-page-nav></igx-page-nav>\n}\n","<label [id]=\"labelId\" class=\"igx-page-size__label\">{{ paginator.resourceStrings.igx_paginator_label }}</label>\n<div class=\"igx-page-size__select\">\n <igx-select [labelledBy]=\"labelId\" [overlaySettings]=\"paginator.overlaySettings\" [(ngModel)]=\"paginator.perPage\" type=\"border\">\n @for (val of paginator.selectOptions; track val) {\n <igx-select-item [value]=\"val\">\n {{ val }}\n </igx-select-item>\n }\n </igx-select>\n</div>\n","<button\n [title]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_first_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.paginate(0)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"first_page\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_previous_page_button_text\"\n [disabled]=\"paginator.isFirstPage\"\n [attr.aria-disabled]=\"paginator.isFirstPage\"\n (click)=\"paginator.previousPage()\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"prev\"></igx-icon>\n</button>\n<div class=\"igx-page-nav__text\" aria-current=\"page\">\n <span>{{ paginator.page + 1 }}</span>\n <span\n >&nbsp;{{\n paginator.resourceStrings.igx_paginator_pager_text\n }}&nbsp;</span\n >\n <span>{{ paginator.totalPages || 1 }}</span>\n</div>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_next_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.nextPage()\"\n igxRipple\n [igxRippleCentered]=\"true\"\n igxIconButton=\"flat\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"next\"></igx-icon>\n</button>\n<button\n [title]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [attr.aria-label]=\"paginator.resourceStrings.igx_paginator_last_page_button_text\"\n [disabled]=\"paginator.isLastPage\"\n [attr.aria-disabled]=\"paginator.isLastPage\"\n (click)=\"paginator.paginate(paginator.totalPages - 1)\"\n igxIconButton=\"flat\"\n igxRipple\n [igxRippleCentered]=\"true\"\n type=\"button\"\n>\n <igx-icon family=\"default\" name=\"last_page\"></igx-icon>\n</button>\n\n","import { IgxPaginatorDirective } from './paginator-interfaces';\nimport { IgxPageNavigationComponent, IgxPageSizeSelectorComponent, IgxPaginatorComponent, IgxPaginatorContentDirective } from './paginator.component';\n\nexport * from './paginator.component';\nexport * from './paginator-interfaces';\nexport { IgxPaginatorToken } from './token';\n\n/* NOTE: Paginator directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_PAGINATOR_DIRECTIVES = [\n IgxPaginatorComponent,\n IgxPageNavigationComponent,\n IgxPageSizeSelectorComponent,\n IgxPaginatorContentDirective,\n IgxPaginatorDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_PAGINATOR_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_PAGINATOR_DIRECTIVES\n ],\n exports: [\n ...IGX_PAGINATOR_DIRECTIVES\n ]\n})\nexport class IgxPaginatorModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxPaginatorComponent","i1.IgxPageNavigationComponent","i1.IgxPageSizeSelectorComponent","i1.IgxPaginatorContentDirective","i2.IgxPaginatorDirective"],"mappings":";;;;;;;;;MAiBa,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAKW,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAmB,WAAW,CAAC;AAC1D,IAAA;8GAFY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE;AACf,iBAAA;;;ACdD;MACsB,iBAAiB,CAAA;AAQtC;;MCQY,4BAA4B,CAAA;AAJzC,IAAA,WAAA,GAAA;AAKI;;;AAGG;QAEI,IAAA,CAAA,QAAQ,GAAG,uBAAuB;AAC5C,IAAA;8GAPY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,6BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,UAAU,EAAE;AACf,iBAAA;;sBAMI,WAAW;uBAAC,6BAA6B;;AAI9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGG;AASH;MACa,qBAAqB,CAAA;AAwF9B;;;;;;;;AAQG;AACH,IAAA,IACW,IAAI,GAAA;QACX,OAAO,IAAI,CAAC,KAAK;IACrB;IAEA,IAAW,IAAI,CAAC,KAAa,EAAA;AACzB,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;YAC9D;QACJ;AACA,QAAA,MAAM,eAAe,GAA8B,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;AACtG,QAAA,MAAM,SAAS,GAAmB,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;AAE1E,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;AACjC,QAAA,IAAI,eAAe,CAAC,MAAM,EAAE;YACxB;QACJ;AACA,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;QAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAEhC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;IACnC;AAEA;;;;;;;;AAQG;AACH,IAAA,IACW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ;IACxB;IAEA,IAAW,OAAO,CAAC,KAAa,EAAA;QAC5B,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;YACrC;QACJ;AACA,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACtC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC;AACrF,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC9D,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC;QACnC;IACJ;AAEA;;;;;;;AAOG;AACH,IAAA,IACW,YAAY,GAAA;QACnB,OAAO,IAAI,CAAC,aAAa;IAC7B;IAEA,IAAW,YAAY,CAAC,KAAa,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7D,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC;QACjB;AACA,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;IAC5B;AAEA;;;;;;;AAOG;AACH,IAAA,IACW,aAAa,GAAA;QACpB,OAAO,IAAI,CAAC,cAAc;IAC9B;IAEA,IAAW,aAAa,CAAC,KAAoB,EAAA;AACzC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;AAClE,QAAA,IAAI,CAAC,mBAAmB,GAAG,CAAC,GAAG,KAAK,CAAC;IACzC;AAEA;;;;;AAKG;AACH,IAAA,IACW,eAAe,GAAA;QACtB,OAAO,IAAI,CAAC,gBAAgB;IAChC;IAEA,IAAW,eAAe,CAAC,KAAsB,EAAA;AAC7C,QAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC;IAC3E;;AAGA;;;AAGG;IACH,IACW,eAAe,CAAC,KAAgC,EAAA;AACvD,QAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC;IAC1E;AAEA;;AAEG;AACH,IAAA,IAAW,eAAe,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,uBAAuB;IAChE;AAEA,IAAA,WAAA,GAAA;AAzNQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC/B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AASvC;;;;;;;;;;;;AAYG;AAEI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAU;AAEjD;;;;;;;;;;;;AAYG;AAEI,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAU;AAE9C;;;;;;;;;AASG;AAEI,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAA6B;AAE7D;;;;;;;;;AASG;AAEI,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAkB;QAM5C,IAAA,CAAA,KAAK,GAAG,CAAC;AAET,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;QAC9C,IAAA,CAAA,QAAQ,GAAG,EAAE;QAEf,IAAA,CAAA,gBAAgB,GAA8B,IAAI;AAClD,QAAA,IAAA,CAAA,uBAAuB,GAAG,yBAAyB,CAAC,0BAA0B,EAAE,IAAI,CAAC;QACrF,IAAA,CAAA,gBAAgB,GAAoB,EAAE;AACtC,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC;;QAIpD,IAAA,CAAA,QAAQ,GAAG,eAAe;AAqI7B,QAAA,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAK;YACzC,IAAI,CAAC,uBAAuB,GAAG,yBAAyB,CAAC,0BAA0B,EAAE,KAAK,CAAC;QAC/F,CAAC,EAAE,IAAI,CAAC;IACZ;AAEA;;;;;AAKG;AACH,IAAA,IAAW,UAAU,GAAA;QACjB,OAAO,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU;IAC3C;AAEA;;;;;AAKG;AACH,IAAA,IAAW,WAAW,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC;IAC1B;AAGA;;;;AAIG;AACH,IAAA,IAAW,mBAAmB,GAAA;QAC1B,OAAO,IAAI,CAAC,WAAW;IAC3B;AAEA;;;;AAIG;AACH,IAAA,IAAW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,UAAU;IAC1B;AAEA,IAAA,IAAW,aAAa,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa;IACxC;AAEA;;;;;;;AAOG;IACI,QAAQ,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AAClB,YAAA,IAAI,CAAC,IAAI,IAAI,CAAC;QAClB;IACJ;AACA;;;;;;;AAOG;IACI,YAAY,GAAA;AACf,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACnB,YAAA,IAAI,CAAC,IAAI,IAAI,CAAC;QAClB;IACJ;AACA;;;;;;;;AAQG;AACI,IAAA,QAAQ,CAAC,GAAW,EAAA;AACvB,QAAA,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE;YACtC;QACJ;AACA,QAAA,IAAI,CAAC,IAAI,GAAG,GAAG;IACnB;IAEQ,iBAAiB,CAAC,MAAqB,EAAE,SAAiB,EAAA;AAC9D,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5E;8GAvTS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,UAAA,EAAA,YAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EALnB;AACP,YAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,qBAAqB;AACnE,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAYa,4BAA4B,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3D9C,oNAQA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MD2Wa,4BAA4B,+FAyB5B,0BAA0B,CAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FA1V1B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBATjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,WAEhB,CAAC,UAAU,CAAC,MAAM,4BAA4B,CAAC,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC,CAAC,EAAA,SAAA,EAC5F;AACP,wBAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,uBAAuB;AACnE,qBAAA,EAAA,QAAA,EAAA,oNAAA,EAAA;;sBAYA,YAAY;uBAAC,4BAA4B;;sBAgBzC;;sBAgBA;;sBAaA;;sBAaA;;sBAkBA,WAAW;uBAAC,qBAAqB;;sBAYjC;;sBA+BA;;sBA0BA;;sBAsBA;;sBAgBA;;sBAcA;;AA4GL,IAAI,OAAO,GAAG,CAAC;MAOF,4BAA4B,CAAA;AALzC,IAAA,WAAA,GAAA;QAMW,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEhE;;;AAGG;QAEI,IAAA,CAAA,QAAQ,GAAG,eAAe;AAI1B,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,cAAA,EAAiB,OAAO,EAAE,EAAE;AAK3C,IAAA;AAHG,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,EAAE,QAAQ;IAC7B;8GAhBS,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4BAA4B,uLEnXzC,sfAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EFuWc,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,+VAAE,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAExD,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBALxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,WAEhB,CAAC,kBAAkB,EAAE,WAAW,EAAE,sBAAsB,CAAC,EAAA,QAAA,EAAA,sfAAA,EAAA;;sBASjE,WAAW;uBAAC,qBAAqB;;sBAGjC,WAAW;uBAAC,SAAS;;sBACrB;;MAcQ,0BAA0B,CAAA;AALvC,IAAA,WAAA,GAAA;QAMW,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEhE;;;AAGG;QAEI,IAAA,CAAA,QAAQ,GAAG,cAAc;AAEhC;;AAEG;QAGI,IAAA,CAAA,IAAI,GAAG,YAAY;AAC7B,IAAA;8GAhBY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,6LG5YvC,ktEA8DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EH4Uc,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,WAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,yGAAE,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAE7D,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBALtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,WAEf,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,CAAC,EAAA,QAAA,EAAA,ktEAAA,EAAA;;sBAStE,WAAW;uBAAC,oBAAoB;;sBAMhC,WAAW;uBAAC,WAAW;;sBACvB;;;AInZL;AACO,MAAM,wBAAwB,GAAG;IACpC,qBAAqB;IACrB,0BAA0B;IAC1B,4BAA4B;IAC5B,4BAA4B;IAC5B;;;ACVJ;;;AAGG;MASU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAAAA,qBAAA,EAAAC,0BAAA,EAAAC,4BAAA,EAAAC,4BAAA,EAAAC,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAAJ,qBAAA,EAAAC,0BAAA,EAAAC,4BAAA,EAAAC,4BAAA,EAAAC,qBAAA,CAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAAAJ,qBAAA,EAAAC,0BAAA,EAAAC,4BAAA,CAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN,qBAAA;AACD,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN;AACJ,iBAAA;;;ACdD;;AAEG;;;;"}