igniteui-angular 22.1.3 → 22.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/fesm2022/igniteui-angular-action-strip.mjs +5 -2
  2. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  3. package/fesm2022/igniteui-angular-banner.mjs +5 -2
  4. package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
  5. package/fesm2022/igniteui-angular-calendar.mjs +12 -5
  6. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-carousel.mjs +5 -2
  8. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  9. package/fesm2022/igniteui-angular-chips.mjs +5 -2
  10. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  11. package/fesm2022/igniteui-angular-combo.mjs +5 -2
  12. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  13. package/fesm2022/igniteui-angular-date-picker.mjs +5 -2
  14. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  15. package/fesm2022/igniteui-angular-grids-core.mjs +4 -2
  16. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  17. package/fesm2022/igniteui-angular-grids-grid.mjs +12 -5
  18. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  19. package/fesm2022/igniteui-angular-input-group.mjs +5 -2
  20. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  21. package/fesm2022/igniteui-angular-list.mjs +5 -2
  22. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  23. package/fesm2022/igniteui-angular-paginator.mjs +5 -2
  24. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-query-builder.mjs +21 -8
  26. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-splitter.mjs +24 -14
  28. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  29. package/fesm2022/igniteui-angular-time-picker.mjs +5 -2
  30. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  31. package/fesm2022/igniteui-angular-tree.mjs +5 -2
  32. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  33. package/package.json +1 -1
  34. package/types/igniteui-angular-action-strip.d.ts +1 -0
  35. package/types/igniteui-angular-banner.d.ts +1 -0
  36. package/types/igniteui-angular-calendar.d.ts +2 -0
  37. package/types/igniteui-angular-carousel.d.ts +1 -0
  38. package/types/igniteui-angular-chips.d.ts +1 -0
  39. package/types/igniteui-angular-combo.d.ts +1 -0
  40. package/types/igniteui-angular-date-picker.d.ts +1 -0
  41. package/types/igniteui-angular-grids-core.d.ts +1 -0
  42. package/types/igniteui-angular-grids-grid.d.ts +2 -0
  43. package/types/igniteui-angular-input-group.d.ts +1 -0
  44. package/types/igniteui-angular-list.d.ts +1 -0
  45. package/types/igniteui-angular-paginator.d.ts +1 -0
  46. package/types/igniteui-angular-query-builder.d.ts +4 -0
  47. package/types/igniteui-angular-splitter.d.ts +6 -1
  48. package/types/igniteui-angular-time-picker.d.ts +1 -0
  49. package/types/igniteui-angular-tree.d.ts +1 -0
@@ -93,10 +93,11 @@ class IgxActionStripComponent {
93
93
  * By default it uses EN resources.
94
94
  */
95
95
  set resourceStrings(value) {
96
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
96
+ this._resourceStrings = value;
97
+ this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);
97
98
  }
98
99
  get resourceStrings() {
99
- return this._resourceStrings || this._defaultResourceStrings;
100
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
100
101
  }
101
102
  /**
102
103
  * Hide or not the Action Strip based on if it is a menu.
@@ -146,6 +147,7 @@ class IgxActionStripComponent {
146
147
  this._context = signal(undefined, /* @ts-ignore */
147
148
  ...(ngDevMode ? [{ debugName: "_context" }] : /* istanbul ignore next */ []));
148
149
  this._resourceStrings = null;
150
+ this._customResourceStrings = null;
149
151
  this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN);
