igniteui-angular 22.1.0-beta.2 → 22.1.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/igniteui-angular-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -7
- package/fesm2022/igniteui-angular-banner.mjs +11 -11
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-bottom-nav.mjs +27 -24
- package/fesm2022/igniteui-angular-bottom-nav.mjs.map +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs +7 -7
- package/fesm2022/igniteui-angular-calendar.mjs +65 -65
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-card.mjs +39 -34
- package/fesm2022/igniteui-angular-card.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs +22 -22
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +12 -12
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +11 -11
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +55 -55
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +54 -54
- package/fesm2022/igniteui-angular-date-picker.mjs +38 -38
- package/fesm2022/igniteui-angular-dialog.mjs +17 -15
- package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +219 -193
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +30 -30
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +34 -30
- package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +433 -431
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +58 -53
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +39 -39
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +82 -82
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs +11 -11
- package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +26 -26
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +46 -42
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navbar.mjs +18 -15
- package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +21 -18
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs +19 -19
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +23 -23
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +10 -10
- package/fesm2022/igniteui-angular-select.mjs +27 -27
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +9 -9
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +28 -28
- package/fesm2022/igniteui-angular-snackbar.mjs +8 -8
- package/fesm2022/igniteui-angular-snackbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs +13 -13
- package/fesm2022/igniteui-angular-stepper.mjs +42 -39
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +39 -37
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +21 -21
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-toast.mjs +10 -9
- package/fesm2022/igniteui-angular-toast.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +30 -30
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/lib/core/styles/components/button/_button-theme.scss +13 -12
- package/lib/core/styles/components/highlight/highlight-theme.scss +1 -6
- package/lib/core/styles/components/icon-button/_icon-button-theme.scss +5 -7
- package/lib/core/styles/components/label/_label-theme.scss +1 -6
- package/lib/core/styles/components/rating/_rating-theme.scss +1 -6
- package/lib/core/styles/components/ripple/_ripple-theme.scss +1 -6
- package/lib/core/styles/components/tooltip/_tooltip-theme.scss +1 -6
- package/lib/core/styles/themes/generators/_base.scss +6 -2
- package/lib/core/styles/typography/_typography.scss +3 -5
- package/package.json +2 -2
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-bottom-nav.d.ts +2 -1
- package/types/igniteui-angular-card.d.ts +4 -3
- package/types/igniteui-angular-dialog.d.ts +2 -1
- package/types/igniteui-angular-directives.d.ts +17 -1
- package/types/igniteui-angular-expansion-panel.d.ts +3 -2
- package/types/igniteui-angular-grids-core.d.ts +2 -1
- package/types/igniteui-angular-list.d.ts +3 -2
- package/types/igniteui-angular-navbar.d.ts +2 -1
- package/types/igniteui-angular-navigation-drawer.d.ts +2 -1
- package/types/igniteui-angular-stepper.d.ts +3 -2
- package/types/igniteui-angular-tabs.d.ts +2 -1
- package/types/igniteui-angular-toast.d.ts +2 -1
|
@@ -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, NgZone, OnDestroy, OnInit, Renderer2, ViewChild, booleanAttribute, inject } from '@angular/core';\n\nimport {\n IgxListPanState,\n IListChild,\n IgxListBaseDirective\n} from './list.common';\n\nimport { rem, IgxTouchManager } 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 selector: 'igx-list-item',\n templateUrl: 'list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class IgxListItemComponent implements IListChild, OnInit, OnDestroy {\n public list = inject(IgxListBaseDirective);\n private elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _zone = inject(NgZone);\n\n /**\n * @hidden\n */\n private _gestures: IgxTouchManager | null = null;\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 list item 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 /** @hidden @internal */\n @HostBinding('class.igx-list-item')\n protected cssClass = 'igx-list-item';\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--selected')\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-item--header')\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 @HostBinding('class.igx-list__item-base')\n public get innerStyle(): boolean {\n return !this.isHeader;\n }\n\n @HostBinding('class.igx-list-item--active')\n public get active(): boolean {\n return false;\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 public ngOnInit() {\n this._gestures = new IgxTouchManager(this.elementRef.nativeElement, {\n panStart: () => this.panStart(),\n panMove: (event) => this.panMove(event),\n panEnd: () => this.panEnd(),\n panCancel: () => this.panCancel()\n }, {\n ngZone: this._zone,\n // Do not track the gesture at all when the item cannot be panned. Otherwise every\n // pressed item captures the pointer and suppresses the touch scrolling of the list.\n canStart: () => this.panningAllowed\n });\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._gestures?.destroy();\n }\n\n /**\n * @hidden\n */\n private get panningAllowed(): boolean {\n return !this.isTrue(this.isHeader) &&\n (this.isTrue(this.list.allowLeftPanning) || this.isTrue(this.list.allowRightPanning));\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 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 public panCancel() {\n this.resetPanPosition();\n this.list.endPan.emit({ item: this, direction: this.lastPanDir, keepItem: false });\n }\n\n /**\n * @hidden\n */\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 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 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 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 igx-list__item-thumbnail\">\n <ng-content select=\"[igxListThumbnail], .igx-list-item__thumbnail, .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 igx-list__item-lines\">\n <ng-content select=\"[igxListLine], .igx-list-item__lines, .igx-list__item-lines, [igxListLineTitle], [igxListLineSubTitle], .igx-list-item__title .igx-list__item-line-title, .igx-list-item__subtitle, .igx-list__item-line-subtitle\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemActions>\n <div class=\"igx-list-item__actions igx-list__item-actions\">\n <ng-content select=\"[igxListAction], .igx-list-item__actions, .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 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 ChangeDetectionStrategy,\n ViewEncapsulation\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__title')\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__subtitle')\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 styleUrl: 'list.component.css',\n providers: [{ provide: IgxListBaseDirective, useExisting: IgxListComponent }],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\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 list 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 list 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 list 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 list item and list pan state 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 list item 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 * @hidden\n * @internal\n *\n */\n @HostBinding('class.igx-list')\n public cssClass = 'igx-list';\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 * 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 list 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, NgZone, OnDestroy, OnInit, Renderer2, ViewChild, booleanAttribute, inject } from '@angular/core';\n\nimport {\n IgxListPanState,\n IListChild,\n IgxListBaseDirective\n} from './list.common';\n\nimport { rem, IgxTouchManager } 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 selector: 'igx-list-item',\n templateUrl: 'list-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet]\n})\nexport class IgxListItemComponent implements IListChild, OnInit, OnDestroy {\n public list = inject(IgxListBaseDirective);\n private elementRef = inject(ElementRef);\n private _renderer = inject(Renderer2);\n private _zone = inject(NgZone);\n\n /**\n * @hidden\n */\n private _gestures: IgxTouchManager | null = null;\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 list item 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 /** @hidden @internal */\n @HostBinding('class.igx-list-item')\n protected cssClass = 'igx-list-item';\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--selected')\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-item--header')\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 @HostBinding('class.igx-list__item-base')\n public get innerStyle(): boolean {\n return !this.isHeader;\n }\n\n @HostBinding('class.igx-list-item--active')\n public get active(): boolean {\n return false;\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 public ngOnInit() {\n this._gestures = new IgxTouchManager(this.elementRef.nativeElement, {\n panStart: () => this.panStart(),\n panMove: (event) => this.panMove(event),\n panEnd: () => this.panEnd(),\n panCancel: () => this.panCancel()\n }, {\n ngZone: this._zone,\n // Do not track the gesture at all when the item cannot be panned. Otherwise every\n // pressed item captures the pointer and suppresses the touch scrolling of the list.\n canStart: () => this.panningAllowed\n });\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this._gestures?.destroy();\n }\n\n /**\n * @hidden\n */\n private get panningAllowed(): boolean {\n return !this.isTrue(this.isHeader) &&\n (this.isTrue(this.list.allowLeftPanning) || this.isTrue(this.list.allowRightPanning));\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 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 public panCancel() {\n this.resetPanPosition();\n this.list.endPan.emit({ item: this, direction: this.lastPanDir, keepItem: false });\n }\n\n /**\n * @hidden\n */\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 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 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 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 igx-list__item-thumbnail\">\n <ng-content select=\"[igxListThumbnail], .igx-list-item__thumbnail, .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 igx-list__item-lines\">\n <ng-content select=\"[igxListLine], .igx-list-item__lines, .igx-list__item-lines, [igxListLineTitle], [igxListLineSubTitle], .igx-list-item__title .igx-list__item-line-title, .igx-list-item__subtitle, .igx-list__item-line-subtitle\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #itemActions>\n <div class=\"igx-list-item__actions igx-list__item-actions\">\n <ng-content select=\"[igxListAction], .igx-list-item__actions, .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 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 ChangeDetectionStrategy,\n ViewEncapsulation\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';\nimport { IgxNoTypographyDirective } from 'igniteui-angular/directives';\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 hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxListLineTitleDirective {\n @HostBinding('class.igx-list-item__title')\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 hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxListLineSubTitleDirective {\n @HostBinding('class.igx-list-item__subtitle')\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 styleUrl: 'list.component.css',\n providers: [{ provide: IgxListBaseDirective, useExisting: IgxListComponent }],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\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 list 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 list 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 list 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 list item and list pan state 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 list item 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 * @hidden\n * @internal\n *\n */\n @HostBinding('class.igx-list')\n public cssClass = 'igx-list';\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 * 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 list 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,15 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Directive, EventEmitter, booleanAttribute, Input, ContentChild, Output, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
4
|
+
import * as i1 from 'igniteui-angular/directives';
|
|
5
|
+
import { IgxNoTypographyDirective } from 'igniteui-angular/directives';
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
8
|
* Action icon is a container for the action nav icon of the navbar.
|
|
7
9
|
*/
|
|
8
10
|
class IgxNavbarActionDirective {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
10
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxNavbarActionDirective, isStandalone: true, selector: "[igxNavbarAction],igx-navbar-action", ngImport: i0 }); }
|
|
11
13
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarActionDirective, decorators: [{
|
|
13
15
|
type: Directive,
|
|
14
16
|
args: [{
|
|
15
17
|
selector: '[igxNavbarAction],igx-navbar-action',
|
|
@@ -17,14 +19,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
|
|
|
17
19
|
}]
|
|
18
20
|
}] });
|
|
19
21
|
class IgxNavbarTitleDirective {
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: IgxNavbarTitleDirective, isStandalone: true, selector: "[igxNavbarTitle],igx-navbar-title", hostDirectives: [{ directive: i1.IgxNoTypographyDirective }], ngImport: i0 }); }
|
|
22
24
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarTitleDirective, decorators: [{
|
|
24
26
|
type: Directive,
|
|
25
27
|
args: [{
|
|
26
28
|
selector: '[igxNavbarTitle],igx-navbar-title',
|
|
27
|
-
standalone: true
|
|
29
|
+
standalone: true,
|
|
30
|
+
hostDirectives: [IgxNoTypographyDirective]
|
|
28
31
|
}]
|
|
29
32
|
}] });
|
|
30
33
|
let NEXT_ID = 0;
|
|
@@ -115,12 +118,12 @@ class IgxNavbarComponent {
|
|
|
115
118
|
_triggerAction() {
|
|
116
119
|
this.action.emit(this);
|
|
117
120
|
}
|
|
118
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
119
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
122
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxNavbarComponent, isStandalone: true, selector: "igx-navbar", inputs: { id: "id", actionButtonIcon: "actionButtonIcon", title: "title", titleId: "titleId", isActionButtonVisible: ["isActionButtonVisible", "isActionButtonVisible", booleanAttribute] }, outputs: { action: "action" }, host: { properties: { "attr.id": "this.id", "class.igx-navbar": "this.cssClass" } }, queries: [{ propertyName: "actionIconTemplate", first: true, predicate: IgxNavbarActionDirective, descendants: true, read: IgxNavbarActionDirective }, { propertyName: "titleContent", first: true, predicate: IgxNavbarTitleDirective, descendants: true, read: IgxNavbarTitleDirective }], ngImport: i0, template: "<nav role=\"navigation\" [attr.aria-labelledby]=\"titleId\">\n <div class=\"igx-navbar__left\">\n @if (isActionButtonVisible) {\n <igx-icon (click)=\"_triggerAction()\">\n {{actionButtonIcon}}\n </igx-icon>\n }\n <ng-content select=\"igx-navbar-action, [igxNavbarAction]\"></ng-content>\n </div>\n <div class=\"igx-navbar__middle\">\n @if (!isTitleContentVisible) {\n <h1\n class=\"igx-navbar__title\"\n data-no-typography\n [attr.id]=\"titleId\">\n {{ title }}\n </h1>\n }\n <ng-content select=\"igx-navbar-title, [igxNavbarTitle]\"></ng-content>\n </div>\n <div class=\"igx-navbar__right\">\n <ng-content></ng-content>\n </div>\n</nav>\n", styles: ["@layer ig.base{.igx-navbar__title,igx-navbar-title,[igxNavbarTitle]{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom);display:-webkit-inline-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;flex-grow:1;-webkit-user-select:text;-moz-user-select:text;user-select:text;display:flex;flex-direction:row}.igx-navbar__right,.igx-navbar__middle,.igx-navbar__left{display:flex;align-items:center}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{--component-size: var(--ig-size-large);cursor:pointer}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{transition:color .15s cubic-bezier(.25,.46,.45,.94);color:var(--idle-icon-color)}.igx-navbar__right>igx-icon:hover,.igx-navbar__middle>igx-icon:hover,.igx-navbar__left>igx-icon:hover,.igx-navbar__right>igc-icon:hover,.igx-navbar__middle>igc-icon:hover,.igx-navbar__left>igc-icon:hover{color:var(--hover-icon-color)}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{-webkit-user-select:none;-moz-user-select:none;user-select:none}igx-navbar-action,[igxNavbarAction]{display:flex;align-items:center}igx-navbar-title,[igxNavbarTitle]{align-items:center}.igx-navbar{display:block;width:100%}.igx-navbar nav{display:flex;align-items:center;position:relative;flex-flow:row nowrap;gap:1rem;min-height:3.5rem;padding-inline:1rem;max-height:8rem;z-index:4;overflow:hidden;background:var(--background);color:var(--text-color);box-shadow:var(--elevation);border-bottom:.0625rem solid var(--border-color)}.igx-navbar igx-avatar{--ig-size: 1}.igx-navbar [igxIconButton],.igx-navbar igc-icon-button{--ig-size: 2}.igx-navbar__left:not(:empty){margin-inline-end:1rem}.igx-navbar__left:empty{display:none}.igx-navbar__middle{flex-grow:1}.igx-navbar__right{gap:1rem}.igx-navbar__right:empty{display:none}}@layer ig.material{@container style(--ig-theme: material){.igx-navbar igx-input-group{--ig-size: 1}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-navbar__title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-navbar__title{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-navbar .igx-navbar__left [igxIconButton],.igx-navbar .igx-navbar__right [igxIconButton],.igx-navbar .igx-navbar__title [igxIconButton],.igx-navbar .igx-navbar__left igc-icon-button,.igx-navbar .igx-navbar__right igc-icon-button,.igx-navbar .igx-navbar__title igc-icon-button{padding:.375rem}.igx-navbar .igx-navbar__left>igx-icon,.igx-navbar .igx-navbar__right>igx-icon,.igx-navbar .igx-navbar__title>igx-icon,.igx-navbar .igx-navbar__left>igc-icon,.igx-navbar .igx-navbar__right>igc-icon,.igx-navbar .igx-navbar__title>igc-icon{--component-size: var(--ig-size-medium);--size: auto}.igx-navbar igx-avatar{--ig-size: 2}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-navbar__title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-navbar__right{gap:.5rem}.igx-navbar__left:not(:empty){margin-inline-end:unset}}}\n"], dependencies: [{ kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
120
123
|
}
|
|
121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarComponent, decorators: [{
|
|
122
125
|
type: Component,
|
|
123
|
-
args: [{ selector: 'igx-navbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxIconComponent], template: "<nav role=\"navigation\" [attr.aria-labelledby]=\"titleId\">\n <div class=\"igx-navbar__left\">\n @if (isActionButtonVisible) {\n <igx-icon (click)=\"_triggerAction()\">\n {{actionButtonIcon}}\n </igx-icon>\n }\n <ng-content select=\"igx-navbar-action, [igxNavbarAction]\"></ng-content>\n </div>\n <div class=\"igx-navbar__middle\">\n @if (!isTitleContentVisible) {\n <h1\n class=\"igx-navbar__title\"\n [attr.id]=\"titleId\">\n {{ title }}\n </h1>\n }\n <ng-content select=\"igx-navbar-title, [igxNavbarTitle]\"></ng-content>\n </div>\n <div class=\"igx-navbar__right\">\n <ng-content></ng-content>\n </div>\n</nav>\n", styles: ["@layer ig.base{.igx-navbar__title,igx-navbar-title,[igxNavbarTitle]{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom);display:-webkit-inline-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;flex-grow:1;-webkit-user-select:text;-moz-user-select:text;user-select:text;display:flex;flex-direction:row}.igx-navbar__right,.igx-navbar__middle,.igx-navbar__left{display:flex;align-items:center}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{--component-size: var(--ig-size-large);cursor:pointer}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{transition:color .15s cubic-bezier(.25,.46,.45,.94);color:var(--idle-icon-color)}.igx-navbar__right>igx-icon:hover,.igx-navbar__middle>igx-icon:hover,.igx-navbar__left>igx-icon:hover,.igx-navbar__right>igc-icon:hover,.igx-navbar__middle>igc-icon:hover,.igx-navbar__left>igc-icon:hover{color:var(--hover-icon-color)}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{-webkit-user-select:none;-moz-user-select:none;user-select:none}igx-navbar-action,[igxNavbarAction]{display:flex;align-items:center}igx-navbar-title,[igxNavbarTitle]{align-items:center}.igx-navbar{display:block;width:100%}.igx-navbar nav{display:flex;align-items:center;position:relative;flex-flow:row nowrap;gap:1rem;min-height:3.5rem;padding-inline:1rem;max-height:8rem;z-index:4;overflow:hidden;background:var(--background);color:var(--text-color);box-shadow:var(--elevation);border-bottom:.0625rem solid var(--border-color)}.igx-navbar igx-avatar{--ig-size: 1}.igx-navbar [igxIconButton],.igx-navbar igc-icon-button{--ig-size: 2}.igx-navbar__left:not(:empty){margin-inline-end:1rem}.igx-navbar__left:empty{display:none}.igx-navbar__middle{flex-grow:1}.igx-navbar__right{gap:1rem}.igx-navbar__right:empty{display:none}}@layer ig.material{@container style(--ig-theme: material){.igx-navbar igx-input-group{--ig-size: 1}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-navbar__title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-navbar__title{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-navbar .igx-navbar__left [igxIconButton],.igx-navbar .igx-navbar__right [igxIconButton],.igx-navbar .igx-navbar__title [igxIconButton],.igx-navbar .igx-navbar__left igc-icon-button,.igx-navbar .igx-navbar__right igc-icon-button,.igx-navbar .igx-navbar__title igc-icon-button{padding:.375rem}.igx-navbar .igx-navbar__left>igx-icon,.igx-navbar .igx-navbar__right>igx-icon,.igx-navbar .igx-navbar__title>igx-icon,.igx-navbar .igx-navbar__left>igc-icon,.igx-navbar .igx-navbar__right>igc-icon,.igx-navbar .igx-navbar__title>igc-icon{--component-size: var(--ig-size-medium);--size: auto}.igx-navbar igx-avatar{--ig-size: 2}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-navbar__title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-navbar__right{gap:.5rem}.igx-navbar__left:not(:empty){margin-inline-end:unset}}}\n"] }]
|
|
126
|
+
args: [{ selector: 'igx-navbar', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxIconComponent], template: "<nav role=\"navigation\" [attr.aria-labelledby]=\"titleId\">\n <div class=\"igx-navbar__left\">\n @if (isActionButtonVisible) {\n <igx-icon (click)=\"_triggerAction()\">\n {{actionButtonIcon}}\n </igx-icon>\n }\n <ng-content select=\"igx-navbar-action, [igxNavbarAction]\"></ng-content>\n </div>\n <div class=\"igx-navbar__middle\">\n @if (!isTitleContentVisible) {\n <h1\n class=\"igx-navbar__title\"\n data-no-typography\n [attr.id]=\"titleId\">\n {{ title }}\n </h1>\n }\n <ng-content select=\"igx-navbar-title, [igxNavbarTitle]\"></ng-content>\n </div>\n <div class=\"igx-navbar__right\">\n <ng-content></ng-content>\n </div>\n</nav>\n", styles: ["@layer ig.base{.igx-navbar__title,igx-navbar-title,[igxNavbarTitle]{font-family:var(--ig-h6-font-family, var(--ig-font-family));font-size:var(--ig-h6-font-size);font-weight:var(--ig-h6-font-weight);font-style:var(--ig-h6-font-style);line-height:var(--ig-h6-line-height);letter-spacing:var(--ig-h6-letter-spacing);text-transform:var(--ig-h6-text-transform);margin-top:var(--ig-h6-margin-top);margin-bottom:var(--ig-h6-margin-bottom);display:-webkit-inline-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:0;flex-grow:1;-webkit-user-select:text;-moz-user-select:text;user-select:text;display:flex;flex-direction:row}.igx-navbar__right,.igx-navbar__middle,.igx-navbar__left{display:flex;align-items:center}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{--component-size: var(--ig-size-large);cursor:pointer}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{transition:color .15s cubic-bezier(.25,.46,.45,.94);color:var(--idle-icon-color)}.igx-navbar__right>igx-icon:hover,.igx-navbar__middle>igx-icon:hover,.igx-navbar__left>igx-icon:hover,.igx-navbar__right>igc-icon:hover,.igx-navbar__middle>igc-icon:hover,.igx-navbar__left>igc-icon:hover{color:var(--hover-icon-color)}.igx-navbar__right>igx-icon,.igx-navbar__middle>igx-icon,.igx-navbar__left>igx-icon,.igx-navbar__right>igc-icon,.igx-navbar__middle>igc-icon,.igx-navbar__left>igc-icon{-webkit-user-select:none;-moz-user-select:none;user-select:none}igx-navbar-action,[igxNavbarAction]{display:flex;align-items:center}igx-navbar-title,[igxNavbarTitle]{align-items:center}.igx-navbar{display:block;width:100%}.igx-navbar nav{display:flex;align-items:center;position:relative;flex-flow:row nowrap;gap:1rem;min-height:3.5rem;padding-inline:1rem;max-height:8rem;z-index:4;overflow:hidden;background:var(--background);color:var(--text-color);box-shadow:var(--elevation);border-bottom:.0625rem solid var(--border-color)}.igx-navbar igx-avatar{--ig-size: 1}.igx-navbar [igxIconButton],.igx-navbar igc-icon-button{--ig-size: 2}.igx-navbar__left:not(:empty){margin-inline-end:1rem}.igx-navbar__left:empty{display:none}.igx-navbar__middle{flex-grow:1}.igx-navbar__right{gap:1rem}.igx-navbar__right:empty{display:none}}@layer ig.material{@container style(--ig-theme: material){.igx-navbar igx-input-group{--ig-size: 1}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-navbar__title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom);margin:0}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-navbar__title{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-navbar .igx-navbar__left [igxIconButton],.igx-navbar .igx-navbar__right [igxIconButton],.igx-navbar .igx-navbar__title [igxIconButton],.igx-navbar .igx-navbar__left igc-icon-button,.igx-navbar .igx-navbar__right igc-icon-button,.igx-navbar .igx-navbar__title igc-icon-button{padding:.375rem}.igx-navbar .igx-navbar__left>igx-icon,.igx-navbar .igx-navbar__right>igx-icon,.igx-navbar .igx-navbar__title>igx-icon,.igx-navbar .igx-navbar__left>igc-icon,.igx-navbar .igx-navbar__right>igc-icon,.igx-navbar .igx-navbar__title>igc-icon{--component-size: var(--ig-size-medium);--size: auto}.igx-navbar igx-avatar{--ig-size: 2}.igx-navbar igx-navbar-title,.igx-navbar [igxNavbarTitle]{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-navbar__title{font-family:var(--ig-h5-font-family, var(--ig-font-family));font-size:var(--ig-h5-font-size);font-weight:var(--ig-h5-font-weight);font-style:var(--ig-h5-font-style);line-height:var(--ig-h5-line-height);letter-spacing:var(--ig-h5-letter-spacing);text-transform:var(--ig-h5-text-transform);margin-top:var(--ig-h5-margin-top);margin-bottom:var(--ig-h5-margin-bottom)}.igx-navbar__right{gap:.5rem}.igx-navbar__left:not(:empty){margin-inline-end:unset}}}\n"] }]
|
|
124
127
|
}], propDecorators: { id: [{
|
|
125
128
|
type: HostBinding,
|
|
126
129
|
args: ['attr.id']
|
|
@@ -160,11 +163,11 @@ const IGX_NAVBAR_DIRECTIVES = [
|
|
|
160
163
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
161
164
|
*/
|
|
162
165
|
class IgxNavbarModule {
|
|
163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
164
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.
|
|
165
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
167
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarModule, imports: [IgxNavbarComponent, IgxNavbarActionDirective, IgxNavbarTitleDirective], exports: [IgxNavbarComponent, IgxNavbarActionDirective, IgxNavbarTitleDirective] }); }
|
|
168
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarModule, imports: [IgxNavbarComponent] }); }
|
|
166
169
|
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
170
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxNavbarModule, decorators: [{
|
|
168
171
|
type: NgModule,
|
|
169
172
|
args: [{
|
|
170
173
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-navbar.mjs","sources":["../../../projects/igniteui-angular/navbar/src/navbar/navbar.component.ts","../../../projects/igniteui-angular/navbar/src/navbar/navbar.component.html","../../../projects/igniteui-angular/navbar/src/navbar/public_api.ts","../../../projects/igniteui-angular/navbar/src/navbar/navbar.module.ts","../../../projects/igniteui-angular/navbar/src/igniteui-angular-navbar.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Directive,\n ContentChild,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\n/**\n * Action icon is a container for the action nav icon of the navbar.\n */\n@Directive({\n selector: '[igxNavbarAction],igx-navbar-action',\n standalone: true\n})\nexport class IgxNavbarActionDirective { }\n\n@Directive({\n selector: '[igxNavbarTitle],igx-navbar-title',\n standalone: true\n})\nexport class IgxNavbarTitleDirective { }\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Navbar** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navbar.html)\n *\n * The Ignite UI Navbar is most commonly used to provide an app header with a hamburger menu and navigation\n * state such as a \"Go Back\" button. It also supports other actions represented by icons.\n *\n * Example:\n * ```html\n * <igx-navbar title=\"Sample App\" actionButtonIcon=\"menu\">\n * <igx-icon>search</igx-icon>\n * <igx-icon>favorite</igx-icon>\n * <igx-icon>more_vert</igx-icon>\n * </igx-navbar>\n * ```\n */\n\n@Component({\n selector: 'igx-navbar',\n templateUrl: 'navbar.component.html',\n styleUrl: 'navbar.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent]\n})\n\nexport class IgxNavbarComponent {\n /**\n * Sets the value of the `id` attribute. If not provided it will be automatically generated.\n * ```html\n * <igx-navbar [id]=\"'igx-navbar-12'\" title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-navbar-${NEXT_ID++}`;\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-navbar')\n public cssClass = 'igx-navbar';\n\n\n /**\n * Sets the icon of the navbar.\n * ```html\n * <igx-navbar [title]=\"currentView\" actionButtonIcon=\"arrow_back\"></igx-navbar>\n * ```\n */\n @Input() public actionButtonIcon: string;\n\n /**\n * Sets the title of the navbar.\n * ```html\n * <igx-navbar title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @Input() public title: string;\n\n /**\n * The event that will be thrown when the action is executed,\n * provides reference to the navbar component as argument\n * ```typescript\n * public actionExc(event){\n * alert(\"Action Execute!\");\n * }\n * //..\n * ```\n * ```html\n * <igx-navbar (action)=\"actionExc($event)\" title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @Output() public action = new EventEmitter<IgxNavbarComponent>();\n\n /**\n * Sets the titleId of the navbar. If not set it will be automatically generated.\n * ```html\n * <igx-navbar [titleId]=\"'igx-navbar-7'\" title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @Input()\n public titleId = `igx-navbar-title-${NEXT_ID++}`;\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavbarActionDirective, { read: IgxNavbarActionDirective })\n protected actionIconTemplate: IgxNavbarActionDirective;\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavbarTitleDirective, { read: IgxNavbarTitleDirective })\n protected titleContent: IgxNavbarTitleDirective;\n\n private isVisible = true;\n\n /**\n * Sets whether the action button of the navbar is visible.\n * ```html\n * <igx-navbar [title]=\"currentView\" [isActionButtonVisible]=\"'false'\"></igx-navbar>\n * ```\n */\n public set isActionButtonVisible(value: boolean) {\n this.isVisible = value;\n }\n\n /**\n * Returns whether the navbar action button is visible, true/false.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * public navBar: IgxNavbarComponent;\n * ngAfterViewInit(){\n * let actionButtonVisibile = this.navBar.isActionButtonVisible;\n * }\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get isActionButtonVisible(): boolean {\n if (this.actionIconTemplate || !this.actionButtonIcon) {\n return false;\n }\n return this.isVisible;\n }\n\n public get isTitleContentVisible(): boolean {\n return this.titleContent ? true : false;\n }\n\n /**\n * @hidden\n */\n public _triggerAction() {\n this.action.emit(this);\n }\n}\n\n","<nav role=\"navigation\" [attr.aria-labelledby]=\"titleId\">\n <div class=\"igx-navbar__left\">\n @if (isActionButtonVisible) {\n <igx-icon (click)=\"_triggerAction()\">\n {{actionButtonIcon}}\n </igx-icon>\n }\n <ng-content select=\"igx-navbar-action, [igxNavbarAction]\"></ng-content>\n </div>\n <div class=\"igx-navbar__middle\">\n @if (!isTitleContentVisible) {\n <h1\n class=\"igx-navbar__title\"\n [attr.id]=\"titleId\">\n {{ title }}\n </h1>\n }\n <ng-content select=\"igx-navbar-title, [igxNavbarTitle]\"></ng-content>\n </div>\n <div class=\"igx-navbar__right\">\n <ng-content></ng-content>\n </div>\n</nav>\n","import { IgxNavbarActionDirective, IgxNavbarComponent, IgxNavbarTitleDirective } from './navbar.component';\n\nexport * from './navbar.component';\n\n/* NOTE: Navbar directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_NAVBAR_DIRECTIVES = [\n IgxNavbarComponent,\n IgxNavbarActionDirective,\n IgxNavbarTitleDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_NAVBAR_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_NAVBAR_DIRECTIVES\n ],\n exports: [\n ...IGX_NAVBAR_DIRECTIVES\n ]\n})\n\nexport class IgxNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxNavbarComponent","i1.IgxNavbarActionDirective","i1.IgxNavbarTitleDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-navbar.mjs","sources":["../../../projects/igniteui-angular/navbar/src/navbar/navbar.component.ts","../../../projects/igniteui-angular/navbar/src/navbar/navbar.component.html","../../../projects/igniteui-angular/navbar/src/navbar/public_api.ts","../../../projects/igniteui-angular/navbar/src/navbar/navbar.module.ts","../../../projects/igniteui-angular/navbar/src/igniteui-angular-navbar.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Directive,\n ContentChild,\n booleanAttribute,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxNoTypographyDirective } from 'igniteui-angular/directives';\n\n/**\n * Action icon is a container for the action nav icon of the navbar.\n */\n@Directive({\n selector: '[igxNavbarAction],igx-navbar-action',\n standalone: true\n})\nexport class IgxNavbarActionDirective { }\n\n@Directive({\n selector: '[igxNavbarTitle],igx-navbar-title',\n standalone: true,\n hostDirectives: [IgxNoTypographyDirective]\n})\nexport class IgxNavbarTitleDirective { }\n\nlet NEXT_ID = 0;\n/**\n * **Ignite UI for Angular Navbar** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/navbar.html)\n *\n * The Ignite UI Navbar is most commonly used to provide an app header with a hamburger menu and navigation\n * state such as a \"Go Back\" button. It also supports other actions represented by icons.\n *\n * Example:\n * ```html\n * <igx-navbar title=\"Sample App\" actionButtonIcon=\"menu\">\n * <igx-icon>search</igx-icon>\n * <igx-icon>favorite</igx-icon>\n * <igx-icon>more_vert</igx-icon>\n * </igx-navbar>\n * ```\n */\n\n@Component({\n selector: 'igx-navbar',\n templateUrl: 'navbar.component.html',\n styleUrl: 'navbar.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent]\n})\n\nexport class IgxNavbarComponent {\n /**\n * Sets the value of the `id` attribute. If not provided it will be automatically generated.\n * ```html\n * <igx-navbar [id]=\"'igx-navbar-12'\" title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-navbar-${NEXT_ID++}`;\n\n /**\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-navbar')\n public cssClass = 'igx-navbar';\n\n\n /**\n * Sets the icon of the navbar.\n * ```html\n * <igx-navbar [title]=\"currentView\" actionButtonIcon=\"arrow_back\"></igx-navbar>\n * ```\n */\n @Input() public actionButtonIcon: string;\n\n /**\n * Sets the title of the navbar.\n * ```html\n * <igx-navbar title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @Input() public title: string;\n\n /**\n * The event that will be thrown when the action is executed,\n * provides reference to the navbar component as argument\n * ```typescript\n * public actionExc(event){\n * alert(\"Action Execute!\");\n * }\n * //..\n * ```\n * ```html\n * <igx-navbar (action)=\"actionExc($event)\" title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @Output() public action = new EventEmitter<IgxNavbarComponent>();\n\n /**\n * Sets the titleId of the navbar. If not set it will be automatically generated.\n * ```html\n * <igx-navbar [titleId]=\"'igx-navbar-7'\" title=\"Sample App\" actionButtonIcon=\"menu\">\n * ```\n */\n @Input()\n public titleId = `igx-navbar-title-${NEXT_ID++}`;\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavbarActionDirective, { read: IgxNavbarActionDirective })\n protected actionIconTemplate: IgxNavbarActionDirective;\n\n /**\n * @hidden\n */\n @ContentChild(IgxNavbarTitleDirective, { read: IgxNavbarTitleDirective })\n protected titleContent: IgxNavbarTitleDirective;\n\n private isVisible = true;\n\n /**\n * Sets whether the action button of the navbar is visible.\n * ```html\n * <igx-navbar [title]=\"currentView\" [isActionButtonVisible]=\"'false'\"></igx-navbar>\n * ```\n */\n public set isActionButtonVisible(value: boolean) {\n this.isVisible = value;\n }\n\n /**\n * Returns whether the navbar action button is visible, true/false.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * public navBar: IgxNavbarComponent;\n * ngAfterViewInit(){\n * let actionButtonVisibile = this.navBar.isActionButtonVisible;\n * }\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get isActionButtonVisible(): boolean {\n if (this.actionIconTemplate || !this.actionButtonIcon) {\n return false;\n }\n return this.isVisible;\n }\n\n public get isTitleContentVisible(): boolean {\n return this.titleContent ? true : false;\n }\n\n /**\n * @hidden\n */\n public _triggerAction() {\n this.action.emit(this);\n }\n}\n\n","<nav role=\"navigation\" [attr.aria-labelledby]=\"titleId\">\n <div class=\"igx-navbar__left\">\n @if (isActionButtonVisible) {\n <igx-icon (click)=\"_triggerAction()\">\n {{actionButtonIcon}}\n </igx-icon>\n }\n <ng-content select=\"igx-navbar-action, [igxNavbarAction]\"></ng-content>\n </div>\n <div class=\"igx-navbar__middle\">\n @if (!isTitleContentVisible) {\n <h1\n class=\"igx-navbar__title\"\n data-no-typography\n [attr.id]=\"titleId\">\n {{ title }}\n </h1>\n }\n <ng-content select=\"igx-navbar-title, [igxNavbarTitle]\"></ng-content>\n </div>\n <div class=\"igx-navbar__right\">\n <ng-content></ng-content>\n </div>\n</nav>\n","import { IgxNavbarActionDirective, IgxNavbarComponent, IgxNavbarTitleDirective } from './navbar.component';\n\nexport * from './navbar.component';\n\n/* NOTE: Navbar directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_NAVBAR_DIRECTIVES = [\n IgxNavbarComponent,\n IgxNavbarActionDirective,\n IgxNavbarTitleDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_NAVBAR_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_NAVBAR_DIRECTIVES\n ],\n exports: [\n ...IGX_NAVBAR_DIRECTIVES\n ]\n})\n\nexport class IgxNavbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxNavbarComponent","i1.IgxNavbarActionDirective","i1.IgxNavbarTitleDirective"],"mappings":"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"}
|