igniteui-angular 21.2.15 → 21.2.17

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 (73) hide show
  1. package/fesm2022/igniteui-angular-action-strip.mjs +5 -2
  2. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  3. package/fesm2022/igniteui-angular-banner.mjs +5 -2
  4. package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
  5. package/fesm2022/igniteui-angular-calendar.mjs +12 -5
  6. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-carousel.mjs +5 -2
  8. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  9. package/fesm2022/igniteui-angular-chips.mjs +5 -2
  10. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  11. package/fesm2022/igniteui-angular-combo.mjs +5 -2
  12. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  13. package/fesm2022/igniteui-angular-date-picker.mjs +5 -2
  14. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  15. package/fesm2022/igniteui-angular-directives.mjs +30 -2
  16. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  17. package/fesm2022/igniteui-angular-grids-core.mjs +15 -3
  18. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  19. package/fesm2022/igniteui-angular-grids-grid.mjs +30 -11
  20. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  21. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  22. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  23. package/fesm2022/igniteui-angular-input-group.mjs +5 -2
  24. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-list.mjs +5 -2
  26. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-paginator.mjs +5 -2
  28. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  29. package/fesm2022/igniteui-angular-query-builder.mjs +21 -8
  30. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  31. package/fesm2022/igniteui-angular-time-picker.mjs +5 -2
  32. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  33. package/fesm2022/igniteui-angular-tree.mjs +5 -2
  34. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  35. package/lib/core/styles/components/grid/_excel-filtering-theme.scss +11 -9
  36. package/package.json +1 -1
  37. package/styles/igniteui-fluent-dark-excel.css +1 -1
  38. package/styles/igniteui-fluent-dark-word.css +1 -1
  39. package/styles/igniteui-fluent-dark.css +1 -1
  40. package/styles/igniteui-fluent-light-excel.css +1 -1
  41. package/styles/igniteui-fluent-light-word.css +1 -1
  42. package/styles/igniteui-fluent-light.css +1 -1
  43. package/styles/igniteui-indigo-dark.css +1 -1
  44. package/styles/igniteui-indigo-light.css +1 -1
  45. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  46. package/styles/maps/igniteui-angular.css.map +1 -1
  47. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  48. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  49. package/styles/maps/igniteui-dark-green.css.map +1 -1
  50. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  51. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  52. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  53. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  54. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  55. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  56. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  57. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  58. package/types/igniteui-angular-action-strip.d.ts +1 -0
  59. package/types/igniteui-angular-banner.d.ts +1 -0
  60. package/types/igniteui-angular-calendar.d.ts +2 -0
  61. package/types/igniteui-angular-carousel.d.ts +1 -0
  62. package/types/igniteui-angular-chips.d.ts +1 -0
  63. package/types/igniteui-angular-combo.d.ts +1 -0
  64. package/types/igniteui-angular-date-picker.d.ts +1 -0
  65. package/types/igniteui-angular-directives.d.ts +12 -1
  66. package/types/igniteui-angular-grids-core.d.ts +2 -0
  67. package/types/igniteui-angular-grids-grid.d.ts +9 -3
  68. package/types/igniteui-angular-input-group.d.ts +1 -0
  69. package/types/igniteui-angular-list.d.ts +1 -0
  70. package/types/igniteui-angular-paginator.d.ts +1 -0
  71. package/types/igniteui-angular-query-builder.d.ts +4 -0
  72. package/types/igniteui-angular-time-picker.d.ts +1 -0
  73. package/types/igniteui-angular-tree.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-list.mjs","sources":["../../../projects/igniteui-angular/list/src/list/list.common.ts","../../../projects/igniteui-angular/list/src/list/list-item.component.ts","../../../projects/igniteui-angular/list/src/list/list-item.component.html","../../../projects/igniteui-angular/list/src/list/list.component.ts","../../../projects/igniteui-angular/list/src/list/list.component.html","../../../projects/igniteui-angular/list/src/list/public_api.ts","../../../projects/igniteui-angular/list/src/list/list.module.ts","../../../projects/igniteui-angular/list/src/igniteui-angular-list.ts"],"sourcesContent":["import { Directive, TemplateRef, EventEmitter, QueryList, ElementRef, inject } from '@angular/core';\n\nexport interface IListChild {\n index: number;\n}\n\n/** @hidden */\n@Directive({\n selector: '[igxListBase]',\n standalone: true\n})\nexport class IgxListBaseDirective {\n protected el = inject(ElementRef, { optional: true });\n\n public itemClicked: EventEmitter<any>;\n public allowLeftPanning: boolean;\n public allowRightPanning: boolean;\n public panEndTriggeringThreshold: number;\n public leftPan: EventEmitter<any>;\n public rightPan: EventEmitter<any>;\n public startPan: EventEmitter<any>;\n public endPan: EventEmitter<any>;\n public resetPan: EventEmitter<any>;\n public panStateChange: EventEmitter<any>;\n public children: QueryList<any>;\n public listItemLeftPanningTemplate: IgxListItemLeftPanningTemplateDirective;\n public listItemRightPanningTemplate: IgxListItemRightPanningTemplateDirective;\n}\n\nexport enum IgxListPanState { NONE, LEFT, RIGHT }\n\n@Directive({\n selector: '[igxEmptyList]',\n standalone: true\n})\nexport class IgxEmptyListTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxDataLoading]',\n standalone: true\n})\nexport class IgxDataLoadingTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxListItemLeftPanning]',\n standalone: true\n})\nexport class IgxListItemLeftPanningTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxListItemRightPanning]',\n standalone: true\n})\nexport class IgxListItemRightPanningTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Input, Renderer2, ViewChild, booleanAttribute, inject } from '@angular/core';\n\nimport {\n IgxListPanState,\n IListChild,\n IgxListBaseDirective\n} from './list.common';\n\nimport { HammerGesturesManager } from 'igniteui-angular/core';\nimport { rem } from 'igniteui-angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * The Ignite UI List Item component is a container intended for row items in the Ignite UI for Angular List component.\n *\n * Example:\n * ```html\n * <igx-list>\n * <igx-list-item isHeader=\"true\">Contacts</igx-list-item>\n * <igx-list-item *ngFor=\"let contact of contacts\">\n * <span class=\"name\">{{ contact.name }}</span>\n * <span class=\"phone\">{{ contact.phone }}</span>\n * </igx-list-item>\n * </igx-list>\n * ```\n */\n@Component({\n providers: [HammerGesturesManager],\n selector: 'igx-list-item',\n templateUrl: 'list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class IgxListItemComponent implements IListChild {\n public list = inject(IgxListBaseDirective);\n private elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n\n /**\n * Provides a reference to the template's base element shown when left panning a list item.\n * ```typescript\n * const leftPanTmpl = this.listItem.leftPanningTemplateElement;\n * ```\n */\n @ViewChild('leftPanningTmpl')\n public leftPanningTemplateElement;\n\n /**\n * Provides a reference to the template's base element shown when right panning a list item.\n * ```typescript\n * const rightPanTmpl = this.listItem.rightPanningTemplateElement;\n * ```\n */\n @ViewChild('rightPanningTmpl')\n public rightPanningTemplateElement;\n\n /**\n * Sets/gets whether the `list item` is a header.\n * ```html\n * <igx-list-item [isHeader] = \"true\">Header</igx-list-item>\n * ```\n * ```typescript\n * let isHeader = this.listItem.isHeader;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @Input({ transform: booleanAttribute })\n public isHeader: boolean;\n\n /**\n * Sets/gets whether the `list item` is hidden.\n * By default the `hidden` value is `false`.\n * ```html\n * <igx-list-item [hidden] = \"true\">Hidden Item</igx-list-item>\n * ```\n * ```typescript\n * let isHidden = this.listItem.hidden;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @Input({ transform: booleanAttribute })\n public hidden = false;\n\n /**\n * Sets/gets the `aria-label` attribute of the `list item`.\n * ```typescript\n * this.listItem.ariaLabel = \"Item1\";\n * ```\n * ```typescript\n * let itemAriaLabel = this.listItem.ariaLabel;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('attr.aria-label')\n public ariaLabel: string;\n\n /**\n * Gets the `touch-action` style of the `list item`.\n * ```typescript\n * let touchAction = this.listItem.touchAction;\n * ```\n */\n @HostBinding('style.touch-action')\n public touchAction = 'pan-y';\n\n /**\n * @hidden\n */\n private _panState: IgxListPanState = IgxListPanState.NONE;\n\n /**\n * @hidden\n */\n private panOffset = 0;\n\n /**\n * @hidden\n */\n private _index: number = null;\n\n /**\n * @hidden\n */\n private lastPanDir = IgxListPanState.NONE;\n\n private _role: string = '';\n private _selected = false;;\n\n /**\n * Gets the `panState` of a `list item`.\n * ```typescript\n * let itemPanState = this.listItem.panState;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get panState(): IgxListPanState {\n return this._panState;\n }\n\n /**\n * Gets the `index` of a `list item`.\n * ```typescript\n * let itemIndex = this.listItem.index;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @Input()\n public get index(): number {\n return this._index !== null ? this._index : this.list.children.toArray().indexOf(this);\n }\n\n /**\n * Sets the `index` of the `list item`.\n * ```typescript\n * this.listItem.index = index;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public set index(value: number) {\n this._index = value;\n }\n\n /**\n * Returns an element reference to the list item.\n * ```typescript\n * let listItemElement = this.listItem.element.\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Returns a reference container which contains the list item's content.\n * ```typescript\n * let listItemContainer = this.listItem.contentElement.\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get contentElement() {\n const candidates = this.element.getElementsByClassName('igx-list__item-content');\n return (candidates && candidates.length > 0) ? candidates[0] : null;\n }\n\n /**\n * Returns the `context` object which represents the `template context` binding into the `list item container`\n * by providing the `$implicit` declaration which is the `IgxListItemComponent` itself.\n * ```typescript\n * let listItemComponent = this.listItem.context;\n * ```\n */\n public get context(): any {\n return {\n $implicit: this\n };\n }\n\n /**\n * Gets the width of a `list item`.\n * ```typescript\n * let itemWidth = this.listItem.width;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get width() {\n if (this.element) {\n return this.element.offsetWidth;\n }\n }\n\n /**\n * Gets the maximum left position of the `list item`.\n * ```typescript\n * let maxLeft = this.listItem.maxLeft;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get maxLeft() {\n return -this.width;\n }\n\n /**\n * Gets the maximum right position of the `list item`.\n * ```typescript\n * let maxRight = this.listItem.maxRight;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get maxRight() {\n return this.width;\n }\n\n /** @hidden @internal */\n public get offsetWidthInRem() {\n return rem(this.element.offsetWidth);\n }\n\n /** @hidden @internal */\n public get offsetHeightInRem() {\n return rem(this.element.offsetHeight);\n }\n\n /**\n * Gets/Sets the `role` attribute of the `list item`.\n * ```typescript\n * let itemRole = this.listItem.role;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('attr.role')\n @Input()\n public get role() {\n return this._role ? this._role : this.isHeader ? 'separator' : 'listitem';\n }\n\n public set role(val: string) {\n this._role = val;\n }\n\n /**\n * Sets/gets whether the `list item` is selected.\n * Selection is only applied to non-header items.\n * When selected, the CSS class 'igx-list__item-base--selected' is added to the item.\n * ```html\n * <igx-list-item [selected]=\"true\">Selected Item</igx-list-item>\n * ```\n * ```typescript\n * let isSelected = this.listItem.selected;\n * this.listItem.selected = true;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('class.igx-list__item-base--selected')\n @Input({ transform: booleanAttribute })\n public get selected() {\n return this._selected && !this.isHeader;\n }\n\n public set selected(value: boolean) {\n this._selected = value;\n }\n\n /**\n * Indicates whether `list item` should have header style.\n * ```typescript\n * let headerStyle = this.listItem.headerStyle;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('class.igx-list__header')\n public get headerStyle(): boolean {\n return this.isHeader;\n }\n\n /**\n * Applies the inner style of the `list item` if the item is not counted as header.\n * ```typescript\n * let innerStyle = this.listItem.innerStyle;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('class.igx-list__item-base')\n public get innerStyle(): boolean {\n return !this.isHeader;\n }\n\n /**\n * Returns string value which describes the display mode of the `list item`.\n * ```typescript\n * let isHidden = this.listItem.display;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('style.display')\n public get display(): string {\n return this.hidden ? 'none' : '';\n }\n\n /**\n * @hidden\n */\n @HostListener('click', ['$event'])\n public clicked(evt) {\n this.list.itemClicked.emit({ item: this, event: evt, direction: this.lastPanDir });\n this.lastPanDir = IgxListPanState.NONE;\n }\n\n /**\n * @hidden\n */\n @HostListener('panstart')\n public panStart() {\n if (this.isTrue(this.isHeader)) {\n return;\n }\n if (!this.isTrue(this.list.allowLeftPanning) && !this.isTrue(this.list.allowRightPanning)) {\n return;\n }\n\n this.list.startPan.emit({ item: this, direction: this.lastPanDir, keepitem: false });\n }\n\n /**\n * @hidden\n */\n @HostListener('pancancel')\n public panCancel() {\n this.resetPanPosition();\n this.list.endPan.emit({ item: this, direction: this.lastPanDir, keepItem: false });\n }\n\n /**\n * @hidden\n */\n @HostListener('panmove', ['$event'])\n public panMove(ev) {\n if (this.isTrue(this.isHeader)) {\n return;\n }\n if (!this.isTrue(this.list.allowLeftPanning) && !this.isTrue(this.list.allowRightPanning)) {\n return;\n }\n const isPanningToLeft = ev.deltaX < 0;\n if (isPanningToLeft && this.isTrue(this.list.allowLeftPanning)) {\n this.showLeftPanTemplate();\n this.setContentElementLeft(Math.max(this.maxLeft, ev.deltaX));\n } else if (!isPanningToLeft && this.isTrue(this.list.allowRightPanning)) {\n this.showRightPanTemplate();\n this.setContentElementLeft(Math.min(this.maxRight, ev.deltaX));\n }\n }\n\n /**\n * @hidden\n */\n @HostListener('panend')\n public panEnd() {\n if (this.isTrue(this.isHeader)) {\n return;\n }\n if (!this.isTrue(this.list.allowLeftPanning) && !this.isTrue(this.list.allowRightPanning)) {\n return;\n }\n\n // the translation offset of the current list item content\n const relativeOffset = this.panOffset;\n const widthTriggeringGrip = this.width * this.list.panEndTriggeringThreshold;\n\n if (relativeOffset === 0) {\n return; // no panning has occured\n }\n\n const dir = relativeOffset > 0 ? IgxListPanState.RIGHT : IgxListPanState.LEFT;\n this.lastPanDir = dir;\n\n const args = { item: this, direction: dir, keepItem: false };\n this.list.endPan.emit(args);\n\n const oldPanState = this._panState;\n if (Math.abs(relativeOffset) < widthTriggeringGrip) {\n this.resetPanPosition();\n this.list.resetPan.emit(this);\n return;\n }\n\n if (dir === IgxListPanState.LEFT) {\n this.list.leftPan.emit(args);\n } else {\n this.list.rightPan.emit(args);\n }\n\n if (args.keepItem === true) {\n this.setContentElementLeft(0);\n this._panState = IgxListPanState.NONE;\n } else {\n if (dir === IgxListPanState.LEFT) {\n this.setContentElementLeft(this.maxLeft);\n this._panState = IgxListPanState.LEFT;\n } else {\n this.setContentElementLeft(this.maxRight);\n this._panState = IgxListPanState.RIGHT;\n }\n }\n\n if (oldPanState !== this._panState) {\n const args2 = { oldState: oldPanState, newState: this._panState, item: this };\n this.list.panStateChange.emit(args2);\n }\n this.hideLeftAndRightPanTemplates();\n }\n\n /**\n * @hidden\n */\n private showLeftPanTemplate() {\n this.setLeftAndRightTemplatesVisibility('visible', 'hidden');\n }\n\n /**\n * @hidden\n */\n private showRightPanTemplate() {\n this.setLeftAndRightTemplatesVisibility('hidden', 'visible');\n }\n\n /**\n * @hidden\n */\n private hideLeftAndRightPanTemplates() {\n setTimeout(() => {\n this.setLeftAndRightTemplatesVisibility('hidden', 'hidden');\n }, 500);\n }\n\n /**\n * @hidden\n */\n private setLeftAndRightTemplatesVisibility(leftVisibility, rightVisibility) {\n if (this.leftPanningTemplateElement && this.leftPanningTemplateElement.nativeElement) {\n this.leftPanningTemplateElement.nativeElement.style.visibility = leftVisibility;\n }\n if (this.rightPanningTemplateElement && this.rightPanningTemplateElement.nativeElement) {\n this.rightPanningTemplateElement.nativeElement.style.visibility = rightVisibility;\n }\n }\n\n /**\n * @hidden\n */\n private setContentElementLeft(value: number) {\n this.panOffset = value;\n this.contentElement.style.transform = 'translateX(' + value + 'px)';\n }\n\n /**\n * @hidden\n */\n private isTrue(value: boolean): boolean {\n if (typeof (value) === 'boolean') {\n return value;\n } else {\n return value === 'true';\n }\n }\n\n /**\n * @hidden\n */\n private resetPanPosition() {\n this.setContentElementLeft(0);\n this._panState = IgxListPanState.NONE;\n this.hideLeftAndRightPanTemplates();\n }\n}\n","\n@if (!isHeader && list.listItemLeftPanningTemplate) {\n <div #leftPanningTmpl class=\"igx-list__item-right\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemLeftPanningTemplate.template; context: context\">\n </ng-container>\n </div>\n}\n\n@if (!isHeader && list.listItemRightPanningTemplate) {\n <div #rightPanningTmpl class=\"igx-list__item-left\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemRightPanningTemplate.template; context: context\">\n </ng-container>\n </div>\n}\n\n<ng-template #itemsContent>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemThumbnails>\n <div class=\"igx-list__item-thumbnail\">\n <ng-content select=\"[igxListThumbnail], igx-list__item-thumbnail, igx-avatar\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemLines>\n <div class=\"igx-list__item-lines\">\n <ng-content select=\"[igxListLine], .igx-list__item-lines, [igxListLineTitle], [igxListLineSubTitle], .igx-list__item-line-title, .igx-list__item-line-subtitle\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemActions>\n <div class=\"igx-list__item-actions\">\n <ng-content select=\"[igxListAction], .igx-list__item-actions\"></ng-content>\n </div>\n</ng-template>\n\n@if (isHeader) {\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n}\n\n@if (!isHeader) {\n <div class=\"igx-list__item-content\">\n <ng-container *ngTemplateOutlet=\"itemThumbnails\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemLines\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemActions\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n </div>\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n Directive,\n booleanAttribute,\n inject,\n DestroyRef\n} from '@angular/core';\n\n\n\nimport { IgxListItemComponent } from './list-item.component';\nimport {\n IgxListBaseDirective,\n IgxDataLoadingTemplateDirective,\n IgxEmptyListTemplateDirective,\n IgxListPanState,\n IgxListItemLeftPanningTemplateDirective,\n IgxListItemRightPanningTemplateDirective\n} from './list.common';\nimport { IBaseEventArgs } from 'igniteui-angular/core';\nimport { IListResourceStrings, ListResourceStringsEN } from 'igniteui-angular/core';\nimport { getCurrentResourceStrings, onResourceChangeHandle } from 'igniteui-angular/core';\n\nlet NEXT_ID = 0;\n\n/**\n * Interface for the panStateChange igxList event arguments\n */\nexport interface IPanStateChangeEventArgs extends IBaseEventArgs {\n oldState: IgxListPanState;\n newState: IgxListPanState;\n item: IgxListItemComponent;\n}\n\n/**\n * Interface for the listItemClick igxList event arguments\n */\nexport interface IListItemClickEventArgs extends IBaseEventArgs {\n item: IgxListItemComponent;\n event: Event;\n direction: IgxListPanState;\n}\n\n/**\n * Interface for the listItemPanning igxList event arguments\n */\nexport interface IListItemPanningEventArgs extends IBaseEventArgs {\n item: IgxListItemComponent;\n direction: IgxListPanState;\n keepItem: boolean;\n}\n\n/**\n * igxListThumbnail is container for the List media\n * Use it to wrap anything you want to be used as a thumbnail.\n */\n@Directive({\n selector: '[igxListThumbnail]',\n standalone: true\n})\nexport class IgxListThumbnailDirective { }\n\n/**\n * igxListAction is container for the List action\n * Use it to wrap anything you want to be used as a list action: icon, checkbox...\n */\n@Directive({\n selector: '[igxListAction]',\n standalone: true\n})\nexport class IgxListActionDirective { }\n\n/**\n * igxListLine is container for the List text content\n * Use it to wrap anything you want to be used as a plane text.\n */\n@Directive({\n selector: '[igxListLine]',\n standalone: true\n})\nexport class IgxListLineDirective { }\n\n/**\n * igxListLineTitle is a directive that add class to the target element\n * Use it to make anything to look like list Title.\n */\n@Directive({\n selector: '[igxListLineTitle]',\n standalone: true\n})\nexport class IgxListLineTitleDirective {\n @HostBinding('class.igx-list__item-line-title')\n public cssClass = 'igx-list__item-line-title';\n}\n\n/**\n * igxListLineSubTitle is a directive that add class to the target element\n * Use it to make anything to look like list Subtitle.\n */\n@Directive({\n selector: '[igxListLineSubTitle]',\n standalone: true\n})\nexport class IgxListLineSubTitleDirective {\n @HostBinding('class.igx-list__item-line-subtitle')\n public cssClass = 'igx-list__item-line-subtitle';\n}\n\n/**\n * Displays a collection of data items in a templatable list format\n *\n * @igxModule IgxListModule\n *\n * @igxTheme igx-list-theme\n *\n * @igxKeywords list, data\n *\n * @igxGroup Grids & Lists\n *\n * @remarks\n * The Ignite UI List displays rows of items and supports one or more header items as well as search and filtering\n * of list items. Each list item is completely templatable and will support any valid HTML or Angular component.\n *\n * @example\n * ```html\n * <igx-list>\n * <igx-list-item isHeader=\"true\">Contacts</igx-list-item>\n * <igx-list-item *ngFor=\"let contact of contacts\">\n * <span class=\"name\">{{ contact.name }}</span>\n * <span class=\"phone\">{{ contact.phone }}</span>\n * </igx-list-item>\n * </igx-list>\n * ```\n */\n@Component({\n selector: 'igx-list',\n templateUrl: 'list.component.html',\n providers: [{ provide: IgxListBaseDirective, useExisting: IgxListComponent }],\n imports: [NgTemplateOutlet]\n})\nexport class IgxListComponent extends IgxListBaseDirective {\n public element = inject(ElementRef);\n private destroyRef = inject(DestroyRef);\n\n /**\n * Returns a collection of all items and headers in the list.\n *\n * @example\n * ```typescript\n * let listChildren: QueryList = this.list.children;\n * ```\n */\n @ContentChildren(forwardRef(() => IgxListItemComponent), { descendants: true })\n public override children: QueryList<IgxListItemComponent>;\n\n /**\n * Sets/gets the empty list template.\n *\n * @remarks\n * This template is used by IgxList in case there are no list items\n * defined and `isLoading` is set to `false`.\n *\n * @example\n * ```html\n * <igx-list>\n * <ng-template igxEmptyList>\n * <p class=\"empty\">No contacts! :(</p>\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let emptyTemplate = this.list.emptyListTemplate;\n * ```\n */\n @ContentChild(IgxEmptyListTemplateDirective, { read: IgxEmptyListTemplateDirective })\n public emptyListTemplate: IgxEmptyListTemplateDirective;\n\n /**\n * Sets/gets the list loading template.\n *\n * @remarks\n * This template is used by IgxList in case there are no list items defined and `isLoading` is set to `true`.\n *\n * @example\n * ```html\n * <igx-list>\n * <ng-template igxDataLoading>\n * <p>Patience, we are currently loading your data...</p>\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let loadingTemplate = this.list.dataLoadingTemplate;\n * ```\n */\n @ContentChild(IgxDataLoadingTemplateDirective, { read: IgxDataLoadingTemplateDirective })\n public dataLoadingTemplate: IgxDataLoadingTemplateDirective;\n\n /**\n * Sets/gets the template for left panning a list item.\n *\n * @remarks\n * Default value is `null`.\n *\n * @example\n * ```html\n * <igx-list [allowLeftPanning]=\"true\">\n * <ng-template igxListItemLeftPanning>\n * <igx-icon>delete</igx-icon>Delete\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let itemLeftPanTmpl = this.list.listItemLeftPanningTemplate;\n * ```\n */\n @ContentChild(IgxListItemLeftPanningTemplateDirective, { read: IgxListItemLeftPanningTemplateDirective })\n public override listItemLeftPanningTemplate: IgxListItemLeftPanningTemplateDirective;\n\n /**\n * Sets/gets the template for right panning a list item.\n *\n * @remarks\n * Default value is `null`.\n *\n * @example\n * ```html\n * <igx-list [allowRightPanning] = \"true\">\n * <ng-template igxListItemRightPanning>\n * <igx-icon>call</igx-icon>Dial\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let itemRightPanTmpl = this.list.listItemRightPanningTemplate;\n * ```\n */\n @ContentChild(IgxListItemRightPanningTemplateDirective, { read: IgxListItemRightPanningTemplateDirective })\n public override listItemRightPanningTemplate: IgxListItemRightPanningTemplateDirective;\n\n /**\n * Provides a threshold after which the item's panning will be completed automatically.\n *\n * @remarks\n * By default this property is set to 0.5 which is 50% of the list item's width.\n *\n * @example\n * ```html\n * <igx-list [panEndTriggeringThreshold]=\"0.8\"></igx-list>\n * ```\n */\n @Input()\n public override panEndTriggeringThreshold = 0.5;\n\n /**\n * Sets/gets the `id` of the list.\n *\n * @remarks\n * If not set, the `id` of the first list component will be `\"igx-list-0\"`.\n *\n * @example\n * ```html\n * <igx-list id=\"my-first-list\"></igx-list>\n * ```\n * ```typescript\n * let listId = this.list.id;\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-list-${NEXT_ID++}`;\n\n /**\n * Sets/gets whether the left panning of an item is allowed.\n *\n * @remarks\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-list [allowLeftPanning]=\"true\"></igx-list>\n * ```\n * ```typescript\n * let isLeftPanningAllowed = this.list.allowLeftPanning;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public override allowLeftPanning = false;\n\n /**\n * Sets/gets whether the right panning of an item is allowed.\n *\n * @remarks\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-list [allowRightPanning]=\"true\"></igx-list>\n * ```\n * ```typescript\n * let isRightPanningAllowed = this.list.allowRightPanning;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public override allowRightPanning = false;\n\n /**\n * Sets/gets whether the list is currently loading data.\n *\n * @remarks\n * Set it to display the dataLoadingTemplate while data is being retrieved.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-list [isLoading]=\"true\"></igx-list>\n * ```\n * ```typescript\n * let isLoading = this.list.isLoading;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public isLoading = false;\n\n /**\n * Event emitted when a left pan gesture is executed on a list item.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list [allowLeftPanning]=\"true\" (leftPan)=\"leftPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override leftPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a right pan gesture is executed on a list item.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list [allowRightPanning]=\"true\" (rightPan)=\"rightPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override rightPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a pan gesture is started.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list (startPan)=\"startPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override startPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a pan gesture is completed or canceled.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list (endPan)=\"endPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override endPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a pan item is returned to its original position.\n *\n * @remarks\n * Provides a reference to an object of type `IgxListComponent` as an event argument.\n *\n * @example\n * ```html\n * <igx-list (resetPan)=\"resetPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override resetPan = new EventEmitter<IgxListComponent>();\n\n /**\n *\n * Event emitted when a pan gesture is executed on a list item.\n *\n * @remarks\n * Provides references to the `IgxListItemComponent` and `IgxListPanState` as event arguments.\n *\n * @example\n * ```html\n * <igx-list (panStateChange)=\"panStateChange($event)\"></igx-list>\n * ```\n */\n @Output()\n public override panStateChange = new EventEmitter<IPanStateChangeEventArgs>();\n\n /**\n * Event emitted when a list item is clicked.\n *\n * @remarks\n * Provides references to the `IgxListItemComponent` and `Event` as event arguments.\n *\n * @example\n * ```html\n * <igx-list (itemClicked)=\"onItemClicked($event)\"></igx-list>\n * ```\n */\n @Output()\n public override itemClicked = new EventEmitter<IListItemClickEventArgs>();\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultEmptyList', { read: TemplateRef, static: true })\n protected defaultEmptyListTemplate: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultDataLoading', { read: TemplateRef, static: true })\n protected defaultDataLoadingTemplate: TemplateRef<any>;\n\n private _resourceStrings: IListResourceStrings = null;\n private _defaultResourceStrings = getCurrentResourceStrings(ListResourceStringsEN);\n\n /**\n * Sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IListResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n /**\n * Returns the resource strings.\n */\n public get resourceStrings(): IListResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n constructor() {\n super();\n onResourceChangeHandle(this.destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(ListResourceStringsEN, false);\n }, this);\n }\n\n /**\n * @hidden\n * @internal\n */\n protected get sortedChildren(): IgxListItemComponent[] {\n if (this.children !== undefined) {\n return this.children.toArray()\n .sort((a: IgxListItemComponent, b: IgxListItemComponent) => a.index - b.index);\n }\n return null;\n }\n\n private _role = 'list';\n\n /**\n * Gets/Sets the `role` attribute value.\n *\n * @example\n * ```typescript\n * let listRole = this.list.role;\n * ```\n */\n @HostBinding('attr.role')\n @Input()\n public get role() {\n return this._role;\n }\n\n public set role(val: string) {\n this._role = val;\n }\n\n /**\n * Gets a boolean indicating if the list is empty.\n *\n * @example\n * ```typescript\n * let isEmpty = this.list.isListEmpty;\n * ```\n */\n @HostBinding('class.igx-list--empty')\n public get isListEmpty(): boolean {\n return !this.children || this.children.length === 0;\n }\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-list')\n public get cssClass(): boolean {\n return !this.isListEmpty;\n }\n\n /**\n * Gets the list `items` excluding the header ones.\n *\n * @example\n * ```typescript\n * let listItems: IgxListItemComponent[] = this.list.items;\n * ```\n */\n public get items(): IgxListItemComponent[] {\n const items: IgxListItemComponent[] = [];\n if (this.children !== undefined) {\n for (const child of this.sortedChildren) {\n if (!child.isHeader) {\n items.push(child);\n }\n }\n }\n return items;\n }\n\n /**\n * Gets the header list `items`.\n *\n * @example\n * ```typescript\n * let listHeaders: IgxListItemComponent[] = this.list.headers;\n * ```\n */\n public get headers(): IgxListItemComponent[] {\n const headers: IgxListItemComponent[] = [];\n if (this.children !== undefined) {\n for (const child of this.children.toArray()) {\n if (child.isHeader) {\n headers.push(child);\n }\n }\n }\n return headers;\n }\n\n /**\n * Gets the `context` object of the template binding.\n *\n * @remarks\n * Gets the `context` object which represents the `template context` binding into the `list container`\n * by providing the `$implicit` declaration which is the `IgxListComponent` itself.\n *\n * @example\n * ```typescript\n * let listComponent = this.list.context;\n * ```\n */\n public get context(): any {\n return {\n $implicit: this\n };\n }\n\n /**\n * Gets a `TemplateRef` to the currently used template.\n *\n * @example\n * ```typescript\n * let listTemplate = this.list.template;\n * ```\n */\n public get template(): TemplateRef<any> {\n if (this.isLoading) {\n return this.dataLoadingTemplate ? this.dataLoadingTemplate.template : this.defaultDataLoadingTemplate;\n } else {\n return this.emptyListTemplate ? this.emptyListTemplate.template : this.defaultEmptyListTemplate;\n }\n }\n}\n\n/**\n * @hidden\n */\n\n","<ng-content></ng-content>\n\n<ng-template #defaultEmptyList>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_no_items}}\n </article>\n</ng-template>\n\n<ng-template #defaultDataLoading>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_loading}}\n </article>\n</ng-template>\n\n@if (!children || children.length === 0 || isLoading) {\n <ng-container *ngTemplateOutlet=\"template; context: context\">\n </ng-container>\n}\n","import { IgxListItemComponent } from './list-item.component';\nimport { IgxDataLoadingTemplateDirective, IgxEmptyListTemplateDirective, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective } from './list.common';\nimport { IgxListActionDirective, IgxListComponent, IgxListLineDirective, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListThumbnailDirective } from './list.component';\n\nexport * from './list.component';\nexport {\n IgxListBaseDirective,\n IgxListPanState,\n IgxEmptyListTemplateDirective,\n IgxDataLoadingTemplateDirective,\n IgxListItemLeftPanningTemplateDirective,\n IgxListItemRightPanningTemplateDirective\n} from './list.common';\nexport * from './list-item.component';\n\n/* NOTE: List directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_LIST_DIRECTIVES = [\n IgxListComponent,\n IgxListItemComponent,\n IgxListThumbnailDirective,\n IgxListActionDirective,\n IgxListLineDirective,\n IgxListLineTitleDirective,\n IgxListLineSubTitleDirective,\n IgxDataLoadingTemplateDirective,\n IgxEmptyListTemplateDirective,\n IgxListItemLeftPanningTemplateDirective,\n IgxListItemRightPanningTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_LIST_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_LIST_DIRECTIVES\n ],\n exports: [\n ...IGX_LIST_DIRECTIVES\n ]\n})\n\nexport class IgxListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxListComponent","i2.IgxListItemComponent","i1.IgxListThumbnailDirective","i1.IgxListActionDirective","i1.IgxListLineDirective","i1.IgxListLineTitleDirective","i1.IgxListLineSubTitleDirective","i3.IgxDataLoadingTemplateDirective","i3.IgxEmptyListTemplateDirective","i3.IgxListItemLeftPanningTemplateDirective","i3.IgxListItemRightPanningTemplateDirective"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-list.mjs","sources":["../../../projects/igniteui-angular/list/src/list/list.common.ts","../../../projects/igniteui-angular/list/src/list/list-item.component.ts","../../../projects/igniteui-angular/list/src/list/list-item.component.html","../../../projects/igniteui-angular/list/src/list/list.component.ts","../../../projects/igniteui-angular/list/src/list/list.component.html","../../../projects/igniteui-angular/list/src/list/public_api.ts","../../../projects/igniteui-angular/list/src/list/list.module.ts","../../../projects/igniteui-angular/list/src/igniteui-angular-list.ts"],"sourcesContent":["import { Directive, TemplateRef, EventEmitter, QueryList, ElementRef, inject } from '@angular/core';\n\nexport interface IListChild {\n index: number;\n}\n\n/** @hidden */\n@Directive({\n selector: '[igxListBase]',\n standalone: true\n})\nexport class IgxListBaseDirective {\n protected el = inject(ElementRef, { optional: true });\n\n public itemClicked: EventEmitter<any>;\n public allowLeftPanning: boolean;\n public allowRightPanning: boolean;\n public panEndTriggeringThreshold: number;\n public leftPan: EventEmitter<any>;\n public rightPan: EventEmitter<any>;\n public startPan: EventEmitter<any>;\n public endPan: EventEmitter<any>;\n public resetPan: EventEmitter<any>;\n public panStateChange: EventEmitter<any>;\n public children: QueryList<any>;\n public listItemLeftPanningTemplate: IgxListItemLeftPanningTemplateDirective;\n public listItemRightPanningTemplate: IgxListItemRightPanningTemplateDirective;\n}\n\nexport enum IgxListPanState { NONE, LEFT, RIGHT }\n\n@Directive({\n selector: '[igxEmptyList]',\n standalone: true\n})\nexport class IgxEmptyListTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxDataLoading]',\n standalone: true\n})\nexport class IgxDataLoadingTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxListItemLeftPanning]',\n standalone: true\n})\nexport class IgxListItemLeftPanningTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n\n@Directive({\n selector: '[igxListItemRightPanning]',\n standalone: true\n})\nexport class IgxListItemRightPanningTemplateDirective {\n public template = inject<TemplateRef<any>>(TemplateRef);\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, HostListener, Input, Renderer2, ViewChild, booleanAttribute, inject } from '@angular/core';\n\nimport {\n IgxListPanState,\n IListChild,\n IgxListBaseDirective\n} from './list.common';\n\nimport { HammerGesturesManager } from 'igniteui-angular/core';\nimport { rem } from 'igniteui-angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n/**\n * The Ignite UI List Item component is a container intended for row items in the Ignite UI for Angular List component.\n *\n * Example:\n * ```html\n * <igx-list>\n * <igx-list-item isHeader=\"true\">Contacts</igx-list-item>\n * <igx-list-item *ngFor=\"let contact of contacts\">\n * <span class=\"name\">{{ contact.name }}</span>\n * <span class=\"phone\">{{ contact.phone }}</span>\n * </igx-list-item>\n * </igx-list>\n * ```\n */\n@Component({\n providers: [HammerGesturesManager],\n selector: 'igx-list-item',\n templateUrl: 'list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class IgxListItemComponent implements IListChild {\n public list = inject(IgxListBaseDirective);\n private elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n\n /**\n * Provides a reference to the template's base element shown when left panning a list item.\n * ```typescript\n * const leftPanTmpl = this.listItem.leftPanningTemplateElement;\n * ```\n */\n @ViewChild('leftPanningTmpl')\n public leftPanningTemplateElement;\n\n /**\n * Provides a reference to the template's base element shown when right panning a list item.\n * ```typescript\n * const rightPanTmpl = this.listItem.rightPanningTemplateElement;\n * ```\n */\n @ViewChild('rightPanningTmpl')\n public rightPanningTemplateElement;\n\n /**\n * Sets/gets whether the `list item` is a header.\n * ```html\n * <igx-list-item [isHeader] = \"true\">Header</igx-list-item>\n * ```\n * ```typescript\n * let isHeader = this.listItem.isHeader;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @Input({ transform: booleanAttribute })\n public isHeader: boolean;\n\n /**\n * Sets/gets whether the `list item` is hidden.\n * By default the `hidden` value is `false`.\n * ```html\n * <igx-list-item [hidden] = \"true\">Hidden Item</igx-list-item>\n * ```\n * ```typescript\n * let isHidden = this.listItem.hidden;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @Input({ transform: booleanAttribute })\n public hidden = false;\n\n /**\n * Sets/gets the `aria-label` attribute of the `list item`.\n * ```typescript\n * this.listItem.ariaLabel = \"Item1\";\n * ```\n * ```typescript\n * let itemAriaLabel = this.listItem.ariaLabel;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('attr.aria-label')\n public ariaLabel: string;\n\n /**\n * Gets the `touch-action` style of the `list item`.\n * ```typescript\n * let touchAction = this.listItem.touchAction;\n * ```\n */\n @HostBinding('style.touch-action')\n public touchAction = 'pan-y';\n\n /**\n * @hidden\n */\n private _panState: IgxListPanState = IgxListPanState.NONE;\n\n /**\n * @hidden\n */\n private panOffset = 0;\n\n /**\n * @hidden\n */\n private _index: number = null;\n\n /**\n * @hidden\n */\n private lastPanDir = IgxListPanState.NONE;\n\n private _role: string = '';\n private _selected = false;;\n\n /**\n * Gets the `panState` of a `list item`.\n * ```typescript\n * let itemPanState = this.listItem.panState;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get panState(): IgxListPanState {\n return this._panState;\n }\n\n /**\n * Gets the `index` of a `list item`.\n * ```typescript\n * let itemIndex = this.listItem.index;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @Input()\n public get index(): number {\n return this._index !== null ? this._index : this.list.children.toArray().indexOf(this);\n }\n\n /**\n * Sets the `index` of the `list item`.\n * ```typescript\n * this.listItem.index = index;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public set index(value: number) {\n this._index = value;\n }\n\n /**\n * Returns an element reference to the list item.\n * ```typescript\n * let listItemElement = this.listItem.element.\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n /**\n * Returns a reference container which contains the list item's content.\n * ```typescript\n * let listItemContainer = this.listItem.contentElement.\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get contentElement() {\n const candidates = this.element.getElementsByClassName('igx-list__item-content');\n return (candidates && candidates.length > 0) ? candidates[0] : null;\n }\n\n /**\n * Returns the `context` object which represents the `template context` binding into the `list item container`\n * by providing the `$implicit` declaration which is the `IgxListItemComponent` itself.\n * ```typescript\n * let listItemComponent = this.listItem.context;\n * ```\n */\n public get context(): any {\n return {\n $implicit: this\n };\n }\n\n /**\n * Gets the width of a `list item`.\n * ```typescript\n * let itemWidth = this.listItem.width;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get width() {\n if (this.element) {\n return this.element.offsetWidth;\n }\n }\n\n /**\n * Gets the maximum left position of the `list item`.\n * ```typescript\n * let maxLeft = this.listItem.maxLeft;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get maxLeft() {\n return -this.width;\n }\n\n /**\n * Gets the maximum right position of the `list item`.\n * ```typescript\n * let maxRight = this.listItem.maxRight;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n public get maxRight() {\n return this.width;\n }\n\n /** @hidden @internal */\n public get offsetWidthInRem() {\n return rem(this.element.offsetWidth);\n }\n\n /** @hidden @internal */\n public get offsetHeightInRem() {\n return rem(this.element.offsetHeight);\n }\n\n /**\n * Gets/Sets the `role` attribute of the `list item`.\n * ```typescript\n * let itemRole = this.listItem.role;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('attr.role')\n @Input()\n public get role() {\n return this._role ? this._role : this.isHeader ? 'separator' : 'listitem';\n }\n\n public set role(val: string) {\n this._role = val;\n }\n\n /**\n * Sets/gets whether the `list item` is selected.\n * Selection is only applied to non-header items.\n * When selected, the CSS class 'igx-list__item-base--selected' is added to the item.\n * ```html\n * <igx-list-item [selected]=\"true\">Selected Item</igx-list-item>\n * ```\n * ```typescript\n * let isSelected = this.listItem.selected;\n * this.listItem.selected = true;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('class.igx-list__item-base--selected')\n @Input({ transform: booleanAttribute })\n public get selected() {\n return this._selected && !this.isHeader;\n }\n\n public set selected(value: boolean) {\n this._selected = value;\n }\n\n /**\n * Indicates whether `list item` should have header style.\n * ```typescript\n * let headerStyle = this.listItem.headerStyle;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('class.igx-list__header')\n public get headerStyle(): boolean {\n return this.isHeader;\n }\n\n /**\n * Applies the inner style of the `list item` if the item is not counted as header.\n * ```typescript\n * let innerStyle = this.listItem.innerStyle;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('class.igx-list__item-base')\n public get innerStyle(): boolean {\n return !this.isHeader;\n }\n\n /**\n * Returns string value which describes the display mode of the `list item`.\n * ```typescript\n * let isHidden = this.listItem.display;\n * ```\n *\n * @memberof IgxListItemComponent\n */\n @HostBinding('style.display')\n public get display(): string {\n return this.hidden ? 'none' : '';\n }\n\n /**\n * @hidden\n */\n @HostListener('click', ['$event'])\n public clicked(evt) {\n this.list.itemClicked.emit({ item: this, event: evt, direction: this.lastPanDir });\n this.lastPanDir = IgxListPanState.NONE;\n }\n\n /**\n * @hidden\n */\n @HostListener('panstart')\n public panStart() {\n if (this.isTrue(this.isHeader)) {\n return;\n }\n if (!this.isTrue(this.list.allowLeftPanning) && !this.isTrue(this.list.allowRightPanning)) {\n return;\n }\n\n this.list.startPan.emit({ item: this, direction: this.lastPanDir, keepitem: false });\n }\n\n /**\n * @hidden\n */\n @HostListener('pancancel')\n public panCancel() {\n this.resetPanPosition();\n this.list.endPan.emit({ item: this, direction: this.lastPanDir, keepItem: false });\n }\n\n /**\n * @hidden\n */\n @HostListener('panmove', ['$event'])\n public panMove(ev) {\n if (this.isTrue(this.isHeader)) {\n return;\n }\n if (!this.isTrue(this.list.allowLeftPanning) && !this.isTrue(this.list.allowRightPanning)) {\n return;\n }\n const isPanningToLeft = ev.deltaX < 0;\n if (isPanningToLeft && this.isTrue(this.list.allowLeftPanning)) {\n this.showLeftPanTemplate();\n this.setContentElementLeft(Math.max(this.maxLeft, ev.deltaX));\n } else if (!isPanningToLeft && this.isTrue(this.list.allowRightPanning)) {\n this.showRightPanTemplate();\n this.setContentElementLeft(Math.min(this.maxRight, ev.deltaX));\n }\n }\n\n /**\n * @hidden\n */\n @HostListener('panend')\n public panEnd() {\n if (this.isTrue(this.isHeader)) {\n return;\n }\n if (!this.isTrue(this.list.allowLeftPanning) && !this.isTrue(this.list.allowRightPanning)) {\n return;\n }\n\n // the translation offset of the current list item content\n const relativeOffset = this.panOffset;\n const widthTriggeringGrip = this.width * this.list.panEndTriggeringThreshold;\n\n if (relativeOffset === 0) {\n return; // no panning has occured\n }\n\n const dir = relativeOffset > 0 ? IgxListPanState.RIGHT : IgxListPanState.LEFT;\n this.lastPanDir = dir;\n\n const args = { item: this, direction: dir, keepItem: false };\n this.list.endPan.emit(args);\n\n const oldPanState = this._panState;\n if (Math.abs(relativeOffset) < widthTriggeringGrip) {\n this.resetPanPosition();\n this.list.resetPan.emit(this);\n return;\n }\n\n if (dir === IgxListPanState.LEFT) {\n this.list.leftPan.emit(args);\n } else {\n this.list.rightPan.emit(args);\n }\n\n if (args.keepItem === true) {\n this.setContentElementLeft(0);\n this._panState = IgxListPanState.NONE;\n } else {\n if (dir === IgxListPanState.LEFT) {\n this.setContentElementLeft(this.maxLeft);\n this._panState = IgxListPanState.LEFT;\n } else {\n this.setContentElementLeft(this.maxRight);\n this._panState = IgxListPanState.RIGHT;\n }\n }\n\n if (oldPanState !== this._panState) {\n const args2 = { oldState: oldPanState, newState: this._panState, item: this };\n this.list.panStateChange.emit(args2);\n }\n this.hideLeftAndRightPanTemplates();\n }\n\n /**\n * @hidden\n */\n private showLeftPanTemplate() {\n this.setLeftAndRightTemplatesVisibility('visible', 'hidden');\n }\n\n /**\n * @hidden\n */\n private showRightPanTemplate() {\n this.setLeftAndRightTemplatesVisibility('hidden', 'visible');\n }\n\n /**\n * @hidden\n */\n private hideLeftAndRightPanTemplates() {\n setTimeout(() => {\n this.setLeftAndRightTemplatesVisibility('hidden', 'hidden');\n }, 500);\n }\n\n /**\n * @hidden\n */\n private setLeftAndRightTemplatesVisibility(leftVisibility, rightVisibility) {\n if (this.leftPanningTemplateElement && this.leftPanningTemplateElement.nativeElement) {\n this.leftPanningTemplateElement.nativeElement.style.visibility = leftVisibility;\n }\n if (this.rightPanningTemplateElement && this.rightPanningTemplateElement.nativeElement) {\n this.rightPanningTemplateElement.nativeElement.style.visibility = rightVisibility;\n }\n }\n\n /**\n * @hidden\n */\n private setContentElementLeft(value: number) {\n this.panOffset = value;\n this.contentElement.style.transform = 'translateX(' + value + 'px)';\n }\n\n /**\n * @hidden\n */\n private isTrue(value: boolean): boolean {\n if (typeof (value) === 'boolean') {\n return value;\n } else {\n return value === 'true';\n }\n }\n\n /**\n * @hidden\n */\n private resetPanPosition() {\n this.setContentElementLeft(0);\n this._panState = IgxListPanState.NONE;\n this.hideLeftAndRightPanTemplates();\n }\n}\n","\n@if (!isHeader && list.listItemLeftPanningTemplate) {\n <div #leftPanningTmpl class=\"igx-list__item-right\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemLeftPanningTemplate.template; context: context\">\n </ng-container>\n </div>\n}\n\n@if (!isHeader && list.listItemRightPanningTemplate) {\n <div #rightPanningTmpl class=\"igx-list__item-left\"\n [style.width.rem]=\"offsetWidthInRem\" [style.height.rem]=\"offsetHeightInRem\">\n <ng-container *ngTemplateOutlet=\"list.listItemRightPanningTemplate.template; context: context\">\n </ng-container>\n </div>\n}\n\n<ng-template #itemsContent>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #itemThumbnails>\n <div class=\"igx-list__item-thumbnail\">\n <ng-content select=\"[igxListThumbnail], igx-list__item-thumbnail, igx-avatar\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemLines>\n <div class=\"igx-list__item-lines\">\n <ng-content select=\"[igxListLine], .igx-list__item-lines, [igxListLineTitle], [igxListLineSubTitle], .igx-list__item-line-title, .igx-list__item-line-subtitle\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemActions>\n <div class=\"igx-list__item-actions\">\n <ng-content select=\"[igxListAction], .igx-list__item-actions\"></ng-content>\n </div>\n</ng-template>\n\n@if (isHeader) {\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n}\n\n@if (!isHeader) {\n <div class=\"igx-list__item-content\">\n <ng-container *ngTemplateOutlet=\"itemThumbnails\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemLines\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemActions\"></ng-container>\n <ng-container *ngTemplateOutlet=\"itemsContent\"></ng-container>\n </div>\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n Directive,\n booleanAttribute,\n inject,\n DestroyRef\n} from '@angular/core';\n\n\n\nimport { IgxListItemComponent } from './list-item.component';\nimport {\n IgxListBaseDirective,\n IgxDataLoadingTemplateDirective,\n IgxEmptyListTemplateDirective,\n IgxListPanState,\n IgxListItemLeftPanningTemplateDirective,\n IgxListItemRightPanningTemplateDirective\n} from './list.common';\nimport { IBaseEventArgs } from 'igniteui-angular/core';\nimport { IListResourceStrings, ListResourceStringsEN } from 'igniteui-angular/core';\nimport { getCurrentResourceStrings, onResourceChangeHandle } from 'igniteui-angular/core';\n\nlet NEXT_ID = 0;\n\n/**\n * Interface for the panStateChange igxList event arguments\n */\nexport interface IPanStateChangeEventArgs extends IBaseEventArgs {\n oldState: IgxListPanState;\n newState: IgxListPanState;\n item: IgxListItemComponent;\n}\n\n/**\n * Interface for the listItemClick igxList event arguments\n */\nexport interface IListItemClickEventArgs extends IBaseEventArgs {\n item: IgxListItemComponent;\n event: Event;\n direction: IgxListPanState;\n}\n\n/**\n * Interface for the listItemPanning igxList event arguments\n */\nexport interface IListItemPanningEventArgs extends IBaseEventArgs {\n item: IgxListItemComponent;\n direction: IgxListPanState;\n keepItem: boolean;\n}\n\n/**\n * igxListThumbnail is container for the List media\n * Use it to wrap anything you want to be used as a thumbnail.\n */\n@Directive({\n selector: '[igxListThumbnail]',\n standalone: true\n})\nexport class IgxListThumbnailDirective { }\n\n/**\n * igxListAction is container for the List action\n * Use it to wrap anything you want to be used as a list action: icon, checkbox...\n */\n@Directive({\n selector: '[igxListAction]',\n standalone: true\n})\nexport class IgxListActionDirective { }\n\n/**\n * igxListLine is container for the List text content\n * Use it to wrap anything you want to be used as a plane text.\n */\n@Directive({\n selector: '[igxListLine]',\n standalone: true\n})\nexport class IgxListLineDirective { }\n\n/**\n * igxListLineTitle is a directive that add class to the target element\n * Use it to make anything to look like list Title.\n */\n@Directive({\n selector: '[igxListLineTitle]',\n standalone: true\n})\nexport class IgxListLineTitleDirective {\n @HostBinding('class.igx-list__item-line-title')\n public cssClass = 'igx-list__item-line-title';\n}\n\n/**\n * igxListLineSubTitle is a directive that add class to the target element\n * Use it to make anything to look like list Subtitle.\n */\n@Directive({\n selector: '[igxListLineSubTitle]',\n standalone: true\n})\nexport class IgxListLineSubTitleDirective {\n @HostBinding('class.igx-list__item-line-subtitle')\n public cssClass = 'igx-list__item-line-subtitle';\n}\n\n/**\n * Displays a collection of data items in a templatable list format\n *\n * @igxModule IgxListModule\n *\n * @igxTheme igx-list-theme\n *\n * @igxKeywords list, data\n *\n * @igxGroup Grids & Lists\n *\n * @remarks\n * The Ignite UI List displays rows of items and supports one or more header items as well as search and filtering\n * of list items. Each list item is completely templatable and will support any valid HTML or Angular component.\n *\n * @example\n * ```html\n * <igx-list>\n * <igx-list-item isHeader=\"true\">Contacts</igx-list-item>\n * <igx-list-item *ngFor=\"let contact of contacts\">\n * <span class=\"name\">{{ contact.name }}</span>\n * <span class=\"phone\">{{ contact.phone }}</span>\n * </igx-list-item>\n * </igx-list>\n * ```\n */\n@Component({\n selector: 'igx-list',\n templateUrl: 'list.component.html',\n providers: [{ provide: IgxListBaseDirective, useExisting: IgxListComponent }],\n imports: [NgTemplateOutlet]\n})\nexport class IgxListComponent extends IgxListBaseDirective {\n public element = inject(ElementRef);\n private destroyRef = inject(DestroyRef);\n\n /**\n * Returns a collection of all items and headers in the list.\n *\n * @example\n * ```typescript\n * let listChildren: QueryList = this.list.children;\n * ```\n */\n @ContentChildren(forwardRef(() => IgxListItemComponent), { descendants: true })\n public override children: QueryList<IgxListItemComponent>;\n\n /**\n * Sets/gets the empty list template.\n *\n * @remarks\n * This template is used by IgxList in case there are no list items\n * defined and `isLoading` is set to `false`.\n *\n * @example\n * ```html\n * <igx-list>\n * <ng-template igxEmptyList>\n * <p class=\"empty\">No contacts! :(</p>\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let emptyTemplate = this.list.emptyListTemplate;\n * ```\n */\n @ContentChild(IgxEmptyListTemplateDirective, { read: IgxEmptyListTemplateDirective })\n public emptyListTemplate: IgxEmptyListTemplateDirective;\n\n /**\n * Sets/gets the list loading template.\n *\n * @remarks\n * This template is used by IgxList in case there are no list items defined and `isLoading` is set to `true`.\n *\n * @example\n * ```html\n * <igx-list>\n * <ng-template igxDataLoading>\n * <p>Patience, we are currently loading your data...</p>\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let loadingTemplate = this.list.dataLoadingTemplate;\n * ```\n */\n @ContentChild(IgxDataLoadingTemplateDirective, { read: IgxDataLoadingTemplateDirective })\n public dataLoadingTemplate: IgxDataLoadingTemplateDirective;\n\n /**\n * Sets/gets the template for left panning a list item.\n *\n * @remarks\n * Default value is `null`.\n *\n * @example\n * ```html\n * <igx-list [allowLeftPanning]=\"true\">\n * <ng-template igxListItemLeftPanning>\n * <igx-icon>delete</igx-icon>Delete\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let itemLeftPanTmpl = this.list.listItemLeftPanningTemplate;\n * ```\n */\n @ContentChild(IgxListItemLeftPanningTemplateDirective, { read: IgxListItemLeftPanningTemplateDirective })\n public override listItemLeftPanningTemplate: IgxListItemLeftPanningTemplateDirective;\n\n /**\n * Sets/gets the template for right panning a list item.\n *\n * @remarks\n * Default value is `null`.\n *\n * @example\n * ```html\n * <igx-list [allowRightPanning] = \"true\">\n * <ng-template igxListItemRightPanning>\n * <igx-icon>call</igx-icon>Dial\n * </ng-template>\n * </igx-list>\n * ```\n * ```typescript\n * let itemRightPanTmpl = this.list.listItemRightPanningTemplate;\n * ```\n */\n @ContentChild(IgxListItemRightPanningTemplateDirective, { read: IgxListItemRightPanningTemplateDirective })\n public override listItemRightPanningTemplate: IgxListItemRightPanningTemplateDirective;\n\n /**\n * Provides a threshold after which the item's panning will be completed automatically.\n *\n * @remarks\n * By default this property is set to 0.5 which is 50% of the list item's width.\n *\n * @example\n * ```html\n * <igx-list [panEndTriggeringThreshold]=\"0.8\"></igx-list>\n * ```\n */\n @Input()\n public override panEndTriggeringThreshold = 0.5;\n\n /**\n * Sets/gets the `id` of the list.\n *\n * @remarks\n * If not set, the `id` of the first list component will be `\"igx-list-0\"`.\n *\n * @example\n * ```html\n * <igx-list id=\"my-first-list\"></igx-list>\n * ```\n * ```typescript\n * let listId = this.list.id;\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-list-${NEXT_ID++}`;\n\n /**\n * Sets/gets whether the left panning of an item is allowed.\n *\n * @remarks\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-list [allowLeftPanning]=\"true\"></igx-list>\n * ```\n * ```typescript\n * let isLeftPanningAllowed = this.list.allowLeftPanning;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public override allowLeftPanning = false;\n\n /**\n * Sets/gets whether the right panning of an item is allowed.\n *\n * @remarks\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-list [allowRightPanning]=\"true\"></igx-list>\n * ```\n * ```typescript\n * let isRightPanningAllowed = this.list.allowRightPanning;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public override allowRightPanning = false;\n\n /**\n * Sets/gets whether the list is currently loading data.\n *\n * @remarks\n * Set it to display the dataLoadingTemplate while data is being retrieved.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-list [isLoading]=\"true\"></igx-list>\n * ```\n * ```typescript\n * let isLoading = this.list.isLoading;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public isLoading = false;\n\n /**\n * Event emitted when a left pan gesture is executed on a list item.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list [allowLeftPanning]=\"true\" (leftPan)=\"leftPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override leftPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a right pan gesture is executed on a list item.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list [allowRightPanning]=\"true\" (rightPan)=\"rightPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override rightPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a pan gesture is started.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list (startPan)=\"startPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override startPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a pan gesture is completed or canceled.\n *\n * @remarks\n * Provides a reference to an object of type `IListItemPanningEventArgs` as an event argument.\n *\n * @example\n * ```html\n * <igx-list (endPan)=\"endPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override endPan = new EventEmitter<IListItemPanningEventArgs>();\n\n /**\n * Event emitted when a pan item is returned to its original position.\n *\n * @remarks\n * Provides a reference to an object of type `IgxListComponent` as an event argument.\n *\n * @example\n * ```html\n * <igx-list (resetPan)=\"resetPan($event)\"></igx-list>\n * ```\n */\n @Output()\n public override resetPan = new EventEmitter<IgxListComponent>();\n\n /**\n *\n * Event emitted when a pan gesture is executed on a list item.\n *\n * @remarks\n * Provides references to the `IgxListItemComponent` and `IgxListPanState` as event arguments.\n *\n * @example\n * ```html\n * <igx-list (panStateChange)=\"panStateChange($event)\"></igx-list>\n * ```\n */\n @Output()\n public override panStateChange = new EventEmitter<IPanStateChangeEventArgs>();\n\n /**\n * Event emitted when a list item is clicked.\n *\n * @remarks\n * Provides references to the `IgxListItemComponent` and `Event` as event arguments.\n *\n * @example\n * ```html\n * <igx-list (itemClicked)=\"onItemClicked($event)\"></igx-list>\n * ```\n */\n @Output()\n public override itemClicked = new EventEmitter<IListItemClickEventArgs>();\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultEmptyList', { read: TemplateRef, static: true })\n protected defaultEmptyListTemplate: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n @ViewChild('defaultDataLoading', { read: TemplateRef, static: true })\n protected defaultDataLoadingTemplate: TemplateRef<any>;\n\n private _resourceStrings: IListResourceStrings = null;\n private _customResourceStrings: IListResourceStrings = null;\n private _defaultResourceStrings = getCurrentResourceStrings(ListResourceStringsEN);\n\n /**\n * Sets the resource strings.\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IListResourceStrings) {\n this._resourceStrings = value;\n this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);\n }\n\n /**\n * Returns the resource strings.\n */\n public get resourceStrings(): IListResourceStrings {\n return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;\n }\n\n constructor() {\n super();\n onResourceChangeHandle(this.destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(ListResourceStringsEN, false);\n this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;\n }, this);\n }\n\n /**\n * @hidden\n * @internal\n */\n protected get sortedChildren(): IgxListItemComponent[] {\n if (this.children !== undefined) {\n return this.children.toArray()\n .sort((a: IgxListItemComponent, b: IgxListItemComponent) => a.index - b.index);\n }\n return null;\n }\n\n private _role = 'list';\n\n /**\n * Gets/Sets the `role` attribute value.\n *\n * @example\n * ```typescript\n * let listRole = this.list.role;\n * ```\n */\n @HostBinding('attr.role')\n @Input()\n public get role() {\n return this._role;\n }\n\n public set role(val: string) {\n this._role = val;\n }\n\n /**\n * Gets a boolean indicating if the list is empty.\n *\n * @example\n * ```typescript\n * let isEmpty = this.list.isListEmpty;\n * ```\n */\n @HostBinding('class.igx-list--empty')\n public get isListEmpty(): boolean {\n return !this.children || this.children.length === 0;\n }\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-list')\n public get cssClass(): boolean {\n return !this.isListEmpty;\n }\n\n /**\n * Gets the list `items` excluding the header ones.\n *\n * @example\n * ```typescript\n * let listItems: IgxListItemComponent[] = this.list.items;\n * ```\n */\n public get items(): IgxListItemComponent[] {\n const items: IgxListItemComponent[] = [];\n if (this.children !== undefined) {\n for (const child of this.sortedChildren) {\n if (!child.isHeader) {\n items.push(child);\n }\n }\n }\n return items;\n }\n\n /**\n * Gets the header list `items`.\n *\n * @example\n * ```typescript\n * let listHeaders: IgxListItemComponent[] = this.list.headers;\n * ```\n */\n public get headers(): IgxListItemComponent[] {\n const headers: IgxListItemComponent[] = [];\n if (this.children !== undefined) {\n for (const child of this.children.toArray()) {\n if (child.isHeader) {\n headers.push(child);\n }\n }\n }\n return headers;\n }\n\n /**\n * Gets the `context` object of the template binding.\n *\n * @remarks\n * Gets the `context` object which represents the `template context` binding into the `list container`\n * by providing the `$implicit` declaration which is the `IgxListComponent` itself.\n *\n * @example\n * ```typescript\n * let listComponent = this.list.context;\n * ```\n */\n public get context(): any {\n return {\n $implicit: this\n };\n }\n\n /**\n * Gets a `TemplateRef` to the currently used template.\n *\n * @example\n * ```typescript\n * let listTemplate = this.list.template;\n * ```\n */\n public get template(): TemplateRef<any> {\n if (this.isLoading) {\n return this.dataLoadingTemplate ? this.dataLoadingTemplate.template : this.defaultDataLoadingTemplate;\n } else {\n return this.emptyListTemplate ? this.emptyListTemplate.template : this.defaultEmptyListTemplate;\n }\n }\n}\n\n/**\n * @hidden\n */\n\n","<ng-content></ng-content>\n\n<ng-template #defaultEmptyList>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_no_items}}\n </article>\n</ng-template>\n\n<ng-template #defaultDataLoading>\n <article class=\"igx-list__message\">\n {{resourceStrings.igx_list_loading}}\n </article>\n</ng-template>\n\n@if (!children || children.length === 0 || isLoading) {\n <ng-container *ngTemplateOutlet=\"template; context: context\">\n </ng-container>\n}\n","import { IgxListItemComponent } from './list-item.component';\nimport { IgxDataLoadingTemplateDirective, IgxEmptyListTemplateDirective, IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective } from './list.common';\nimport { IgxListActionDirective, IgxListComponent, IgxListLineDirective, IgxListLineSubTitleDirective, IgxListLineTitleDirective, IgxListThumbnailDirective } from './list.component';\n\nexport * from './list.component';\nexport {\n IgxListBaseDirective,\n IgxListPanState,\n IgxEmptyListTemplateDirective,\n IgxDataLoadingTemplateDirective,\n IgxListItemLeftPanningTemplateDirective,\n IgxListItemRightPanningTemplateDirective\n} from './list.common';\nexport * from './list-item.component';\n\n/* NOTE: List directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_LIST_DIRECTIVES = [\n IgxListComponent,\n IgxListItemComponent,\n IgxListThumbnailDirective,\n IgxListActionDirective,\n IgxListLineDirective,\n IgxListLineTitleDirective,\n IgxListLineSubTitleDirective,\n IgxDataLoadingTemplateDirective,\n IgxEmptyListTemplateDirective,\n IgxListItemLeftPanningTemplateDirective,\n IgxListItemRightPanningTemplateDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_LIST_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_LIST_DIRECTIVES\n ],\n exports: [\n ...IGX_LIST_DIRECTIVES\n ]\n})\n\nexport class IgxListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxListComponent","i2.IgxListItemComponent","i1.IgxListThumbnailDirective","i1.IgxListActionDirective","i1.IgxListLineDirective","i1.IgxListLineTitleDirective","i1.IgxListLineSubTitleDirective","i3.IgxDataLoadingTemplateDirective","i3.IgxEmptyListTemplateDirective","i3.IgxListItemLeftPanningTemplateDirective","i3.IgxListItemRightPanningTemplateDirective"],"mappings":"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"}
@@ -164,13 +164,14 @@ 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 = value;
168
+ this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);
168
169
  }
169
170
  /**
170
171
  * An accessor that returns the resource strings.
171
172
  */
172
173
  get resourceStrings() {
173
- return this._resourceStrings || this._defaultResourceStrings;
174
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
174
175
  }
175
176
  constructor() {
176
177
  this.elementRef = inject(ElementRef);
@@ -230,6 +231,7 @@ class IgxPaginatorComponent {
230
231
  this._selectOptions = [5, 10, 15, 25, 50, 100, 500];
231
232
  this._perPage = 15;
232
233
  this._resourceStrings = null;
234
+ this._customResourceStrings = null;
233
235
  this._defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, true);
234
236
  this._overlaySettings = {};
235
237
  this.defaultSelectValues = [5, 10, 15, 25, 50, 100, 500];
@@ -237,6 +239,7 @@ class IgxPaginatorComponent {
237
239
  this.cssClass = 'igx-paginator';
238
240
  onResourceChangeHandle(this.destroyRef, () => {
239
241
  this._defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, false);
242
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
240
243
  }, this);
241
244
  }
242
245
  /**
@@ -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 _customResourceStrings: 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 = value;\n this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);\n }\n\n /**\n * An accessor that returns the resource strings.\n */\n public get resourceStrings(): IPaginatorResourceStrings {\n return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;\n }\n\n constructor() {\n onResourceChangeHandle(this.destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, false);\n this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;\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;AAyF9B;;;;;;;;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,KAAK;AAC7B,QAAA,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,CAAC;IACxG;AAEA;;AAEG;AACH,IAAA,IAAW,eAAe,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,uBAAuB;IAC7F;AAEA,IAAA,WAAA,GAAA;AA3NQ,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;QAClD,IAAA,CAAA,sBAAsB,GAA8B,IAAI;AACxD,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;AAsI7B,QAAA,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAK;YACzC,IAAI,CAAC,uBAAuB,GAAG,yBAAyB,CAAC,0BAA0B,EAAE,KAAK,CAAC;YAC3F,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI;QACvI,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;8GA1TS,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,MD8Wa,4BAA4B,+FAyB5B,0BAA0B,CAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FA7V1B,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;;sBAmBA,WAAW;uBAAC,qBAAqB;;sBAYjC;;sBA+BA;;sBA0BA;;sBAsBA;;sBAgBA;;sBAcA;;AA8GL,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,uLEtXzC,sfAUA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EF0Wc,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,6LG/YvC,ktEA8DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EH+Uc,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;;;AItZL;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;;;;"}
@@ -43,17 +43,19 @@ class IgxQueryBuilderHeaderComponent {
43
43
  * @deprecated in version 19.1.0.
44
44
  */
45
45
  set resourceStrings(value) {
46
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
46
+ this._resourceStrings = value;
47
+ this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);
47
48
  }
48
49
  /**
49
50
  * Returns the resource strings.
50
51
  */
51
52
  get resourceStrings() {
52
- return this._resourceStrings || this._defaultResourceStrings;
53
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
53
54
  }
54
55
  constructor() {
55
56
  this._destroyRef = inject(DestroyRef);
56
57
  this._resourceStrings = null;
58
+ this._customResourceStrings = null;
57
59
  this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN);
58
60
  /**
59
61
  * Show/hide the legend.
@@ -67,6 +69,7 @@ class IgxQueryBuilderHeaderComponent {
67
69
  this.showLegend = true;
68
70
  onResourceChangeHandle(this._destroyRef, () => {
69
71
  this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false);
72
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
70
73
  }, this);
71
74
  }
72
75
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxQueryBuilderHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -678,20 +681,21 @@ class IgxQueryBuilderTreeComponent {
678
681
  */
679
682
  set locale(value) {
680
683
  this._locale = value;
681
- this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false, this._locale);
684
+ this.updateResources(this._locale);
682
685
  }
683
686
  /**
684
687
  * Sets the resource strings.
685
688
  * By default it uses EN resources.
686
689
  */
687
690
  set resourceStrings(value) {
688
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
691
+ this._resourceStrings = value;
692
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
689
693
  }
690
694
  /**
691
695
  * Returns the resource strings.
692
696
  */
693
697
  get resourceStrings() {
694
- return this._resourceStrings || this._defaultResourceStrings;
698
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
695
699
  }
696
700
  set editingInputsContainer(value) {
697
701
  if ((value && !this._editingInputsContainer) ||
@@ -850,6 +854,7 @@ class IgxQueryBuilderTreeComponent {
850
854
  this._preventInit = false;
851
855
  this._expandedExpressions = [];
852
856
  this._resourceStrings = null;
857
+ this._customResourceStrings = null;
853
858
  this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN);
854
859
  /**
855
860
  * @hidden @internal
@@ -1871,9 +1876,14 @@ class IgxQueryBuilderTreeComponent {
1871
1876
  onResourceChange(args) {
1872
1877
  this._defaultLocale = args.detail.newLocale;
1873
1878
  if (!this._locale) {
1874
- this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false);
1879
+ // Avoid unnecessary fetch of resources, since they should be already retrieved when setting custom locale.
1880
+ this.updateResources();
1875
1881
  }
1876
1882
  }
1883
+ updateResources(locale) {
1884
+ this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false, locale);
1885
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
1886
+ }
1877
1887
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxQueryBuilderTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1878
1888
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: IgxQueryBuilderTreeComponent, isStandalone: true, selector: "igx-query-builder-tree", inputs: { entities: "entities", queryBuilder: "queryBuilder", searchValueTemplate: "searchValueTemplate", parentExpression: "parentExpression", fields: "fields", expressionTree: "expressionTree", locale: "locale", resourceStrings: "resourceStrings", expectedReturnField: "expectedReturnField" }, outputs: { expressionTreeChange: "expressionTreeChange", inEditModeChange: "inEditModeChange" }, host: { properties: { "class": "this.getClass" }, classAttribute: "igx-query-builder-tree" }, providers: [
1879
1889
  IgxQueryBuilderDragService
@@ -2137,13 +2147,14 @@ class IgxQueryBuilderComponent {
2137
2147
  * By default it uses EN resources.
2138
2148
  */
2139
2149
  set resourceStrings(value) {
2140
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
2150
+ this._resourceStrings = value;
2151
+ this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);
2141
2152
  }
2142
2153
  /**
2143
2154
  * Returns the resource strings.
2144
2155
  */
2145
2156
  get resourceStrings() {
2146
- return this._resourceStrings || this._defaultResourceStrings;
2157
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
2147
2158
  }
2148
2159
  /**
2149
2160
  * Sets/gets the search value template.
@@ -2187,11 +2198,13 @@ class IgxQueryBuilderComponent {
2187
2198
  this.expressionTreeChange = new EventEmitter();
2188
2199
  this.destroy$ = new Subject();
2189
2200
  this._resourceStrings = null;
2201
+ this._customResourceStrings = null;
2190
2202
  this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN);
2191
2203
  this._shouldEmitTreeChange = true;
2192
2204
  this.registerSVGIcons();
2193
2205
  onResourceChangeHandle(this.destroy$, () => {
2194
2206
  this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false);
2207
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
2195
2208
  }, this);
2196
2209
  }
2197
2210
  /**