150
152
  /**
151
153
  * Host `attr.class` binding.
@@ -155,6 +157,7 @@ class IgxActionStripComponent {
155
157
  this.trackMenuItem = trackByIdentity;
156
158
  onResourceChangeHandle(this._destroyRef, () => {
157
159
  this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN, false);
160
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
158
161
  }, this);
159
162
  }
160
163
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-action-strip.mjs","sources":["../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.html","../../../projects/igniteui-angular/action-strip/src/action-strip/public_api.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.module.ts","../../../projects/igniteui-angular/action-strip/src/igniteui-angular-action-strip.ts"],"sourcesContent":["import {\n Component,\n Directive,\n HostBinding,\n Input,\n Renderer2,\n ViewContainerRef,\n ContentChildren,\n QueryList,\n ViewChild,\n TemplateRef,\n ChangeDetectorRef,\n AfterViewInit,\n ElementRef,\n booleanAttribute,\n inject,\n DestroyRef,\n AfterContentInit,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n signal\n} from '@angular/core';\n\n\nimport {\n ActionStripResourceStringsEN,\n CloseScrollStrategy,\n getCurrentResourceStrings,\n onResourceChangeHandle,\n IActionStripResourceStrings,\n IgxActionStripActionsToken,\n IgxActionStripToken,\n OverlaySettings\n} from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxToggleActionDirective } from 'igniteui-angular/directives';\nimport { IgxRippleDirective } from 'igniteui-angular/directives';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { trackByIdentity } from 'igniteui-angular/core';\nimport { IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective } from 'igniteui-angular/drop-down';\n\n@Directive({\n selector: '[igxActionStripMenuItem]',\n standalone: true\n})\nexport class IgxActionStripMenuItemDirective {\n public templateRef = inject<TemplateRef<any>>(TemplateRef);\n}\n\n/* blazorElement */\n/* jsonAPIManageItemInMarkup */\n/* jsonAPIManageCollectionInMarkup */\n/* wcElementTag: igc-action-strip */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: Grid */\n/* contentParent: TreeGrid */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/**\n * Action Strip provides templatable area for one or more actions.\n *\n * @igxModule IgxActionStripModule\n *\n * @igxTheme igx-action-strip-theme\n *\n * @igxKeywords action, strip, actionStrip, pinning, editing\n *\n * @igxGroup Data Entry & Display\n *\n * @igxParent IgxGridComponent, IgxHierarchicalGridComponent, IgxTreeGridComponent, IgxRowIslandComponent, *\n *\n * @remarks\n * The Ignite UI Action Strip is a container, overlaying its parent container,\n * and displaying action buttons with action applicable to the parent component the strip is instantiated or shown for.\n *\n * @example\n * ```html\n * <igx-action-strip #actionStrip>\n * <igx-icon (click)=\"doSomeAction()\"></igx-icon>\n * </igx-action-strip>\n */\n@Component({\n selector: 'igx-action-strip',\n templateUrl: 'action-strip.component.html',\n styleUrl: 'action-strip.component.css',\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n IgxIconButtonDirective,\n IgxRippleDirective,\n IgxToggleActionDirective,\n IgxDropDownItemNavigationDirective,\n IgxIconComponent,\n IgxDropDownComponent,\n IgxDropDownItemComponent\n ],\n changeDetection: ChangeDetectionStrategy.Eager,\n providers: [{ provide: IgxActionStripToken, useExisting: IgxActionStripComponent }]\n})\nexport class IgxActionStripComponent implements IgxActionStripToken, AfterViewInit, AfterContentInit {\n private _viewContainer = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n protected el = inject(ElementRef);\n /* blazorSuppress */\n public cdr = inject(ChangeDetectorRef);\n\n\n /* blazorSuppress */\n /**\n * Sets the context of an action strip.\n * The context should be an instance of a @Component, that has element property.\n * This element will be the placeholder of the action strip.\n *\n * @example\n * ```html\n * <igx-action-strip [context]=\"cell\"></igx-action-strip>\n * ```\n */\n @Input()\n public set context(value: any) {\n this._context.set(value);\n }\n\n public get context(): any {\n return this._context();\n }\n\n /**\n * Menu Items ContentChildren inside the Action Strip\n *\n * @hidden\n * @internal\n */\n @ContentChildren(IgxActionStripMenuItemDirective)\n public _menuItems!: QueryList<IgxActionStripMenuItemDirective>;\n\n\n /* blazorInclude */\n /* contentChildren */\n /* blazorTreatAsCollection */\n /* blazorCollectionName: GridActionsBaseDirectiveCollection */\n /**\n * ActionButton as ContentChildren inside the Action Strip\n *\n * @hidden\n * @internal\n */\n @ContentChildren(IgxActionStripActionsToken)\n public actionButtons!: QueryList<IgxActionStripActionsToken>;\n\n /**\n * Gets/Sets the visibility of the Action Strip.\n * Could be used to set if the Action Strip will be initially hidden.\n *\n * @example\n * ```html\n * <igx-action-strip [hidden]=\"false\">\n * ```\n */\n @Input({ transform: booleanAttribute })\n public set hidden(value: boolean) {\n this._hidden.set(value);\n }\n\n public get hidden(): boolean {\n return this._hidden();\n }\n\n\n /**\n * Gets/Sets the resource strings.\n *\n * @remarks\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IActionStripResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n public get resourceStrings(): IActionStripResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n /**\n * Hide or not the Action Strip based on if it is a menu.\n *\n * @hidden\n * @internal\n */\n public get hideOnRowLeave(): boolean {\n if (this.menu.items.length === 0) {\n return true;\n } else if (this.menu.items.length > 0) {\n if (this.menu.collapsed) {\n return true;\n } else {\n return false;\n }\n }\n return undefined!;\n }\n\n /**\n * Reference to the menu\n *\n * @hidden\n * @internal\n */\n @ViewChild('dropdown')\n public menu!: IgxDropDownComponent;\n\n /**\n * Getter for menu overlay settings\n *\n * @hidden\n * @internal\n */\n public menuOverlaySettings: OverlaySettings = { scrollStrategy: new CloseScrollStrategy() };\n\n private _destroyRef = inject(DestroyRef);\n /**\n * `hidden` and `context` are held in signals so that the reads in the `display` host binding\n * and in the action components' templates are tracked. Both are changed imperatively - from\n * `show`/`hide`, and from the grid while it is rendering (e.g. `viewDetachHandler` hiding the\n * strip as its row is detached) - and a plain field would leave those bindings stale, which\n * surfaces as `NG0100` in dev mode and as an out-of-date strip in a zoneless app: a component's\n * host binding is only re-evaluated when its parent view is refreshed, so marking this\n * component for check is not enough.\n */\n private _hidden = signal(true);\n private _context = signal<any>(undefined);\n private _resourceStrings: IActionStripResourceStrings = null!;\n private _defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN);\n private _originalParent!: HTMLElement;\n\n constructor() {\n onResourceChangeHandle(this._destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN, false);\n }, this);\n }\n\n /**\n * Menu Items list.\n *\n * @hidden\n * @internal\n */\n public get menuItems() {\n const actions: any[] = [];\n this.actionButtons.forEach(button => {\n if (button.asMenuItems) {\n const children = button.buttons;\n if (children) {\n children.toArray().forEach(x => actions.push(x));\n }\n }\n });\n return [... this._menuItems.toArray(), ...actions];\n }\n\n\n /**\n * Getter for the 'display' property of the current action strip\n */\n @HostBinding('style.display')\n private get display(): string {\n return this._hidden() ? 'none' : 'flex';\n }\n\n /**\n * Host `attr.class` binding.\n */\n @HostBinding('class.igx-action-strip')\n protected hostClass = 'igx-action-strip';\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterContentInit() {\n this.actionButtons.forEach(button => {\n button.strip = this;\n });\n this.actionButtons.changes.subscribe(() => {\n this.actionButtons.forEach(button => {\n button.strip = this;\n });\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterViewInit() {\n this.menu.selectionChanging.subscribe(($event) => {\n const newSelection = ($event.newSelection as any).elementRef.nativeElement;\n let allButtons: any[] = [];\n this.actionButtons.forEach(actionButtons => {\n if (actionButtons.asMenuItems) {\n allButtons = [...allButtons, ...actionButtons.buttons.toArray()];\n }\n });\n const button = allButtons.find(x => newSelection.contains(x.container.nativeElement));\n if (button) {\n button.actionClick.emit();\n }\n });\n this._originalParent = this._viewContainer.element.nativeElement?.parentElement;\n }\n\n /**\n * Showing the Action Strip and appending it the specified context element.\n *\n * @param context\n * @example\n * ```typescript\n * this.actionStrip.show(row);\n * ```\n */\n public show(context?: any): void {\n this.hidden = false;\n if (!context) {\n return;\n }\n // when shown for different context make sure the menu won't stay opened\n if (this.context !== context) {\n this.closeMenu();\n }\n this.context = context;\n if (this.context && this.context.element) {\n this.renderer.appendChild(context.element.nativeElement, this._viewContainer.element.nativeElement);\n }\n this.cdr.detectChanges();\n }\n\n /**\n * Hiding the Action Strip and removing it from its current context element.\n *\n * @example\n * ```typescript\n * this.actionStrip.hide();\n * ```\n */\n public hide(): void {\n this.hidden = true;\n this.closeMenu();\n if (this._originalParent) {\n // D.P. fix(elements) don't detach native DOM, instead move back. Might not matter for Angular, but Elements will destroy\n this.renderer.appendChild(this._originalParent, this._viewContainer.element.nativeElement);\n } else if (this.context && this.context.element) {\n this.renderer.removeChild(this.context.element.nativeElement, this._viewContainer.element.nativeElement);\n }\n }\n\n /** pin swapping w/ unpin resets the menuItems collection */\n protected trackMenuItem = trackByIdentity;\n\n /**\n * Close the menu if opened\n *\n * @hidden\n * @internal\n */\n private closeMenu(): void {\n if (this.menu && !this.menu.collapsed) {\n this.menu.close();\n }\n }\n}\n","<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n @if (menuItems.length > 0) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon family=\"default\" name=\"more_vert\"></igx-icon>\n </button>\n }\n <igx-drop-down #dropdown>\n @for (item of menuItems; track trackMenuItem(item)) {\n <igx-drop-down-item\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n }\n </igx-drop-down>\n</div>\n","import { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\nexport { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\n/* Action-strip outside of grid directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_ACTION_STRIP_DIRECTIVES = [\n IgxActionStripComponent,\n IgxActionStripMenuItemDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_ACTION_STRIP_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_ACTION_STRIP_DIRECTIVES\n ],\n exports: [\n ...IGX_ACTION_STRIP_DIRECTIVES\n ],\n})\nexport class IgxActionStripModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxActionStripComponent","i1.IgxActionStripMenuItemDirective"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-action-strip.mjs","sources":["../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.html","../../../projects/igniteui-angular/action-strip/src/action-strip/public_api.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.module.ts","../../../projects/igniteui-angular/action-strip/src/igniteui-angular-action-strip.ts"],"sourcesContent":["import {\n Component,\n Directive,\n HostBinding,\n Input,\n Renderer2,\n ViewContainerRef,\n ContentChildren,\n QueryList,\n ViewChild,\n TemplateRef,\n ChangeDetectorRef,\n AfterViewInit,\n ElementRef,\n booleanAttribute,\n inject,\n DestroyRef,\n AfterContentInit,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n signal\n} from '@angular/core';\n\n\nimport {\n ActionStripResourceStringsEN,\n CloseScrollStrategy,\n getCurrentResourceStrings,\n onResourceChangeHandle,\n IActionStripResourceStrings,\n IgxActionStripActionsToken,\n IgxActionStripToken,\n OverlaySettings\n} from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxToggleActionDirective } from 'igniteui-angular/directives';\nimport { IgxRippleDirective } from 'igniteui-angular/directives';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { trackByIdentity } from 'igniteui-angular/core';\nimport { IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective } from 'igniteui-angular/drop-down';\n\n@Directive({\n selector: '[igxActionStripMenuItem]',\n standalone: true\n})\nexport class IgxActionStripMenuItemDirective {\n public templateRef = inject<TemplateRef<any>>(TemplateRef);\n}\n\n/* blazorElement */\n/* jsonAPIManageItemInMarkup */\n/* jsonAPIManageCollectionInMarkup */\n/* wcElementTag: igc-action-strip */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: Grid */\n/* contentParent: TreeGrid */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/**\n * Action Strip provides templatable area for one or more actions.\n *\n * @igxModule IgxActionStripModule\n *\n * @igxTheme igx-action-strip-theme\n *\n * @igxKeywords action, strip, actionStrip, pinning, editing\n *\n * @igxGroup Data Entry & Display\n *\n * @igxParent IgxGridComponent, IgxHierarchicalGridComponent, IgxTreeGridComponent, IgxRowIslandComponent, *\n *\n * @remarks\n * The Ignite UI Action Strip is a container, overlaying its parent container,\n * and displaying action buttons with action applicable to the parent component the strip is instantiated or shown for.\n *\n * @example\n * ```html\n * <igx-action-strip #actionStrip>\n * <igx-icon (click)=\"doSomeAction()\"></igx-icon>\n * </igx-action-strip>\n */\n@Component({\n selector: 'igx-action-strip',\n templateUrl: 'action-strip.component.html',\n styleUrl: 'action-strip.component.css',\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n IgxIconButtonDirective,\n IgxRippleDirective,\n IgxToggleActionDirective,\n IgxDropDownItemNavigationDirective,\n IgxIconComponent,\n IgxDropDownComponent,\n IgxDropDownItemComponent\n ],\n changeDetection: ChangeDetectionStrategy.Eager,\n providers: [{ provide: IgxActionStripToken, useExisting: IgxActionStripComponent }]\n})\nexport class IgxActionStripComponent implements IgxActionStripToken, AfterViewInit, AfterContentInit {\n private _viewContainer = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n protected el = inject(ElementRef);\n /* blazorSuppress */\n public cdr = inject(ChangeDetectorRef);\n\n\n /* blazorSuppress */\n /**\n * Sets the context of an action strip.\n * The context should be an instance of a @Component, that has element property.\n * This element will be the placeholder of the action strip.\n *\n * @example\n * ```html\n * <igx-action-strip [context]=\"cell\"></igx-action-strip>\n * ```\n */\n @Input()\n public set context(value: any) {\n this._context.set(value);\n }\n\n public get context(): any {\n return this._context();\n }\n\n /**\n * Menu Items ContentChildren inside the Action Strip\n *\n * @hidden\n * @internal\n */\n @ContentChildren(IgxActionStripMenuItemDirective)\n public _menuItems!: QueryList<IgxActionStripMenuItemDirective>;\n\n\n /* blazorInclude */\n /* contentChildren */\n /* blazorTreatAsCollection */\n /* blazorCollectionName: GridActionsBaseDirectiveCollection */\n /**\n * ActionButton as ContentChildren inside the Action Strip\n *\n * @hidden\n * @internal\n */\n @ContentChildren(IgxActionStripActionsToken)\n public actionButtons!: QueryList<IgxActionStripActionsToken>;\n\n /**\n * Gets/Sets the visibility of the Action Strip.\n * Could be used to set if the Action Strip will be initially hidden.\n *\n * @example\n * ```html\n * <igx-action-strip [hidden]=\"false\">\n * ```\n */\n @Input({ transform: booleanAttribute })\n public set hidden(value: boolean) {\n this._hidden.set(value);\n }\n\n public get hidden(): boolean {\n return this._hidden();\n }\n\n\n /**\n * Gets/Sets the resource strings.\n *\n * @remarks\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IActionStripResourceStrings) {\n this._resourceStrings = value;\n this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);\n }\n\n public get resourceStrings(): IActionStripResourceStrings {\n return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;\n }\n\n /**\n * Hide or not the Action Strip based on if it is a menu.\n *\n * @hidden\n * @internal\n */\n public get hideOnRowLeave(): boolean {\n if (this.menu.items.length === 0) {\n return true;\n } else if (this.menu.items.length > 0) {\n if (this.menu.collapsed) {\n return true;\n } else {\n return false;\n }\n }\n return undefined!;\n }\n\n /**\n * Reference to the menu\n *\n * @hidden\n * @internal\n */\n @ViewChild('dropdown')\n public menu!: IgxDropDownComponent;\n\n /**\n * Getter for menu overlay settings\n *\n * @hidden\n * @internal\n */\n public menuOverlaySettings: OverlaySettings = { scrollStrategy: new CloseScrollStrategy() };\n\n private _destroyRef = inject(DestroyRef);\n /**\n * `hidden` and `context` are held in signals so that the reads in the `display` host binding\n * and in the action components' templates are tracked. Both are changed imperatively - from\n * `show`/`hide`, and from the grid while it is rendering (e.g. `viewDetachHandler` hiding the\n * strip as its row is detached) - and a plain field would leave those bindings stale, which\n * surfaces as `NG0100` in dev mode and as an out-of-date strip in a zoneless app: a component's\n * host binding is only re-evaluated when its parent view is refreshed, so marking this\n * component for check is not enough.\n */\n private _hidden = signal(true);\n private _context = signal<any>(undefined);\n private _resourceStrings: IActionStripResourceStrings = null!;\n private _customResourceStrings: IActionStripResourceStrings = null!;\n private _defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN);\n private _originalParent!: HTMLElement;\n\n constructor() {\n onResourceChangeHandle(this._destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN, false);\n this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null!;\n }, this);\n }\n\n /**\n * Menu Items list.\n *\n * @hidden\n * @internal\n */\n public get menuItems() {\n const actions: any[] = [];\n this.actionButtons.forEach(button => {\n if (button.asMenuItems) {\n const children = button.buttons;\n if (children) {\n children.toArray().forEach(x => actions.push(x));\n }\n }\n });\n return [... this._menuItems.toArray(), ...actions];\n }\n\n\n /**\n * Getter for the 'display' property of the current action strip\n */\n @HostBinding('style.display')\n private get display(): string {\n return this._hidden() ? 'none' : 'flex';\n }\n\n /**\n * Host `attr.class` binding.\n */\n @HostBinding('class.igx-action-strip')\n protected hostClass = 'igx-action-strip';\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterContentInit() {\n this.actionButtons.forEach(button => {\n button.strip = this;\n });\n this.actionButtons.changes.subscribe(() => {\n this.actionButtons.forEach(button => {\n button.strip = this;\n });\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterViewInit() {\n this.menu.selectionChanging.subscribe(($event) => {\n const newSelection = ($event.newSelection as any).elementRef.nativeElement;\n let allButtons: any[] = [];\n this.actionButtons.forEach(actionButtons => {\n if (actionButtons.asMenuItems) {\n allButtons = [...allButtons, ...actionButtons.buttons.toArray()];\n }\n });\n const button = allButtons.find(x => newSelection.contains(x.container.nativeElement));\n if (button) {\n button.actionClick.emit();\n }\n });\n this._originalParent = this._viewContainer.element.nativeElement?.parentElement;\n }\n\n /**\n * Showing the Action Strip and appending it the specified context element.\n *\n * @param context\n * @example\n * ```typescript\n * this.actionStrip.show(row);\n * ```\n */\n public show(context?: any): void {\n this.hidden = false;\n if (!context) {\n return;\n }\n // when shown for different context make sure the menu won't stay opened\n if (this.context !== context) {\n this.closeMenu();\n }\n this.context = context;\n if (this.context && this.context.element) {\n this.renderer.appendChild(context.element.nativeElement, this._viewContainer.element.nativeElement);\n }\n this.cdr.detectChanges();\n }\n\n /**\n * Hiding the Action Strip and removing it from its current context element.\n *\n * @example\n * ```typescript\n * this.actionStrip.hide();\n * ```\n */\n public hide(): void {\n this.hidden = true;\n this.closeMenu();\n if (this._originalParent) {\n // D.P. fix(elements) don't detach native DOM, instead move back. Might not matter for Angular, but Elements will destroy\n this.renderer.appendChild(this._originalParent, this._viewContainer.element.nativeElement);\n } else if (this.context && this.context.element) {\n this.renderer.removeChild(this.context.element.nativeElement, this._viewContainer.element.nativeElement);\n }\n }\n\n /** pin swapping w/ unpin resets the menuItems collection */\n protected trackMenuItem = trackByIdentity;\n\n /**\n * Close the menu if opened\n *\n * @hidden\n * @internal\n */\n private closeMenu(): void {\n if (this.menu && !this.menu.collapsed) {\n this.menu.close();\n }\n }\n}\n","<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n @if (menuItems.length > 0) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon family=\"default\" name=\"more_vert\"></igx-icon>\n </button>\n }\n <igx-drop-down #dropdown>\n @for (item of menuItems; track trackMenuItem(item)) {\n <igx-drop-down-item\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n }\n </igx-drop-down>\n</div>\n","import { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\nexport { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\n/* Action-strip outside of grid directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_ACTION_STRIP_DIRECTIVES = [\n IgxActionStripComponent,\n IgxActionStripMenuItemDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_ACTION_STRIP_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_ACTION_STRIP_DIRECTIVES\n ],\n exports: [\n ...IGX_ACTION_STRIP_DIRECTIVES\n ],\n})\nexport class IgxActionStripModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxActionStripComponent","i1.IgxActionStripMenuItemDirective"],"mappings":"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"}
@@ -68,10 +68,11 @@ class IgxBannerComponent {
68
68
  * By default it uses EN resources.
69
69
  */
70
70
  set resourceStrings(value) {
71
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
71
+ this._resourceStrings = value;
72
+ this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);
72
73
  }
73
74
  get resourceStrings() {
74
- return this._resourceStrings || this._defaultResourceStrings;
75
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
75
76
  }
76
77
  /**
77
78
  * Gets/Sets whether the banner is expanded (visible) or collapsed (hidden).
@@ -186,9 +187,11 @@ class IgxBannerComponent {
186
187
  this._expanded = false;
187
188
  this._shouldFireEvent = false;
188
189
  this._resourceStrings = null;
190
+ this._customResourceStrings = null;
189
191
  this._defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN);
190
192
  onResourceChangeHandle(this._destroyRef, () => {
191
193
  this._defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN, false);
194
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
192
195
  }, this);
193
196
  }
194
197
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-banner.mjs","sources":["../../../projects/igniteui-angular/banner/src/banner/banner.directives.ts","../../../projects/igniteui-angular/banner/src/banner/banner.component.ts","../../../projects/igniteui-angular/banner/src/banner/banner.component.html","../../../projects/igniteui-angular/banner/src/banner/public_api.ts","../../../projects/igniteui-angular/banner/src/banner/banner.module.ts","../../../projects/igniteui-angular/banner/src/igniteui-angular-banner.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'igx-banner-actions',\n standalone: true\n})\nexport class IgxBannerActionsDirective { }\n","import {\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n ViewChild,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxButtonDirective, IgxRippleDirective } from 'igniteui-angular/directives';\nimport { IgxBannerActionsDirective } from './banner.directives';\nimport {\n CancelableEventArgs,\n IBaseEventArgs,\n BannerResourceStringsEN,\n IBannerResourceStrings,\n getCurrentResourceStrings,\n onResourceChangeHandle,\n IToggleView\n} from 'igniteui-angular/core';\nimport { IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, ToggleAnimationSettings } from 'igniteui-angular/expansion-panel';\n\nexport interface BannerEventArgs extends IBaseEventArgs {\n event?: Event;\n}\n\nexport interface BannerCancelEventArgs extends BannerEventArgs, CancelableEventArgs {\n}\n/**\n * **Ignite UI for Angular Banner** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/banner.html)\n *\n * The Ignite UI Banner provides a highly template-able and easy to use banner that can be shown in your application.\n *\n * Usage:\n *\n * ```html\n * <igx-banner #banner>\n * Our privacy settings have changed.\n * <igx-banner-actions>\n * <button type=\"button\" igxButton=\"contained\">Read More</button>\n * <button type=\"button\" igxButton=\"contained\">Accept and Continue</button>\n * </igx-banner-actions>\n * </igx-banner>\n * ```\n */\n@Component({\n selector: 'igx-banner',\n templateUrl: 'banner.component.html',\n styleUrl: 'banner.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxExpansionPanelComponent, IgxExpansionPanelBodyComponent, IgxButtonDirective, IgxRippleDirective]\n})\nexport class IgxBannerComponent implements IToggleView {\n public elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * @hidden\n */\n @ContentChild(IgxIconComponent)\n public bannerIcon!: IgxIconComponent;\n\n /**\n * Fires after the banner shows up\n * ```typescript\n * public handleOpened(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (opened)=\"handleOpened($event)\"></igx-banner>\n * ```\n */\n @Output()\n public opened = new EventEmitter<BannerEventArgs>();\n\n /**\n * Fires before the banner shows up\n * ```typescript\n * public handleOpening(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (opening)=\"handleOpening($event)\"></igx-banner>\n * ```\n */\n @Output()\n public opening = new EventEmitter<BannerCancelEventArgs>();\n\n /**\n * Fires after the banner hides\n * ```typescript\n * public handleClosed(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (closed)=\"handleClosed($event)\"></igx-banner>\n * ```\n */\n @Output()\n public closed = new EventEmitter<BannerEventArgs>();\n\n /**\n * Fires before the banner hides\n * ```typescript\n * public handleClosing(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (closing)=\"handleClosing($event)\"></igx-banner>\n * ```\n */\n @Output()\n public closing = new EventEmitter<BannerCancelEventArgs>();\n\n /** @hidden */\n public get useDefaultTemplate(): boolean {\n return !this._bannerActionTemplate;\n }\n\n /**\n * Set the animation settings used by the banner open/close methods\n * ```typescript\n * import { slideInLeft, slideOutRight } from 'igniteui-angular';\n * ...\n * banner.animationSettings: ToggleAnimationSettings = { openAnimation: slideInLeft, closeAnimation: slideOutRight };\n * ```\n */\n public set animationSettings(settings: ToggleAnimationSettings) {\n this._animationSettings = settings;\n }\n\n /**\n * Get the animation settings used by the banner open/close methods\n * ```typescript\n * let currentAnimations: ToggleAnimationSettings = banner.animationSettings\n * ```\n */\n @Input()\n public get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings ? this._animationSettings : this._expansionPanel.animationSettings;\n }\n\n /**\n * Gets/Sets the resource strings.\n *\n * @remarks\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IBannerResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n public get resourceStrings(): IBannerResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n /**\n * Gets/Sets whether the banner is expanded (visible) or collapsed (hidden).\n * Defaults to `false`.\n * Setting to `true` opens the banner, while `false` closes it.\n *\n * @example\n * // Expand the banner\n * banner.expanded = true;\n *\n * @example\n * // Collapse the banner\n * banner.expanded = false;\n *\n * @example\n * // Check if the banner is expanded\n * const isExpanded = banner.expanded;\n */\n @Input()\n public get expanded(): boolean {\n return this._expanded;\n }\n\n public set expanded(value: boolean) {\n if (value === this._expanded) {\n return;\n }\n\n this._expanded = value;\n this._shouldFireEvent = true;\n\n if (value) {\n this._expansionPanel.open();\n } else {\n this._expansionPanel.close();\n }\n }\n\n /**\n * Gets whether the banner is collapsed.\n *\n * ```typescript\n * const isCollapsed: boolean = banner.collapsed;\n * ```\n */\n public get collapsed(): boolean {\n return this._expansionPanel.collapsed;\n }\n\n /**\n * Returns the native element of the banner component\n * ```typescript\n * const myBannerElement: HTMLElement = banner.element;\n * ```\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n @HostBinding('class')\n public cssClass = 'igx-banner-host';\n\n /**\n * @hidden\n */\n @HostBinding('style.display')\n public get displayStyle(): string {\n return this.collapsed ? '' : 'block';\n }\n\n @ViewChild('expansionPanel', { static: true })\n private _expansionPanel!: IgxExpansionPanelComponent;\n\n @ContentChild(IgxBannerActionsDirective)\n private _bannerActionTemplate!: IgxBannerActionsDirective;\n\n private _destroyRef = inject(DestroyRef);\n private _expanded: boolean = false;\n private _shouldFireEvent: boolean = false;\n private _bannerEvent!: BannerEventArgs;\n private _animationSettings!: ToggleAnimationSettings;\n private _resourceStrings: IBannerResourceStrings = null!;\n private _defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN);\n\n constructor() {\n onResourceChangeHandle(this._destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN, false);\n }, this);\n }\n\n /**\n * Opens the banner\n *\n * ```typescript\n * myBanner.open();\n * ```\n *\n * ```html\n * <igx-banner #banner>\n * ...\n * </igx-banner>\n * <button type=\"button\" (click)=\"banner.open()\">Open Banner</button>\n * ```\n */\n public open(event?: MouseEvent) {\n this._bannerEvent = { owner: this, event };\n const openingArgs: BannerCancelEventArgs = {\n owner: this,\n event,\n cancel: false\n };\n this.opening.emit(openingArgs);\n if (openingArgs.cancel) {\n return;\n }\n this._expansionPanel.open(event);\n this._expanded = true;\n this._shouldFireEvent = false;\n }\n\n /**\n * Closes the banner\n *\n * ```typescript\n * myBanner.close();\n * ```\n *\n * ```html\n * <igx-banner #banner>\n * ...\n * </igx-banner>\n * <button type=\"button\" (click)=\"banner.close()\">Close Banner</button>\n * ```\n */\n public close(event?: MouseEvent) {\n this._bannerEvent = { owner: this, event};\n const closingArgs: BannerCancelEventArgs = {\n owner: this,\n event,\n cancel: false\n };\n this.closing.emit(closingArgs);\n if (closingArgs.cancel) {\n return;\n }\n this._expansionPanel.close(event);\n this._expanded = false;\n this._shouldFireEvent = false;\n }\n\n /**\n * Toggles the banner\n *\n * ```typescript\n * myBanner.toggle();\n * ```\n *\n * ```html\n * <igx-banner #banner>\n * ...\n * </igx-banner>\n * <button type=\"button\" (click)=\"banner.toggle()\">Toggle Banner</button>\n * ```\n */\n public toggle(event?: MouseEvent) {\n if (this.collapsed) {\n this.open(event);\n } else {\n this.close(event);\n }\n }\n\n /** @hidden */\n public onExpansionPanelOpen() {\n if (this._shouldFireEvent) {\n return;\n }\n this.opened.emit(this._bannerEvent);\n }\n\n /** @hidden */\n public onExpansionPanelClose() {\n if (this._shouldFireEvent) {\n return;\n }\n this.closed.emit(this._bannerEvent);\n }\n}\n","<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" role=\"status\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n @if (bannerIcon) {\n <div class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n }\n <span class=\"igx-banner__text\" data-no-typography>\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n @if (useDefaultTemplate) {\n <button type=\"button\" igxButton=\"flat\" igxRipple (click)=\"close($event)\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n } @else {\n <ng-content select=\"igx-banner-actions\"></ng-content>\n }\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n","import { IgxBannerComponent } from './banner.component';\nimport { IgxBannerActionsDirective } from './banner.directives';\n\nexport * from './banner.component';\nexport * from './banner.directives';\n\n/* Banner directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_BANNER_DIRECTIVES = [\n IgxBannerComponent,\n IgxBannerActionsDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_BANNER_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: [...IGX_BANNER_DIRECTIVES],\n exports: [...IGX_BANNER_DIRECTIVES]\n})\nexport class IgxBannerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxBannerComponent","i2.IgxBannerActionsDirective"],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-banner.mjs","sources":["../../../projects/igniteui-angular/banner/src/banner/banner.directives.ts","../../../projects/igniteui-angular/banner/src/banner/banner.component.ts","../../../projects/igniteui-angular/banner/src/banner/banner.component.html","../../../projects/igniteui-angular/banner/src/banner/public_api.ts","../../../projects/igniteui-angular/banner/src/banner/banner.module.ts","../../../projects/igniteui-angular/banner/src/igniteui-angular-banner.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'igx-banner-actions',\n standalone: true\n})\nexport class IgxBannerActionsDirective { }\n","import {\n Component,\n ContentChild,\n DestroyRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n inject,\n Input,\n Output,\n ViewChild,\n ChangeDetectionStrategy,\n ViewEncapsulation\n} from '@angular/core';\n\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxButtonDirective, IgxRippleDirective } from 'igniteui-angular/directives';\nimport { IgxBannerActionsDirective } from './banner.directives';\nimport {\n CancelableEventArgs,\n IBaseEventArgs,\n BannerResourceStringsEN,\n IBannerResourceStrings,\n getCurrentResourceStrings,\n onResourceChangeHandle,\n IToggleView\n} from 'igniteui-angular/core';\nimport { IgxExpansionPanelBodyComponent, IgxExpansionPanelComponent, ToggleAnimationSettings } from 'igniteui-angular/expansion-panel';\n\nexport interface BannerEventArgs extends IBaseEventArgs {\n event?: Event;\n}\n\nexport interface BannerCancelEventArgs extends BannerEventArgs, CancelableEventArgs {\n}\n/**\n * **Ignite UI for Angular Banner** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/banner.html)\n *\n * The Ignite UI Banner provides a highly template-able and easy to use banner that can be shown in your application.\n *\n * Usage:\n *\n * ```html\n * <igx-banner #banner>\n * Our privacy settings have changed.\n * <igx-banner-actions>\n * <button type=\"button\" igxButton=\"contained\">Read More</button>\n * <button type=\"button\" igxButton=\"contained\">Accept and Continue</button>\n * </igx-banner-actions>\n * </igx-banner>\n * ```\n */\n@Component({\n selector: 'igx-banner',\n templateUrl: 'banner.component.html',\n styleUrl: 'banner.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxExpansionPanelComponent, IgxExpansionPanelBodyComponent, IgxButtonDirective, IgxRippleDirective]\n})\nexport class IgxBannerComponent implements IToggleView {\n public elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /**\n * @hidden\n */\n @ContentChild(IgxIconComponent)\n public bannerIcon!: IgxIconComponent;\n\n /**\n * Fires after the banner shows up\n * ```typescript\n * public handleOpened(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (opened)=\"handleOpened($event)\"></igx-banner>\n * ```\n */\n @Output()\n public opened = new EventEmitter<BannerEventArgs>();\n\n /**\n * Fires before the banner shows up\n * ```typescript\n * public handleOpening(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (opening)=\"handleOpening($event)\"></igx-banner>\n * ```\n */\n @Output()\n public opening = new EventEmitter<BannerCancelEventArgs>();\n\n /**\n * Fires after the banner hides\n * ```typescript\n * public handleClosed(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (closed)=\"handleClosed($event)\"></igx-banner>\n * ```\n */\n @Output()\n public closed = new EventEmitter<BannerEventArgs>();\n\n /**\n * Fires before the banner hides\n * ```typescript\n * public handleClosing(event) {\n * ...\n * }\n * ```\n * ```html\n * <igx-banner (closing)=\"handleClosing($event)\"></igx-banner>\n * ```\n */\n @Output()\n public closing = new EventEmitter<BannerCancelEventArgs>();\n\n /** @hidden */\n public get useDefaultTemplate(): boolean {\n return !this._bannerActionTemplate;\n }\n\n /**\n * Set the animation settings used by the banner open/close methods\n * ```typescript\n * import { slideInLeft, slideOutRight } from 'igniteui-angular';\n * ...\n * banner.animationSettings: ToggleAnimationSettings = { openAnimation: slideInLeft, closeAnimation: slideOutRight };\n * ```\n */\n public set animationSettings(settings: ToggleAnimationSettings) {\n this._animationSettings = settings;\n }\n\n /**\n * Get the animation settings used by the banner open/close methods\n * ```typescript\n * let currentAnimations: ToggleAnimationSettings = banner.animationSettings\n * ```\n */\n @Input()\n public get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings ? this._animationSettings : this._expansionPanel.animationSettings;\n }\n\n /**\n * Gets/Sets the resource strings.\n *\n * @remarks\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IBannerResourceStrings) {\n this._resourceStrings = value;\n this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);\n }\n\n public get resourceStrings(): IBannerResourceStrings {\n return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;\n }\n\n /**\n * Gets/Sets whether the banner is expanded (visible) or collapsed (hidden).\n * Defaults to `false`.\n * Setting to `true` opens the banner, while `false` closes it.\n *\n * @example\n * // Expand the banner\n * banner.expanded = true;\n *\n * @example\n * // Collapse the banner\n * banner.expanded = false;\n *\n * @example\n * // Check if the banner is expanded\n * const isExpanded = banner.expanded;\n */\n @Input()\n public get expanded(): boolean {\n return this._expanded;\n }\n\n public set expanded(value: boolean) {\n if (value === this._expanded) {\n return;\n }\n\n this._expanded = value;\n this._shouldFireEvent = true;\n\n if (value) {\n this._expansionPanel.open();\n } else {\n this._expansionPanel.close();\n }\n }\n\n /**\n * Gets whether the banner is collapsed.\n *\n * ```typescript\n * const isCollapsed: boolean = banner.collapsed;\n * ```\n */\n public get collapsed(): boolean {\n return this._expansionPanel.collapsed;\n }\n\n /**\n * Returns the native element of the banner component\n * ```typescript\n * const myBannerElement: HTMLElement = banner.element;\n * ```\n */\n public get element() {\n return this.elementRef.nativeElement;\n }\n\n @HostBinding('class')\n public cssClass = 'igx-banner-host';\n\n /**\n * @hidden\n */\n @HostBinding('style.display')\n public get displayStyle(): string {\n return this.collapsed ? '' : 'block';\n }\n\n @ViewChild('expansionPanel', { static: true })\n private _expansionPanel!: IgxExpansionPanelComponent;\n\n @ContentChild(IgxBannerActionsDirective)\n private _bannerActionTemplate!: IgxBannerActionsDirective;\n\n private _destroyRef = inject(DestroyRef);\n private _expanded: boolean = false;\n private _shouldFireEvent: boolean = false;\n private _bannerEvent!: BannerEventArgs;\n private _animationSettings!: ToggleAnimationSettings;\n private _resourceStrings: IBannerResourceStrings = null!;\n private _customResourceStrings: IBannerResourceStrings = null!;\n private _defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN);\n\n constructor() {\n onResourceChangeHandle(this._destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN, false);\n this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null!;\n }, this);\n }\n\n /**\n * Opens the banner\n *\n * ```typescript\n * myBanner.open();\n * ```\n *\n * ```html\n * <igx-banner #banner>\n * ...\n * </igx-banner>\n * <button type=\"button\" (click)=\"banner.open()\">Open Banner</button>\n * ```\n */\n public open(event?: MouseEvent) {\n this._bannerEvent = { owner: this, event };\n const openingArgs: BannerCancelEventArgs = {\n owner: this,\n event,\n cancel: false\n };\n this.opening.emit(openingArgs);\n if (openingArgs.cancel) {\n return;\n }\n this._expansionPanel.open(event);\n this._expanded = true;\n this._shouldFireEvent = false;\n }\n\n /**\n * Closes the banner\n *\n * ```typescript\n * myBanner.close();\n * ```\n *\n * ```html\n * <igx-banner #banner>\n * ...\n * </igx-banner>\n * <button type=\"button\" (click)=\"banner.close()\">Close Banner</button>\n * ```\n */\n public close(event?: MouseEvent) {\n this._bannerEvent = { owner: this, event};\n const closingArgs: BannerCancelEventArgs = {\n owner: this,\n event,\n cancel: false\n };\n this.closing.emit(closingArgs);\n if (closingArgs.cancel) {\n return;\n }\n this._expansionPanel.close(event);\n this._expanded = false;\n this._shouldFireEvent = false;\n }\n\n /**\n * Toggles the banner\n *\n * ```typescript\n * myBanner.toggle();\n * ```\n *\n * ```html\n * <igx-banner #banner>\n * ...\n * </igx-banner>\n * <button type=\"button\" (click)=\"banner.toggle()\">Toggle Banner</button>\n * ```\n */\n public toggle(event?: MouseEvent) {\n if (this.collapsed) {\n this.open(event);\n } else {\n this.close(event);\n }\n }\n\n /** @hidden */\n public onExpansionPanelOpen() {\n if (this._shouldFireEvent) {\n return;\n }\n this.opened.emit(this._bannerEvent);\n }\n\n /** @hidden */\n public onExpansionPanelClose() {\n if (this._shouldFireEvent) {\n return;\n }\n this.closed.emit(this._bannerEvent);\n }\n}\n","<igx-expansion-panel #expansionPanel [animationSettings]=\"animationSettings\" (contentCollapsed)=\"onExpansionPanelClose()\" (contentExpanded)=\"onExpansionPanelOpen()\"\n [collapsed]=\"collapsed\" role=\"status\" aria-live=\"polite\" [attr.aria-hidden]=\"collapsed\">\n <igx-expansion-panel-body>\n <div class=\"igx-banner\">\n <div class=\"igx-banner__message\">\n @if (bannerIcon) {\n <div class=\"igx-banner__illustration\">\n <ng-content select=\"igx-icon\"></ng-content>\n </div>\n }\n <span class=\"igx-banner__text\" data-no-typography>\n <ng-content></ng-content>\n </span>\n </div>\n <div class=\"igx-banner__actions\">\n @if (useDefaultTemplate) {\n <button type=\"button\" igxButton=\"flat\" igxRipple (click)=\"close($event)\">\n {{ resourceStrings.igx_banner_button_dismiss }}\n </button>\n } @else {\n <ng-content select=\"igx-banner-actions\"></ng-content>\n }\n </div>\n </div>\n </igx-expansion-panel-body>\n</igx-expansion-panel>\n","import { IgxBannerComponent } from './banner.component';\nimport { IgxBannerActionsDirective } from './banner.directives';\n\nexport * from './banner.component';\nexport * from './banner.directives';\n\n/* Banner directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_BANNER_DIRECTIVES = [\n IgxBannerComponent,\n IgxBannerActionsDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_BANNER_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: [...IGX_BANNER_DIRECTIVES],\n exports: [...IGX_BANNER_DIRECTIVES]\n})\nexport class IgxBannerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxBannerComponent","i2.IgxBannerActionsDirective"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { TitleCasePipe, NgTemplateOutlet } from '@angular/common';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
5
  import { Subject, fromEvent, interval, noop } from 'rxjs';
6
6
  import { debounce, takeUntil, tap, switchMap, skipLast } from 'rxjs/operators';
7
- import { CalendarDay, PlatformUtil, isDate, getNextActiveDate, isDateInRanges, DateRangeType, onResourceChangeHandle, calendarRange, areSameMonth, isPreviousMonth, isNextMonth, getCurrentResourceStrings, CalendarResourceStringsEN, getYearRange, DateTimeUtil, I18N_FORMATTER, isEqual, DEFAULT_LOCALE, getClosestActiveDate, getPreviousActiveDate, generateMonth, intoChunks, formatToParts, IgxDateFormatterPipe } from 'igniteui-angular/core';
7
+ import { CalendarDay, PlatformUtil, isDate, getNextActiveDate, isDateInRanges, DateRangeType, onResourceChangeHandle, calendarRange, areSameMonth, isPreviousMonth, isNextMonth, getYearRange, DateTimeUtil, I18N_FORMATTER, getCurrentResourceStrings, CalendarResourceStringsEN, isEqual, DEFAULT_LOCALE, getClosestActiveDate, getPreviousActiveDate, generateMonth, intoChunks, formatToParts, IgxDateFormatterPipe } from 'igniteui-angular/core';
8
8
  import { getDateFormatter, getCurrentI18n } from 'igniteui-i18n-core';
9
9
  import { EventManager } from '@angular/platform-browser';
10
10
  import { IgxIconComponent } from 'igniteui-angular/icon';
@@ -1234,13 +1234,14 @@ class IgxCalendarBaseDirective {
1234
1234
  * By default it uses EN resources.
1235
1235
  */
1236
1236
  set resourceStrings(value) {
1237
- this._resourceStrings = Object.assign({}, this._resourceStrings, value);
1237
+ this._resourceStrings = value;
1238
+ this._customResourceStrings = Object.assign({}, this._defaultResourceStrings, this._resourceStrings);
1238
1239
  }
1239
1240
  /**
1240
1241
  * An accessor that returns the resource strings.
1241
1242
  */
1242
1243
  get resourceStrings() {
1243
- return this._resourceStrings || this._defaultResourceStrings;
1244
+ return this._resourceStrings ? this._customResourceStrings : this._defaultResourceStrings;
1244
1245
  }
1245
1246
  /**
1246
1247
  * Gets the start day of the week.
@@ -1272,7 +1273,7 @@ class IgxCalendarBaseDirective {
1272
1273
  this._locale = this.i18nFormatter.verifyLocale(value);
1273
1274
  // changing locale runtime needs to update the `weekStart` too
1274
1275
  this._localeWeekStart = this.i18nFormatter.getLocaleFirstDayOfWeek(this._locale);
1275
- this._defaultResourceStrings = getCurrentResourceStrings(CalendarResourceStringsEN, false, this._locale);
1276
+ this.updateResources(this._locale);
1276
1277
  }
1277
1278
  /**
1278
1279
  * Gets the date format options of the views.
@@ -1667,6 +1668,7 @@ class IgxCalendarBaseDirective {
1667
1668
  */
1668
1669
  this._selection = CalendarSelection.SINGLE;
1669
1670
  this._resourceStrings = null;
1671
+ this._customResourceStrings = null;
1670
1672
  this._defaultResourceStrings = getCurrentResourceStrings(CalendarResourceStringsEN);
1671
1673
  /**
1672
1674
  * @hidden
@@ -1989,10 +1991,15 @@ class IgxCalendarBaseDirective {
1989
1991
  onResourceChange(args) {
1990
1992
  this._defaultLocale = args.detail.newLocale;
1991
1993
  if (!this._locale) {
1992
- this._defaultResourceStrings = getCurrentResourceStrings(CalendarResourceStringsEN, false);
1994
+ // Avoid unnecessary fetch of resources, since they should be already retrieved when setting custom locale.
1995
+ this.updateResources();
1993
1996
  }
1994
1997
  this._localeWeekStart = this.i18nFormatter.getLocaleFirstDayOfWeek(this.locale);
1995
1998
  }
1999
+ updateResources(locale) {
2000
+ this._defaultResourceStrings = getCurrentResourceStrings(CalendarResourceStringsEN, false, locale);
2001
+ this._customResourceStrings = this._resourceStrings ? Object.assign({}, this._defaultResourceStrings, this._resourceStrings) : null;
2002
+ }
1996
2003
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxCalendarBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1997
2004
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "22.1.1", type: IgxCalendarBaseDirective, isStandalone: true, selector: "[igxCalendarBase]", inputs: { hideOutsideDays: ["hideOutsideDays", "hideOutsideDays", booleanAttribute], resourceStrings: "resourceStrings", weekStart: "weekStart", locale: "locale", formatOptions: "formatOptions", formatViews: "formatViews", activeView: "activeView", selection: "selection", viewDate: "viewDate", disabledDates: "disabledDates", specialDates: "specialDates", value: "value" }, outputs: { selected: "selected", viewDateChanged: "viewDateChanged", activeViewChanged: "activeViewChanged" }, host: { listeners: { "pointerdown": "onPointerdown($event)" } }, providers: [KeyboardNavigationService], viewQueries: [{ propertyName: "yearsBtns", predicate: ["yearsBtn"], descendants: true }], ngImport: i0 }); }
1998
2005
  }