igniteui-angular 22.1.0-beta.5 → 22.1.0-beta.7

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 (135) hide show
  1. package/fesm2022/igniteui-angular-accordion.mjs +4 -4
  2. package/fesm2022/igniteui-angular-accordion.mjs.map +1 -1
  3. package/fesm2022/igniteui-angular-action-strip.mjs +0 -1
  4. package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
  5. package/fesm2022/igniteui-angular-avatar.mjs.map +1 -1
  6. package/fesm2022/igniteui-angular-badge.mjs +0 -1
  7. package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
  8. package/fesm2022/igniteui-angular-banner.mjs +2 -2
  9. package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
  10. package/fesm2022/igniteui-angular-button-group.mjs +2 -2
  11. package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
  12. package/fesm2022/igniteui-angular-calendar.mjs +4 -5
  13. package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
  14. package/fesm2022/igniteui-angular-card.mjs.map +1 -1
  15. package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
  16. package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
  17. package/fesm2022/igniteui-angular-combo.mjs +17 -6
  18. package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
  19. package/fesm2022/igniteui-angular-core.mjs +16 -337
  20. package/fesm2022/igniteui-angular-core.mjs.map +1 -1
  21. package/fesm2022/igniteui-angular-date-picker.mjs +12 -14
  22. package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
  23. package/fesm2022/igniteui-angular-dialog.mjs +1 -1
  24. package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
  25. package/fesm2022/igniteui-angular-directives.mjs +50 -47
  26. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  27. package/fesm2022/igniteui-angular-drop-down.mjs +3 -2
  28. package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
  29. package/fesm2022/igniteui-angular-expansion-panel.mjs +23 -12
  30. package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
  31. package/fesm2022/igniteui-angular-grids-core.mjs +501 -207
  32. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  33. package/fesm2022/igniteui-angular-grids-grid.mjs +116 -95
  34. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  35. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +15 -19
  36. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  37. package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
  38. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +75 -153
  39. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  40. package/fesm2022/igniteui-angular-grids-tree-grid.mjs +28 -35
  41. package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
  42. package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
  43. package/fesm2022/igniteui-angular-input-group.mjs +1 -1
  44. package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
  45. package/fesm2022/igniteui-angular-list.mjs.map +1 -1
  46. package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
  47. package/fesm2022/igniteui-angular-navigation-drawer.mjs +2 -3
  48. package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
  49. package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
  50. package/fesm2022/igniteui-angular-progressbar.mjs +5 -2
  51. package/fesm2022/igniteui-angular-progressbar.mjs.map +1 -1
  52. package/fesm2022/igniteui-angular-query-builder.mjs +18 -19
  53. package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
  54. package/fesm2022/igniteui-angular-radio.mjs +1 -1
  55. package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
  56. package/fesm2022/igniteui-angular-select.mjs.map +1 -1
  57. package/fesm2022/igniteui-angular-simple-combo.mjs +10 -7
  58. package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
  59. package/fesm2022/igniteui-angular-slider.mjs +3 -3
  60. package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
  61. package/fesm2022/igniteui-angular-splitter.mjs +1 -1
  62. package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
  63. package/fesm2022/igniteui-angular-stepper.mjs +1 -1
  64. package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
  65. package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
  66. package/fesm2022/igniteui-angular-time-picker.mjs +3 -6
  67. package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
  68. package/fesm2022/igniteui-angular-tree.mjs +8 -10
  69. package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
  70. package/lib/grids/core/src/filtering/excel-style/themes/_derived.scss +3 -2
  71. package/migrations/migration-collection.json +0 -7
  72. package/package.json +1 -1
  73. package/styles/igniteui-angular-dark.css +1 -1
  74. package/styles/igniteui-angular.css +1 -1
  75. package/styles/igniteui-bootstrap-dark.css +1 -1
  76. package/styles/igniteui-bootstrap-light.css +1 -1
  77. package/styles/igniteui-dark-green.css +1 -1
  78. package/styles/igniteui-fluent-dark-excel.css +1 -1
  79. package/styles/igniteui-fluent-dark-word.css +1 -1
  80. package/styles/igniteui-fluent-dark.css +1 -1
  81. package/styles/igniteui-fluent-light-excel.css +1 -1
  82. package/styles/igniteui-fluent-light-word.css +1 -1
  83. package/styles/igniteui-fluent-light.css +1 -1
  84. package/styles/igniteui-indigo-dark.css +1 -1
  85. package/styles/igniteui-indigo-light.css +1 -1
  86. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  87. package/styles/maps/igniteui-angular.css.map +1 -1
  88. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  89. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  90. package/styles/maps/igniteui-dark-green.css.map +1 -1
  91. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  92. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  93. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  94. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  95. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  96. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  97. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  98. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  99. package/types/igniteui-angular-avatar.d.ts +1 -1
  100. package/types/igniteui-angular-banner.d.ts +3 -3
  101. package/types/igniteui-angular-calendar.d.ts +9 -9
  102. package/types/igniteui-angular-card.d.ts +1 -1
  103. package/types/igniteui-angular-carousel.d.ts +9 -9
  104. package/types/igniteui-angular-chat.d.ts +1 -1
  105. package/types/igniteui-angular-chips.d.ts +5 -5
  106. package/types/igniteui-angular-combo.d.ts +17 -13
  107. package/types/igniteui-angular-core.d.ts +200 -495
  108. package/types/igniteui-angular-date-picker.d.ts +3 -3
  109. package/types/igniteui-angular-dialog.d.ts +4 -4
  110. package/types/igniteui-angular-directives.d.ts +60 -59
  111. package/types/igniteui-angular-drop-down.d.ts +16 -16
  112. package/types/igniteui-angular-expansion-panel.d.ts +6 -6
  113. package/types/igniteui-angular-grids-core.d.ts +1053 -791
  114. package/types/igniteui-angular-grids-grid.d.ts +104 -267
  115. package/types/igniteui-angular-grids-hierarchical-grid.d.ts +68 -547
  116. package/types/igniteui-angular-grids-lite.d.ts +7 -7
  117. package/types/igniteui-angular-grids-pivot-grid.d.ts +94 -129
  118. package/types/igniteui-angular-grids-tree-grid.d.ts +5 -51
  119. package/types/igniteui-angular-icon.d.ts +2 -2
  120. package/types/igniteui-angular-input-group.d.ts +4 -4
  121. package/types/igniteui-angular-list.d.ts +4 -4
  122. package/types/igniteui-angular-navigation-drawer.d.ts +3 -3
  123. package/types/igniteui-angular-progressbar.d.ts +1 -0
  124. package/types/igniteui-angular-query-builder.d.ts +9 -9
  125. package/types/igniteui-angular-radio.d.ts +1 -1
  126. package/types/igniteui-angular-select.d.ts +5 -5
  127. package/types/igniteui-angular-simple-combo.d.ts +2 -2
  128. package/types/igniteui-angular-slider.d.ts +4 -4
  129. package/types/igniteui-angular-splitter.d.ts +3 -3
  130. package/types/igniteui-angular-time-picker.d.ts +8 -8
  131. package/types/igniteui-angular-tree.d.ts +8 -8
  132. package/migrations/update-22_1_0_import-migration/index.d.ts +0 -2
  133. package/migrations/update-22_1_0_import-migration/index.js +0 -200
  134. package/migrations/update-22_1_0_import-migration/index.spec.d.ts +0 -1
  135. package/migrations/update-22_1_0_import-migration/index.spec.js +0 -132
@@ -266,17 +266,17 @@ class IgxAccordionComponent {
266
266
  }
267
267
  if (event.altKey && event.shiftKey) {
268
268
  if (isUp) {
269
- this._enabledPanels.forEach(p => p.collapse(event));
269
+ this._enabledPanels.forEach(p => p.collapse());
270
270
  }
271
271
  else {
272
272
  if (this.singleBranchExpand) {
273
273
  for (let i = 0; i < this._enabledPanels.length - 1; i++) {
274
- this._enabledPanels[i].collapse(event);
274
+ this._enabledPanels[i].collapse();
275
275
  }
276
- this._enabledPanels[this._enabledPanels.length - 1].expand(event);
276
+ this._enabledPanels[this._enabledPanels.length - 1].expand();
277
277
  return;
278
278
  }
279
- this._enabledPanels.forEach(p => p.expand(event));
279
+ this._enabledPanels.forEach(p => p.expand());
280
280
  }
281
281
  }
282
282
  }
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-accordion.mjs","sources":["../../../projects/igniteui-angular/accordion/src/accordion/accordion.component.ts","../../../projects/igniteui-angular/accordion/src/accordion/accordion.component.html","../../../projects/igniteui-angular/accordion/src/accordion/public_api.ts","../../../projects/igniteui-angular/accordion/src/accordion/accordion.module.ts","../../../projects/igniteui-angular/accordion/src/igniteui-angular-accordion.ts"],"sourcesContent":["import { AfterContentInit, AfterViewInit, ChangeDetectorRef, Component, ContentChildren, EventEmitter, HostBinding, Input, OnDestroy, Output, QueryList, booleanAttribute, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n IExpansionPanelCancelableEventArgs,\n IExpansionPanelEventArgs, IgxExpansionPanelBase\n} from 'igniteui-angular/expansion-panel';\nimport { IgxExpansionPanelComponent } from 'igniteui-angular/expansion-panel';\nimport { ToggleAnimationSettings } from 'igniteui-angular/expansion-panel';\n\n/** @hidden @internal */\nconst ACCORDION_NAVIGATION_KEYS = new Set('up down arrowup arrowdown home end'.split(' '));\n\nexport interface IAccordionEventArgs extends IExpansionPanelEventArgs {\n owner: IgxAccordionComponent;\n /** Provides a reference to the expansion panel which was expanded/collapsed. */\n panel: IgxExpansionPanelBase;\n}\n\nexport interface IAccordionCancelableEventArgs extends IExpansionPanelCancelableEventArgs {\n owner: IgxAccordionComponent;\n /** Provides a reference to the expansion panel which is currently expanding/collapsing. */\n panel: IgxExpansionPanelBase;\n /** Enables canceling the expansion/collapse operation. */\n cancel: boolean;\n}\n\nlet NEXT_ID = 0;\n\n/**\n * Accordion is a container-based component that contains that can house multiple expansion panels.\n *\n * @igxModule IgxAccordionModule\n *\n * @igxKeywords accordion\n *\n * @igxGroup Layouts\n *\n * @remarks\n * The Ignite UI for Angular Accordion component enables the user to navigate among multiple collapsing panels\n * displayed in a single container.\n * The accordion offers keyboard navigation and API to control the underlying panels' expansion state.\n *\n * @example\n * ```html\n * <igx-accordion>\n * <igx-expansion-panel *ngFor=\"let panel of panels\">\n * ...\n * </igx-expansion-panel>\n * </igx-accordion>\n * ```\n */\n@Component({\n selector: 'igx-accordion',\n templateUrl: 'accordion.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxAccordionComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n private cdr = inject(ChangeDetectorRef);\n\n /**\n * Get/Set the `id` of the accordion component.\n * Default value is `\"igx-accordion-0\"`;\n * ```html\n * <igx-accordion id=\"my-first-accordion\"></igx-accordion>\n * ```\n * ```typescript\n * const accordionId = this.accordion.id;\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-accordion-${NEXT_ID++}`;\n\n /** @hidden @internal **/\n @HostBinding('class.igx-accordion')\n public cssClass = 'igx-accordion';\n\n /** @hidden @internal **/\n @HostBinding('style.display')\n public displayStyle = 'block';\n\n /**\n * Get/Set the animation settings that panels should use when expanding/collpasing.\n *\n * ```html\n * <igx-accordion [animationSettings]=\"customAnimationSettings\"></igx-accordion>\n * ```\n *\n * ```typescript\n * const customAnimationSettings: ToggleAnimationSettings = {\n * openAnimation: growVerIn,\n * closeAnimation: growVerOut\n * };\n *\n * this.accordion.animationSettings = customAnimationSettings;\n * ```\n */\n @Input()\n public get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings;\n }\n\n public set animationSettings(value: ToggleAnimationSettings) {\n this._animationSettings = value;\n this.updatePanelsAnimation();\n }\n\n /**\n * Get/Set how the accordion handles the expansion of the projected expansion panels.\n * If set to `true`, only a single panel can be expanded at a time, collapsing all others\n *\n * ```html\n * <igx-accordion [singleBranchExpand]=\"true\">\n * ...\n * </igx-accordion>\n * ```\n *\n * ```typescript\n * this.accordion.singleBranchExpand = false;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get singleBranchExpand(): boolean {\n return this._singleBranchExpand;\n }\n\n public set singleBranchExpand(val: boolean) {\n this._singleBranchExpand = val;\n if (val) {\n this.collapseAllExceptLast();\n }\n }\n\n /**\n * Emitted before a panel is expanded.\n *\n * @remarks\n * This event is cancelable.\n *\n * ```html\n * <igx-accordion (panelExpanding)=\"handlePanelExpanding($event)\">\n * </igx-accordion>\n * ```\n *\n *```typescript\n * public handlePanelExpanding(event: IExpansionPanelCancelableEventArgs){\n * const expandedPanel: IgxExpansionPanelComponent = event.panel;\n * if (expandedPanel.disabled) {\n * event.cancel = true;\n * }\n * }\n *```\n */\n @Output()\n public panelExpanding = new EventEmitter<IAccordionCancelableEventArgs>();\n\n /**\n * Emitted after a panel has been expanded.\n *\n * ```html\n * <igx-accordion (panelExpanded)=\"handlePanelExpanded($event)\">\n * </igx-accordion>\n * ```\n *\n *```typescript\n * public handlePanelExpanded(event: IExpansionPanelCancelableEventArgs) {\n * const expandedPanel: IgxExpansionPanelComponent = event.panel;\n * console.log(\"Panel is expanded: \", expandedPanel.id);\n * }\n *```\n */\n @Output()\n public panelExpanded = new EventEmitter<IAccordionEventArgs>();\n\n /**\n * Emitted before a panel is collapsed.\n *\n * @remarks\n * This event is cancelable.\n *\n * ```html\n * <igx-accordion (panelCollapsing)=\"handlePanelCollapsing($event)\">\n * </igx-accordion>\n * ```\n */\n @Output()\n public panelCollapsing = new EventEmitter<IAccordionCancelableEventArgs>();\n\n /**\n * Emitted after a panel has been collapsed.\n *\n * ```html\n * <igx-accordion (panelCollapsed)=\"handlePanelCollapsed($event)\">\n * </igx-accordion>\n * ```\n */\n @Output()\n public panelCollapsed = new EventEmitter<IAccordionEventArgs>();\n\n /**\n * Get all panels.\n *\n * ```typescript\n * const panels: IgxExpansionPanelComponent[] = this.accordion.panels;\n * ```\n */\n public get panels(): IgxExpansionPanelComponent[] {\n return this._panels?.toArray();\n }\n\n @ContentChildren(IgxExpansionPanelComponent)\n private _panels!: QueryList<IgxExpansionPanelComponent>;\n private _animationSettings!: ToggleAnimationSettings;\n private _expandedPanels!: Set<IgxExpansionPanelComponent>;\n private _expandingPanels!: Set<IgxExpansionPanelComponent>;\n private _destroy$ = new Subject<void>();\n private _unsubChildren$ = new Subject<void>();\n private _enabledPanels!: IgxExpansionPanelComponent[];\n private _singleBranchExpand = false;\n\n /** @hidden @internal **/\n public ngAfterContentInit(): void {\n this.updatePanelsAnimation();\n if (this.singleBranchExpand) {\n this.collapseAllExceptLast();\n }\n }\n\n /** @hidden @internal **/\n public ngAfterViewInit(): void {\n this._expandedPanels = new Set<IgxExpansionPanelComponent>(this._panels.filter(panel => !panel.collapsed));\n this._expandingPanels = new Set<IgxExpansionPanelComponent>();\n this._panels.changes.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this.subToChanges();\n });\n this.subToChanges();\n }\n\n /** @hidden @internal */\n public ngOnDestroy(): void {\n this._unsubChildren$.next();\n this._unsubChildren$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /**\n * Expands all collapsed expansion panels.\n *\n * ```typescript\n * accordion.expandAll();\n * ```\n */\n public expandAll(): void {\n if (this.singleBranchExpand) {\n for (let i = 0; i < this.panels.length - 1; i++) {\n this.panels[i].collapse();\n }\n this._panels.last.expand();\n return;\n }\n\n this.panels.forEach(panel => panel.expand());\n }\n\n /**\n * Collapses all expanded expansion panels.\n *\n * ```typescript\n * accordion.collapseAll();\n * ```\n */\n public collapseAll(): void {\n this.panels.forEach(panel => panel.collapse());\n }\n\n private collapseAllExceptLast(): void {\n const lastExpanded = this.panels?.filter(p => !p.collapsed && !p.header.disabled).pop();\n this.panels?.forEach((p: IgxExpansionPanelComponent) => {\n if (p !== lastExpanded && !p.header.disabled) {\n p.collapsed = true;\n }\n });\n this.cdr.markForCheck();\n }\n\n private handleKeydown(event: KeyboardEvent, panel: IgxExpansionPanelComponent): void {\n const key = event.key.toLowerCase();\n if (!(ACCORDION_NAVIGATION_KEYS.has(key))) {\n return;\n }\n // TO DO: if we ever want to improve the performance of the accordion,\n // enabledPanels could be cached (by making a disabledChange emitter on the panel header)\n this._enabledPanels = this._panels.filter(p => !p.header.disabled);\n event.preventDefault();\n this.handleNavigation(event, panel);\n }\n\n private handleNavigation(event: KeyboardEvent, panel: IgxExpansionPanelComponent): void {\n switch (event.key.toLowerCase()) {\n case 'home':\n this._enabledPanels[0].header.innerElement.focus();\n break;\n case 'end':\n this._enabledPanels[this._enabledPanels.length - 1].header.innerElement.focus();\n break;\n case 'arrowup':\n case 'up':\n this.handleUpDownArrow(true, event, panel);\n break;\n case 'arrowdown':\n case 'down':\n this.handleUpDownArrow(false, event, panel);\n break;\n }\n }\n\n private handleUpDownArrow(isUp: boolean, event: KeyboardEvent, panel: IgxExpansionPanelComponent): void {\n if (!event.altKey) {\n const focusedPanel = panel;\n const next = this.getNextPanel(focusedPanel, isUp ? -1 : 1);\n if (next === focusedPanel) {\n return;\n }\n next.header.innerElement.focus();\n }\n if (event.altKey && event.shiftKey) {\n if (isUp) {\n this._enabledPanels.forEach(p => p.collapse(event));\n } else {\n if (this.singleBranchExpand) {\n for (let i = 0; i < this._enabledPanels.length - 1; i++) {\n this._enabledPanels[i].collapse(event);\n }\n this._enabledPanels[this._enabledPanels.length - 1].expand(event);\n return;\n }\n this._enabledPanels.forEach(p => p.expand(event));\n }\n }\n }\n\n private getNextPanel(panel: IgxExpansionPanelComponent, dir: 1 | -1 = 1): IgxExpansionPanelComponent {\n const panelIndex = this._enabledPanels.indexOf(panel);\n return this._enabledPanels[panelIndex + dir] || panel;\n }\n\n private subToChanges(): void {\n this._unsubChildren$.next();\n this._panels.forEach(panel => {\n panel.contentExpanded.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelEventArgs) => {\n this._expandedPanels.add(args.owner);\n this._expandingPanels.delete(args.owner);\n const evArgs: IAccordionEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelExpanded.emit(evArgs);\n });\n panel.contentExpanding.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelCancelableEventArgs) => {\n if (args.cancel) {\n return;\n }\n const evArgs: IAccordionCancelableEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelExpanding.emit(evArgs);\n if (evArgs.cancel) {\n args.cancel = true;\n return;\n }\n if (this.singleBranchExpand) {\n this._expandedPanels.forEach(p => {\n if (!p.header.disabled) {\n p.collapse();\n }\n });\n this._expandingPanels.forEach(p => {\n if (!p.header.disabled) {\n if (!p.animationSettings.closeAnimation) {\n p.openAnimationPlayer?.reset();\n }\n if (!p.animationSettings.openAnimation) {\n p.closeAnimationPlayer?.reset();\n }\n p.collapse();\n }\n });\n this._expandingPanels.add(args.owner);\n }\n });\n panel.contentCollapsed.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelEventArgs) => {\n this._expandedPanels.delete(args.owner);\n this._expandingPanels.delete(args.owner);\n const evArgs: IAccordionEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelCollapsed.emit(evArgs);\n });\n panel.contentCollapsing.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelCancelableEventArgs) => {\n const evArgs: IAccordionCancelableEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelCollapsing.emit(evArgs);\n if (evArgs.cancel) {\n args.cancel = true;\n }\n });\n fromEvent<KeyboardEvent>(panel.header.innerElement, 'keydown')\n .pipe(takeUntil(this._unsubChildren$))\n .subscribe((e: KeyboardEvent) => {\n this.handleKeydown(e, panel);\n });\n });\n }\n\n private updatePanelsAnimation(): void {\n if (this.animationSettings !== undefined) {\n this.panels?.forEach(panel => panel.animationSettings = this.animationSettings);\n }\n }\n}\n","<ng-content select=\"igx-expansion-panel\"></ng-content>\n","import { IgxAccordionComponent } from './accordion.component';\n\nexport * from './accordion.component';\n\n/* Imports that cannot be resolved from IGX_EXPANSION_PANEL_DIRECTIVES spread\n NOTE: Do not remove! Issue: https://github.com/IgniteUI/igniteui-angular/issues/13310\n*/\nimport {\n IgxExpansionPanelComponent,\n IgxExpansionPanelHeaderComponent,\n IgxExpansionPanelBodyComponent,\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelTitleDirective,\n IgxExpansionPanelIconDirective\n} from 'igniteui-angular/expansion-panel';\n\n/* Accordion directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_ACCORDION_DIRECTIVES = [\n IgxAccordionComponent,\n IgxExpansionPanelComponent,\n IgxExpansionPanelHeaderComponent,\n IgxExpansionPanelBodyComponent,\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelTitleDirective,\n IgxExpansionPanelIconDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_ACCORDION_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_ACCORDION_DIRECTIVES\n ],\n exports: [\n ...IGX_ACCORDION_DIRECTIVES\n ]\n})\nexport class IgxAccordionModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxAccordionComponent"],"mappings":";;;;;;;AAUA;AACA,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,oCAAoC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAgB1F,IAAI,OAAO,GAAG,CAAC;AAEf;;;;;;;;;;;;;;;;;;;;;;AAsBG;MAOU,qBAAqB,CAAA;AANlC,IAAA,WAAA,GAAA;AAOY,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEvC;;;;;;;;;AASG;AAGI,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,cAAA,EAAiB,OAAO,EAAE,EAAE;;QAIjC,IAAA,CAAA,QAAQ,GAAG,eAAe;;QAI1B,IAAA,CAAA,YAAY,GAAG,OAAO;AAsD7B;;;;;;;;;;;;;;;;;;;AAmBG;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAiC;AAEzE;;;;;;;;;;;;;;AAcG;AAEI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAuB;AAE9D;;;;;;;;;;AAUG;AAEI,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAiC;AAE1E;;;;;;;AAOG;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAuB;AAkBvD,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,OAAO,EAAQ;AAC/B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,OAAO,EAAQ;QAErC,IAAA,CAAA,mBAAmB,GAAG,KAAK;AAkMtC,IAAA;AA3UG;;;;;;;;;;;;;;;AAeG;AACH,IAAA,IACW,iBAAiB,GAAA;QACxB,OAAO,IAAI,CAAC,kBAAkB;IAClC;IAEA,IAAW,iBAAiB,CAAC,KAA8B,EAAA;AACvD,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;QAC/B,IAAI,CAAC,qBAAqB,EAAE;IAChC;AAEA;;;;;;;;;;;;;AAaG;AACH,IAAA,IACW,kBAAkB,GAAA;QACzB,OAAO,IAAI,CAAC,mBAAmB;IACnC;IAEA,IAAW,kBAAkB,CAAC,GAAY,EAAA;AACtC,QAAA,IAAI,CAAC,mBAAmB,GAAG,GAAG;QAC9B,IAAI,GAAG,EAAE;YACL,IAAI,CAAC,qBAAqB,EAAE;QAChC;IACJ;AAoEA;;;;;;AAMG;AACH,IAAA,IAAW,MAAM,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;IAClC;;IAaO,kBAAkB,GAAA;QACrB,IAAI,CAAC,qBAAqB,EAAE;AAC5B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,IAAI,CAAC,qBAAqB,EAAE;QAChC;IACJ;;IAGO,eAAe,GAAA;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAA6B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC1G,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAA8B;AAC7D,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAChE,IAAI,CAAC,YAAY,EAAE;AACvB,QAAA,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,EAAE;IACvB;;IAGO,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;IAC7B;AAEA;;;;;;AAMG;IACI,SAAS,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC7B;AACA,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE;YAC1B;QACJ;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IAChD;AAEA;;;;;;AAMG;IACI,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IAClD;IAEQ,qBAAqB,GAAA;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE;QACvF,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAA6B,KAAI;YACnD,IAAI,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC1C,gBAAA,CAAC,CAAC,SAAS,GAAG,IAAI;YACtB;AACJ,QAAA,CAAC,CAAC;AACF,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IAC3B;IAEQ,aAAa,CAAC,KAAoB,EAAE,KAAiC,EAAA;QACzE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE;QACnC,IAAI,EAAE,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACvC;QACJ;;;QAGA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAClE,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC;IACvC;IAEQ,gBAAgB,CAAC,KAAoB,EAAE,KAAiC,EAAA;AAC5E,QAAA,QAAQ,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE;AAC3B,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;gBAClD;AACJ,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;gBAC/E;AACJ,YAAA,KAAK,SAAS;AACd,YAAA,KAAK,IAAI;gBACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;gBAC1C;AACJ,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,MAAM;gBACP,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;gBAC3C;;IAEZ;AAEQ,IAAA,iBAAiB,CAAC,IAAa,EAAE,KAAoB,EAAE,KAAiC,EAAA;AAC5F,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,MAAM,YAAY,GAAG,KAAK;AAC1B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3D,YAAA,IAAI,IAAI,KAAK,YAAY,EAAE;gBACvB;YACJ;AACA,YAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;QACpC;QACA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE;YAChC,IAAI,IAAI,EAAE;AACN,gBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvD;iBAAO;AACH,gBAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;wBACrD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC1C;AACA,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBACjE;gBACJ;AACA,gBAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrD;QACJ;IACJ;AAEQ,IAAA,YAAY,CAAC,KAAiC,EAAE,GAAA,GAAc,CAAC,EAAA;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC;QACrD,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,KAAK;IACzD;IAEQ,YAAY,GAAA;AAChB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAG;AACzB,YAAA,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAA8B,KAAI;gBACrG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,gBAAA,MAAM,MAAM,GAAwB,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AAC/E,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;AACnC,YAAA,CAAC,CAAC;AACF,YAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAwC,KAAI;AAChH,gBAAA,IAAI,IAAI,CAAC,MAAM,EAAE;oBACb;gBACJ;AACA,gBAAA,MAAM,MAAM,GAAkC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACzF,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;AAChC,gBAAA,IAAI,MAAM,CAAC,MAAM,EAAE;AACf,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI;oBAClB;gBACJ;AACA,gBAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACzB,oBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAG;AAC7B,wBAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;4BACpB,CAAC,CAAC,QAAQ,EAAE;wBAChB;AACJ,oBAAA,CAAC,CAAC;AACF,oBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAG;AAC9B,wBAAA,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;AACpB,4BAAA,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,cAAc,EAAE;AACrC,gCAAA,CAAC,CAAC,mBAAmB,EAAE,KAAK,EAAE;4BAClC;AACA,4BAAA,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,EAAE;AACpC,gCAAA,CAAC,CAAC,oBAAoB,EAAE,KAAK,EAAE;4BACnC;4BACA,CAAC,CAAC,QAAQ,EAAE;wBAChB;AACJ,oBAAA,CAAC,CAAC;oBACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBACzC;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAA8B,KAAI;gBACtG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACxC,gBAAA,MAAM,MAAM,GAAwB,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AAC/E,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;AACpC,YAAA,CAAC,CAAC;AACF,YAAA,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAwC,KAAI;AACjH,gBAAA,MAAM,MAAM,GAAkC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACzF,gBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;AACjC,gBAAA,IAAI,MAAM,CAAC,MAAM,EAAE;AACf,oBAAA,IAAI,CAAC,MAAM,GAAG,IAAI;gBACtB;AACJ,YAAA,CAAC,CAAC;YACF,SAAS,CAAgB,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS;AACxD,iBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC;AACpC,iBAAA,SAAS,CAAC,CAAC,CAAgB,KAAI;AAC5B,gBAAA,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC;AAChC,YAAA,CAAC,CAAC;AACV,QAAA,CAAC,CAAC;IACN;IAEQ,qBAAqB,GAAA;AACzB,QAAA,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE;AACtC,YAAA,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACnF;IACJ;8GAnWS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,CAAA,oBAAA,EAAA,oBAAA,EAiEV,gBAAgB,CAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,SAAA,EAyFnB,0BAA0B,6BCpN/C,4DACA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FDyDa,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,eAAA,EAER,uBAAuB,CAAC,KAAK,cAClC,IAAI,EAAA,QAAA,EAAA,4DAAA,EAAA;;sBAef,WAAW;uBAAC,SAAS;;sBACrB;;sBAIA,WAAW;uBAAC,qBAAqB;;sBAIjC,WAAW;uBAAC,eAAe;;sBAmB3B;;sBAwBA,KAAK;uBAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE;;sBAgCrC;;sBAkBA;;sBAcA;;sBAWA;;sBAcA,eAAe;uBAAC,0BAA0B;;;AEpM/C;AACO,MAAM,wBAAwB,GAAG;IACpC,qBAAqB;IACrB,0BAA0B;IAC1B,gCAAgC;IAChC,8BAA8B;IAC9B,qCAAqC;IACrC,+BAA+B;IAC/B;;;ACrBJ;;;AAGG;MASU,kBAAkB,CAAA;8GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAAAA,qBAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,gCAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,EAAA,CAAA,qCAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAAA,qBAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,gCAAA,EAAA,EAAA,CAAA,8BAAA,EAAA,EAAA,CAAA,qCAAA,EAAA,EAAA,CAAA,+BAAA,EAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,0BAAA,EAAA,EAAA,CAAA,gCAAA,EAAA,EAAA,CAAA,8BAAA,CAAA,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN,qBAAA;AACD,oBAAA,OAAO,EAAE;AACL,wBAAA,GAAG;AACN;AACJ,iBAAA;;;ACdD;;AAEG;;;;"}
1
+ {"version":3,"file":"igniteui-angular-accordion.mjs","sources":["../../../projects/igniteui-angular/accordion/src/accordion/accordion.component.ts","../../../projects/igniteui-angular/accordion/src/accordion/accordion.component.html","../../../projects/igniteui-angular/accordion/src/accordion/public_api.ts","../../../projects/igniteui-angular/accordion/src/accordion/accordion.module.ts","../../../projects/igniteui-angular/accordion/src/igniteui-angular-accordion.ts"],"sourcesContent":["import { AfterContentInit, AfterViewInit, ChangeDetectorRef, Component, ContentChildren, EventEmitter, HostBinding, Input, OnDestroy, Output, QueryList, booleanAttribute, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport {\n IExpansionPanelCancelableEventArgs,\n IExpansionPanelEventArgs, IgxExpansionPanelBase\n} from 'igniteui-angular/expansion-panel';\nimport { IgxExpansionPanelComponent } from 'igniteui-angular/expansion-panel';\nimport { ToggleAnimationSettings } from 'igniteui-angular/expansion-panel';\n\n/** @hidden @internal */\nconst ACCORDION_NAVIGATION_KEYS = new Set('up down arrowup arrowdown home end'.split(' '));\n\nexport interface IAccordionEventArgs extends IExpansionPanelEventArgs {\n owner: IgxAccordionComponent;\n /** Provides a reference to the expansion panel which was expanded/collapsed. */\n panel: IgxExpansionPanelBase;\n}\n\nexport interface IAccordionCancelableEventArgs extends IExpansionPanelCancelableEventArgs {\n owner: IgxAccordionComponent;\n /** Provides a reference to the expansion panel which is currently expanding/collapsing. */\n panel: IgxExpansionPanelBase;\n /** Enables canceling the expansion/collapse operation. */\n cancel: boolean;\n}\n\nlet NEXT_ID = 0;\n\n/**\n * Accordion is a container-based component that contains that can house multiple expansion panels.\n *\n * @igxModule IgxAccordionModule\n *\n * @igxKeywords accordion\n *\n * @igxGroup Layouts\n *\n * @remarks\n * The Ignite UI for Angular Accordion component enables the user to navigate among multiple collapsing panels\n * displayed in a single container.\n * The accordion offers keyboard navigation and API to control the underlying panels' expansion state.\n *\n * @example\n * ```html\n * <igx-accordion>\n * <igx-expansion-panel *ngFor=\"let panel of panels\">\n * ...\n * </igx-expansion-panel>\n * </igx-accordion>\n * ```\n */\n@Component({\n selector: 'igx-accordion',\n templateUrl: 'accordion.component.html',\n changeDetection: ChangeDetectionStrategy.Eager,\n standalone: true\n})\nexport class IgxAccordionComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n private cdr = inject(ChangeDetectorRef);\n\n /**\n * Get/Set the `id` of the accordion component.\n * Default value is `\"igx-accordion-0\"`;\n * ```html\n * <igx-accordion id=\"my-first-accordion\"></igx-accordion>\n * ```\n * ```typescript\n * const accordionId = this.accordion.id;\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-accordion-${NEXT_ID++}`;\n\n /** @hidden @internal **/\n @HostBinding('class.igx-accordion')\n public cssClass = 'igx-accordion';\n\n /** @hidden @internal **/\n @HostBinding('style.display')\n public displayStyle = 'block';\n\n /**\n * Get/Set the animation settings that panels should use when expanding/collpasing.\n *\n * ```html\n * <igx-accordion [animationSettings]=\"customAnimationSettings\"></igx-accordion>\n * ```\n *\n * ```typescript\n * const customAnimationSettings: ToggleAnimationSettings = {\n * openAnimation: growVerIn,\n * closeAnimation: growVerOut\n * };\n *\n * this.accordion.animationSettings = customAnimationSettings;\n * ```\n */\n @Input()\n public get animationSettings(): ToggleAnimationSettings {\n return this._animationSettings;\n }\n\n public set animationSettings(value: ToggleAnimationSettings) {\n this._animationSettings = value;\n this.updatePanelsAnimation();\n }\n\n /**\n * Get/Set how the accordion handles the expansion of the projected expansion panels.\n * If set to `true`, only a single panel can be expanded at a time, collapsing all others\n *\n * ```html\n * <igx-accordion [singleBranchExpand]=\"true\">\n * ...\n * </igx-accordion>\n * ```\n *\n * ```typescript\n * this.accordion.singleBranchExpand = false;\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get singleBranchExpand(): boolean {\n return this._singleBranchExpand;\n }\n\n public set singleBranchExpand(val: boolean) {\n this._singleBranchExpand = val;\n if (val) {\n this.collapseAllExceptLast();\n }\n }\n\n /**\n * Emitted before a panel is expanded.\n *\n * @remarks\n * This event is cancelable.\n *\n * ```html\n * <igx-accordion (panelExpanding)=\"handlePanelExpanding($event)\">\n * </igx-accordion>\n * ```\n *\n *```typescript\n * public handlePanelExpanding(event: IExpansionPanelCancelableEventArgs){\n * const expandedPanel: IgxExpansionPanelComponent = event.panel;\n * if (expandedPanel.disabled) {\n * event.cancel = true;\n * }\n * }\n *```\n */\n @Output()\n public panelExpanding = new EventEmitter<IAccordionCancelableEventArgs>();\n\n /**\n * Emitted after a panel has been expanded.\n *\n * ```html\n * <igx-accordion (panelExpanded)=\"handlePanelExpanded($event)\">\n * </igx-accordion>\n * ```\n *\n *```typescript\n * public handlePanelExpanded(event: IExpansionPanelCancelableEventArgs) {\n * const expandedPanel: IgxExpansionPanelComponent = event.panel;\n * console.log(\"Panel is expanded: \", expandedPanel.id);\n * }\n *```\n */\n @Output()\n public panelExpanded = new EventEmitter<IAccordionEventArgs>();\n\n /**\n * Emitted before a panel is collapsed.\n *\n * @remarks\n * This event is cancelable.\n *\n * ```html\n * <igx-accordion (panelCollapsing)=\"handlePanelCollapsing($event)\">\n * </igx-accordion>\n * ```\n */\n @Output()\n public panelCollapsing = new EventEmitter<IAccordionCancelableEventArgs>();\n\n /**\n * Emitted after a panel has been collapsed.\n *\n * ```html\n * <igx-accordion (panelCollapsed)=\"handlePanelCollapsed($event)\">\n * </igx-accordion>\n * ```\n */\n @Output()\n public panelCollapsed = new EventEmitter<IAccordionEventArgs>();\n\n /**\n * Get all panels.\n *\n * ```typescript\n * const panels: IgxExpansionPanelComponent[] = this.accordion.panels;\n * ```\n */\n public get panels(): IgxExpansionPanelComponent[] {\n return this._panels?.toArray();\n }\n\n @ContentChildren(IgxExpansionPanelComponent)\n private _panels!: QueryList<IgxExpansionPanelComponent>;\n private _animationSettings!: ToggleAnimationSettings;\n private _expandedPanels!: Set<IgxExpansionPanelComponent>;\n private _expandingPanels!: Set<IgxExpansionPanelComponent>;\n private _destroy$ = new Subject<void>();\n private _unsubChildren$ = new Subject<void>();\n private _enabledPanels!: IgxExpansionPanelComponent[];\n private _singleBranchExpand = false;\n\n /** @hidden @internal **/\n public ngAfterContentInit(): void {\n this.updatePanelsAnimation();\n if (this.singleBranchExpand) {\n this.collapseAllExceptLast();\n }\n }\n\n /** @hidden @internal **/\n public ngAfterViewInit(): void {\n this._expandedPanels = new Set<IgxExpansionPanelComponent>(this._panels.filter(panel => !panel.collapsed));\n this._expandingPanels = new Set<IgxExpansionPanelComponent>();\n this._panels.changes.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this.subToChanges();\n });\n this.subToChanges();\n }\n\n /** @hidden @internal */\n public ngOnDestroy(): void {\n this._unsubChildren$.next();\n this._unsubChildren$.complete();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n /**\n * Expands all collapsed expansion panels.\n *\n * ```typescript\n * accordion.expandAll();\n * ```\n */\n public expandAll(): void {\n if (this.singleBranchExpand) {\n for (let i = 0; i < this.panels.length - 1; i++) {\n this.panels[i].collapse();\n }\n this._panels.last.expand();\n return;\n }\n\n this.panels.forEach(panel => panel.expand());\n }\n\n /**\n * Collapses all expanded expansion panels.\n *\n * ```typescript\n * accordion.collapseAll();\n * ```\n */\n public collapseAll(): void {\n this.panels.forEach(panel => panel.collapse());\n }\n\n private collapseAllExceptLast(): void {\n const lastExpanded = this.panels?.filter(p => !p.collapsed && !p.header.disabled).pop();\n this.panels?.forEach((p: IgxExpansionPanelComponent) => {\n if (p !== lastExpanded && !p.header.disabled) {\n p.collapsed = true;\n }\n });\n this.cdr.markForCheck();\n }\n\n private handleKeydown(event: KeyboardEvent, panel: IgxExpansionPanelComponent): void {\n const key = event.key.toLowerCase();\n if (!(ACCORDION_NAVIGATION_KEYS.has(key))) {\n return;\n }\n // TO DO: if we ever want to improve the performance of the accordion,\n // enabledPanels could be cached (by making a disabledChange emitter on the panel header)\n this._enabledPanels = this._panels.filter(p => !p.header.disabled);\n event.preventDefault();\n this.handleNavigation(event, panel);\n }\n\n private handleNavigation(event: KeyboardEvent, panel: IgxExpansionPanelComponent): void {\n switch (event.key.toLowerCase()) {\n case 'home':\n this._enabledPanels[0].header.innerElement.focus();\n break;\n case 'end':\n this._enabledPanels[this._enabledPanels.length - 1].header.innerElement.focus();\n break;\n case 'arrowup':\n case 'up':\n this.handleUpDownArrow(true, event, panel);\n break;\n case 'arrowdown':\n case 'down':\n this.handleUpDownArrow(false, event, panel);\n break;\n }\n }\n\n private handleUpDownArrow(isUp: boolean, event: KeyboardEvent, panel: IgxExpansionPanelComponent): void {\n if (!event.altKey) {\n const focusedPanel = panel;\n const next = this.getNextPanel(focusedPanel, isUp ? -1 : 1);\n if (next === focusedPanel) {\n return;\n }\n next.header.innerElement.focus();\n }\n if (event.altKey && event.shiftKey) {\n if (isUp) {\n this._enabledPanels.forEach(p => p.collapse());\n } else {\n if (this.singleBranchExpand) {\n for (let i = 0; i < this._enabledPanels.length - 1; i++) {\n this._enabledPanels[i].collapse();\n }\n this._enabledPanels[this._enabledPanels.length - 1].expand();\n return;\n }\n this._enabledPanels.forEach(p => p.expand());\n }\n }\n }\n\n private getNextPanel(panel: IgxExpansionPanelComponent, dir: 1 | -1 = 1): IgxExpansionPanelComponent {\n const panelIndex = this._enabledPanels.indexOf(panel);\n return this._enabledPanels[panelIndex + dir] || panel;\n }\n\n private subToChanges(): void {\n this._unsubChildren$.next();\n this._panels.forEach(panel => {\n panel.contentExpanded.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelEventArgs) => {\n this._expandedPanels.add(args.owner);\n this._expandingPanels.delete(args.owner);\n const evArgs: IAccordionEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelExpanded.emit(evArgs);\n });\n panel.contentExpanding.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelCancelableEventArgs) => {\n if (args.cancel) {\n return;\n }\n const evArgs: IAccordionCancelableEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelExpanding.emit(evArgs);\n if (evArgs.cancel) {\n args.cancel = true;\n return;\n }\n if (this.singleBranchExpand) {\n this._expandedPanels.forEach(p => {\n if (!p.header.disabled) {\n p.collapse();\n }\n });\n this._expandingPanels.forEach(p => {\n if (!p.header.disabled) {\n if (!p.animationSettings.closeAnimation) {\n p.openAnimationPlayer?.reset();\n }\n if (!p.animationSettings.openAnimation) {\n p.closeAnimationPlayer?.reset();\n }\n p.collapse();\n }\n });\n this._expandingPanels.add(args.owner);\n }\n });\n panel.contentCollapsed.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelEventArgs) => {\n this._expandedPanels.delete(args.owner);\n this._expandingPanels.delete(args.owner);\n const evArgs: IAccordionEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelCollapsed.emit(evArgs);\n });\n panel.contentCollapsing.pipe(takeUntil(this._unsubChildren$)).subscribe((args: IExpansionPanelCancelableEventArgs) => {\n const evArgs: IAccordionCancelableEventArgs = { ...args, owner: this, panel: args.owner };\n this.panelCollapsing.emit(evArgs);\n if (evArgs.cancel) {\n args.cancel = true;\n }\n });\n fromEvent(panel.header.innerElement, 'keydown')\n .pipe(takeUntil(this._unsubChildren$))\n .subscribe((e: KeyboardEvent) => {\n this.handleKeydown(e, panel);\n });\n });\n }\n\n private updatePanelsAnimation(): void {\n if (this.animationSettings !== undefined) {\n this.panels?.forEach(panel => panel.animationSettings = this.animationSettings);\n }\n }\n}\n","<ng-content select=\"igx-expansion-panel\"></ng-content>\n","import { IgxAccordionComponent } from './accordion.component';\n\nexport * from './accordion.component';\n\n/* Imports that cannot be resolved from IGX_EXPANSION_PANEL_DIRECTIVES spread\n NOTE: Do not remove! Issue: https://github.com/IgniteUI/igniteui-angular/issues/13310\n*/\nimport {\n IgxExpansionPanelComponent,\n IgxExpansionPanelHeaderComponent,\n IgxExpansionPanelBodyComponent,\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelTitleDirective,\n IgxExpansionPanelIconDirective\n} from 'igniteui-angular/expansion-panel';\n\n/* Accordion directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_ACCORDION_DIRECTIVES = [\n IgxAccordionComponent,\n IgxExpansionPanelComponent,\n IgxExpansionPanelHeaderComponent,\n IgxExpansionPanelBodyComponent,\n IgxExpansionPanelDescriptionDirective,\n IgxExpansionPanelTitleDirective,\n IgxExpansionPanelIconDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_ACCORDION_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_ACCORDION_DIRECTIVES\n ],\n exports: [\n ...IGX_ACCORDION_DIRECTIVES\n ]\n})\nexport class IgxAccordionModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxAccordionComponent"],"mappings":"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"}
@@ -84,7 +84,6 @@ class IgxActionStripComponent {
84
84
  return false;
85
85
  }
86
86
  }
87
- return undefined;
88
87
  }
89
88
  constructor() {
90
89
  this._viewContainer = inject(ViewContainerRef);
@@ -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} 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 context: any;\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 hidden = true;\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 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} 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 context: any;\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 hidden = true;\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 }\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 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 = [];\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 = [];\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 +1 @@
1
- {"version":3,"file":"igniteui-angular-avatar.mjs","sources":["../../../projects/igniteui-angular/avatar/src/avatar/avatar.component.ts","../../../projects/igniteui-angular/avatar/src/avatar/avatar.component.html","../../../projects/igniteui-angular/avatar/src/avatar/avatar.module.ts","../../../projects/igniteui-angular/avatar/src/igniteui-angular-avatar.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, ElementRef, HostBinding, Input, OnInit, TemplateRef, ViewChild, inject, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\nimport { normalizeURI } from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\nlet NEXT_ID = 0;\nexport const IgxAvatarSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large'\n} as const;\nexport type IgxAvatarSize = (typeof IgxAvatarSize)[keyof typeof IgxAvatarSize];\n\nexport const IgxAvatarType = {\n INITIALS: 'initials',\n IMAGE: 'image',\n ICON: 'icon',\n CUSTOM: 'custom'\n} as const;\nexport type IgxAvatarType = (typeof IgxAvatarType)[keyof typeof IgxAvatarType];\n\n/**\n * Avatar provides a way to display an image, icon or initials to the user.\n *\n * @igxModule IgxAvatarModule\n *\n * @igxTheme igx-avatar-theme, igx-icon-theme\n *\n * @igxKeywords avatar, profile, picture, initials\n *\n * @igxGroup Layouts\n *\n * @remarks\n *\n * The Ignite UI Avatar provides an easy way to add an avatar icon to your application. This icon can be an\n * image, someone's initials or a material icon from the Google Material icon set.\n *\n * @example\n * ```html\n * <igx-avatar initials=\"MS\" shape=\"rounded\" size=\"large\">\n * </igx-avatar>\n * ```\n */\n@Component({\n selector: 'igx-avatar',\n templateUrl: 'avatar.component.html',\n styleUrl: 'avatar.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent, NgTemplateOutlet]\n})\nexport class IgxAvatarComponent implements OnInit {\n public elementRef = inject(ElementRef);\n\n /**\n * Returns the `aria-label` attribute of the avatar.\n *\n * @example\n * ```typescript\n * let ariaLabel = this.avatar.ariaLabel;\n * ```\n *\n */\n @HostBinding('attr.aria-label')\n public ariaLabel = 'avatar';\n\n /**\n * Returns the `role` attribute of the avatar.\n *\n * @example\n * ```typescript\n * let avatarRole = this.avatar.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'img';\n\n /**\n * Host `class.igx-avatar` binding.\n *\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-avatar')\n public cssClass = 'igx-avatar';\n\n /**\n * Returns the type of the avatar.\n * The avatar can be:\n * - `\"initials type avatar\"`\n * - `\"icon type avatar\"`\n * - `\"image type avatar\"`.\n * - `\"custom type avatar\"`.\n *\n * @example\n * ```typescript\n * let avatarDescription = this.avatar.roleDescription;\n * ```\n */\n @HostBinding('attr.aria-roledescription')\n public roleDescription!: string;\n\n /**\n * Sets the `id` of the avatar. If not set, the first avatar component will have `id` = `\"igx-avatar-0\"`.\n *\n * @example\n * ```html\n * <igx-avatar id=\"my-first-avatar\"></igx-avatar>\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-avatar-${NEXT_ID++}`;\n\n /**\n * Sets square, rounded or circular shape to the avatar.\n * By default the shape of the avatar is square.\n *\n * @example\n * ```html\n * <igx-avatar shape=\"rounded\"></igx-avatar>\n * ```\n */\n @Input()\n public shape: 'square' | 'rounded' | 'circle' = 'square';\n\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--rounded')\n public get isRounded(): boolean {\n return this.shape === 'rounded';\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--circle')\n public get isCircle(): boolean {\n return this.shape === 'circle';\n }\n\n /**\n * Sets the color of the avatar's initials or icon.\n *\n * @example\n * ```html\n * <igx-avatar color=\"blue\"></igx-avatar>\n * ```\n * @deprecated in version 17.2.0.\n */\n\n @HostBinding('style.color')\n @Input()\n public color!: string;\n\n /**\n * Sets the background color of the avatar.\n *\n * @example\n * ```html\n * <igx-avatar bgColor=\"yellow\"></igx-avatar>\n * ```\n * @igxFriendlyName Background color\n * @deprecated in version 17.2.0.\n */\n\n @HostBinding('style.background')\n @Input()\n public bgColor!: string;\n\n /**\n * Sets initials to the avatar.\n *\n * @example\n * ```html\n * <igx-avatar initials=\"MN\"></igx-avatar>\n * ```\n */\n @Input()\n public initials!: string;\n\n /**\n * Sets an icon to the avatar. All icons from the material icon set are supported.\n *\n * @example\n * ```html\n * <igx-avatar icon=\"phone\"></igx-avatar>\n * ```\n */\n @Input()\n public icon!: string;\n\n /**\n * Sets the image source of the avatar.\n *\n * @example\n * ```html\n * <igx-avatar src=\"images/picture.jpg\"></igx-avatar>\n * ```\n * @igxFriendlyName Image URL\n */\n @Input()\n public set src(value: string) {\n this._src = normalizeURI(value);\n }\n\n public get src() {\n return this._src;\n }\n\n /** @hidden @internal */\n @ViewChild('defaultTemplate', { read: TemplateRef, static: true })\n protected defaultTemplate!: TemplateRef<any>;\n\n /** @hidden @internal */\n @ViewChild('imageTemplate', { read: TemplateRef, static: true })\n protected imageTemplate!: TemplateRef<any>;\n\n /** @hidden @internal */\n @ViewChild('initialsTemplate', { read: TemplateRef, static: true })\n protected initialsTemplate!: TemplateRef<any>;\n\n /** @hidden @internal */\n @ViewChild('iconTemplate', { read: TemplateRef, static: true })\n protected iconTemplate!: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n private _size!: string | IgxAvatarSize;\n private _src!: string;\n\n /**\n * Returns the size of the avatar.\n *\n * @example\n * ```typescript\n * let avatarSize = this.avatar.size;\n * ```\n */\n @Input()\n public get size(): string | IgxAvatarSize {\n return this._size || IgxAvatarSize.SMALL;\n }\n\n /**\n * Sets the size of the avatar.\n * By default, the size is `\"small\"`. It can be set to `\"medium\"` or `\"large\"`.\n *\n * @example\n * ```html\n * <igx-avatar size=\"large\"></igx-avatar>\n * ```\n */\n public set size(value: string | IgxAvatarSize) {\n switch (value) {\n case 'small':\n case 'medium':\n case 'large':\n this._size = value;\n break;\n default:\n this._size = 'small';\n }\n }\n\n /**\n * Returns the type of the avatar.\n *\n * @example\n * ```typescript\n * let avatarType = this.avatar.type;\n * ```\n */\n public get type(): IgxAvatarType {\n if (this.src) {\n return IgxAvatarType.IMAGE;\n }\n\n if (this.icon) {\n return IgxAvatarType.ICON;\n }\n\n if (this.initials) {\n return IgxAvatarType.INITIALS;\n }\n\n return IgxAvatarType.CUSTOM;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--image')\n public get _isImageType(): boolean {\n return this.type === IgxAvatarType.IMAGE;\n }\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--icon')\n public get _isIconType(): boolean {\n return this.type === IgxAvatarType.ICON;\n }\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--initials')\n public get _isInitialsType(): boolean {\n return this.type === IgxAvatarType.INITIALS;\n }\n\n @HostBinding('style.--component-size')\n protected get componentSize() {\n if (this._size) {\n return `var(--ig-size-${this._size})`;\n }\n }\n\n /**\n * Returns the template of the avatar.\n *\n * @hidden\n * @internal\n */\n public get template(): TemplateRef<any> {\n switch (this.type) {\n case IgxAvatarType.IMAGE:\n return this.imageTemplate;\n case IgxAvatarType.INITIALS:\n return this.initialsTemplate;\n case IgxAvatarType.ICON:\n return this.iconTemplate;\n default:\n return this.defaultTemplate;\n }\n }\n\n /**\n * Returns the css url of the image.\n *\n * @hidden\n * @internal\n */\n public getSrcUrl() {\n return `url(\"${this.src}\")`;\n }\n\n /** @hidden @internal */\n public ngOnInit() {\n this.roleDescription = this.getRole();\n }\n\n /** @hidden @internal */\n private getRole(): string {\n switch (this.type) {\n case IgxAvatarType.IMAGE:\n return 'image avatar';\n case IgxAvatarType.ICON:\n return 'icon avatar';\n case IgxAvatarType.INITIALS:\n return 'initials avatar';\n default:\n return 'custom avatar';\n }\n }\n}\n\n","<ng-template #defaultTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div #image class=\"igx-avatar__image\" [style.backgroundImage]=\"getSrcUrl()\"></div>\n</ng-template>\n\n<ng-template #initialsTemplate>\n <span>{{initials.substring(0, 2)}}</span>\n</ng-template>\n\n<ng-template #iconTemplate>\n <igx-icon>{{icon}}</igx-icon>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template\"></ng-container>\n","import { NgModule } from '@angular/core';\nimport { IgxAvatarComponent } from './avatar.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [IgxAvatarComponent],\n exports: [IgxAvatarComponent]\n})\nexport class IgxAvatarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-avatar.mjs","sources":["../../../projects/igniteui-angular/avatar/src/avatar/avatar.component.ts","../../../projects/igniteui-angular/avatar/src/avatar/avatar.component.html","../../../projects/igniteui-angular/avatar/src/avatar/avatar.module.ts","../../../projects/igniteui-angular/avatar/src/igniteui-angular-avatar.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { Component, ElementRef, HostBinding, Input, OnInit, TemplateRef, ViewChild, inject, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\nimport { normalizeURI } from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\nlet NEXT_ID = 0;\nexport const IgxAvatarSize = {\n SMALL: 'small',\n MEDIUM: 'medium',\n LARGE: 'large'\n} as const;\nexport type IgxAvatarSize = (typeof IgxAvatarSize)[keyof typeof IgxAvatarSize];\n\nexport const IgxAvatarType = {\n INITIALS: 'initials',\n IMAGE: 'image',\n ICON: 'icon',\n CUSTOM: 'custom'\n} as const;\nexport type IgxAvatarType = (typeof IgxAvatarType)[keyof typeof IgxAvatarType];\n\n/**\n * Avatar provides a way to display an image, icon or initials to the user.\n *\n * @igxModule IgxAvatarModule\n *\n * @igxTheme igx-avatar-theme, igx-icon-theme\n *\n * @igxKeywords avatar, profile, picture, initials\n *\n * @igxGroup Layouts\n *\n * @remarks\n *\n * The Ignite UI Avatar provides an easy way to add an avatar icon to your application. This icon can be an\n * image, someone's initials or a material icon from the Google Material icon set.\n *\n * @example\n * ```html\n * <igx-avatar initials=\"MS\" shape=\"rounded\" size=\"large\">\n * </igx-avatar>\n * ```\n */\n@Component({\n selector: 'igx-avatar',\n templateUrl: 'avatar.component.html',\n styleUrl: 'avatar.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent, NgTemplateOutlet]\n})\nexport class IgxAvatarComponent implements OnInit {\n public elementRef = inject(ElementRef);\n\n /**\n * Returns the `aria-label` attribute of the avatar.\n *\n * @example\n * ```typescript\n * let ariaLabel = this.avatar.ariaLabel;\n * ```\n *\n */\n @HostBinding('attr.aria-label')\n public ariaLabel = 'avatar';\n\n /**\n * Returns the `role` attribute of the avatar.\n *\n * @example\n * ```typescript\n * let avatarRole = this.avatar.role;\n * ```\n */\n @HostBinding('attr.role')\n public role = 'img';\n\n /**\n * Host `class.igx-avatar` binding.\n *\n * @hidden\n * @internal\n */\n @HostBinding('class.igx-avatar')\n public cssClass = 'igx-avatar';\n\n /**\n * Returns the type of the avatar.\n * The avatar can be:\n * - `\"initials type avatar\"`\n * - `\"icon type avatar\"`\n * - `\"image type avatar\"`.\n * - `\"custom type avatar\"`.\n *\n * @example\n * ```typescript\n * let avatarDescription = this.avatar.roleDescription;\n * ```\n */\n @HostBinding('attr.aria-roledescription')\n public roleDescription: string;\n\n /**\n * Sets the `id` of the avatar. If not set, the first avatar component will have `id` = `\"igx-avatar-0\"`.\n *\n * @example\n * ```html\n * <igx-avatar id=\"my-first-avatar\"></igx-avatar>\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-avatar-${NEXT_ID++}`;\n\n /**\n * Sets square, rounded or circular shape to the avatar.\n * By default the shape of the avatar is square.\n *\n * @example\n * ```html\n * <igx-avatar shape=\"rounded\"></igx-avatar>\n * ```\n */\n @Input()\n public shape: 'square' | 'rounded' | 'circle' = 'square';\n\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--rounded')\n public get isRounded(): boolean {\n return this.shape === 'rounded';\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--circle')\n public get isCircle(): boolean {\n return this.shape === 'circle';\n }\n\n /**\n * Sets the color of the avatar's initials or icon.\n *\n * @example\n * ```html\n * <igx-avatar color=\"blue\"></igx-avatar>\n * ```\n * @deprecated in version 17.2.0.\n */\n\n @HostBinding('style.color')\n @Input()\n public color: string;\n\n /**\n * Sets the background color of the avatar.\n *\n * @example\n * ```html\n * <igx-avatar bgColor=\"yellow\"></igx-avatar>\n * ```\n * @igxFriendlyName Background color\n * @deprecated in version 17.2.0.\n */\n\n @HostBinding('style.background')\n @Input()\n public bgColor: string;\n\n /**\n * Sets initials to the avatar.\n *\n * @example\n * ```html\n * <igx-avatar initials=\"MN\"></igx-avatar>\n * ```\n */\n @Input()\n public initials: string;\n\n /**\n * Sets an icon to the avatar. All icons from the material icon set are supported.\n *\n * @example\n * ```html\n * <igx-avatar icon=\"phone\"></igx-avatar>\n * ```\n */\n @Input()\n public icon: string;\n\n /**\n * Sets the image source of the avatar.\n *\n * @example\n * ```html\n * <igx-avatar src=\"images/picture.jpg\"></igx-avatar>\n * ```\n * @igxFriendlyName Image URL\n */\n @Input()\n public set src(value: string) {\n this._src = normalizeURI(value);\n }\n\n public get src() {\n return this._src;\n }\n\n /** @hidden @internal */\n @ViewChild('defaultTemplate', { read: TemplateRef, static: true })\n protected defaultTemplate: TemplateRef<any>;\n\n /** @hidden @internal */\n @ViewChild('imageTemplate', { read: TemplateRef, static: true })\n protected imageTemplate: TemplateRef<any>;\n\n /** @hidden @internal */\n @ViewChild('initialsTemplate', { read: TemplateRef, static: true })\n protected initialsTemplate: TemplateRef<any>;\n\n /** @hidden @internal */\n @ViewChild('iconTemplate', { read: TemplateRef, static: true })\n protected iconTemplate: TemplateRef<any>;\n\n /**\n * @hidden\n * @internal\n */\n private _size: string | IgxAvatarSize;\n private _src: string;\n\n /**\n * Returns the size of the avatar.\n *\n * @example\n * ```typescript\n * let avatarSize = this.avatar.size;\n * ```\n */\n @Input()\n public get size(): string | IgxAvatarSize {\n return this._size || IgxAvatarSize.SMALL;\n }\n\n /**\n * Sets the size of the avatar.\n * By default, the size is `\"small\"`. It can be set to `\"medium\"` or `\"large\"`.\n *\n * @example\n * ```html\n * <igx-avatar size=\"large\"></igx-avatar>\n * ```\n */\n public set size(value: string | IgxAvatarSize) {\n switch (value) {\n case 'small':\n case 'medium':\n case 'large':\n this._size = value;\n break;\n default:\n this._size = 'small';\n }\n }\n\n /**\n * Returns the type of the avatar.\n *\n * @example\n * ```typescript\n * let avatarType = this.avatar.type;\n * ```\n */\n public get type(): IgxAvatarType {\n if (this.src) {\n return IgxAvatarType.IMAGE;\n }\n\n if (this.icon) {\n return IgxAvatarType.ICON;\n }\n\n if (this.initials) {\n return IgxAvatarType.INITIALS;\n }\n\n return IgxAvatarType.CUSTOM;\n }\n\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--image')\n public get _isImageType(): boolean {\n return this.type === IgxAvatarType.IMAGE;\n }\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--icon')\n public get _isIconType(): boolean {\n return this.type === IgxAvatarType.ICON;\n }\n /** @hidden @internal */\n @HostBinding('class.igx-avatar--initials')\n public get _isInitialsType(): boolean {\n return this.type === IgxAvatarType.INITIALS;\n }\n\n @HostBinding('style.--component-size')\n protected get componentSize() {\n if (this._size) {\n return `var(--ig-size-${this._size})`;\n }\n }\n\n /**\n * Returns the template of the avatar.\n *\n * @hidden\n * @internal\n */\n public get template(): TemplateRef<any> {\n switch (this.type) {\n case IgxAvatarType.IMAGE:\n return this.imageTemplate;\n case IgxAvatarType.INITIALS:\n return this.initialsTemplate;\n case IgxAvatarType.ICON:\n return this.iconTemplate;\n default:\n return this.defaultTemplate;\n }\n }\n\n /**\n * Returns the css url of the image.\n *\n * @hidden\n * @internal\n */\n public getSrcUrl() {\n return `url(\"${this.src}\")`;\n }\n\n /** @hidden @internal */\n public ngOnInit() {\n this.roleDescription = this.getRole();\n }\n\n /** @hidden @internal */\n private getRole(): string {\n switch (this.type) {\n case IgxAvatarType.IMAGE:\n return 'image avatar';\n case IgxAvatarType.ICON:\n return 'icon avatar';\n case IgxAvatarType.INITIALS:\n return 'initials avatar';\n default:\n return 'custom avatar';\n }\n }\n}\n\n","<ng-template #defaultTemplate>\n <ng-content></ng-content>\n</ng-template>\n\n<ng-template #imageTemplate>\n <div #image class=\"igx-avatar__image\" [style.backgroundImage]=\"getSrcUrl()\"></div>\n</ng-template>\n\n<ng-template #initialsTemplate>\n <span>{{initials.substring(0, 2)}}</span>\n</ng-template>\n\n<ng-template #iconTemplate>\n <igx-icon>{{icon}}</igx-icon>\n</ng-template>\n\n<ng-container *ngTemplateOutlet=\"template\"></ng-container>\n","import { NgModule } from '@angular/core';\nimport { IgxAvatarComponent } from './avatar.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [IgxAvatarComponent],\n exports: [IgxAvatarComponent]\n})\nexport class IgxAvatarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -149,7 +149,6 @@ class IgxBadgeComponent {
149
149
  if (!this.dot) {
150
150
  return this.shape === 'square';
151
151
  }
152
- return undefined;
153
152
  }
154
153
  /**
155
154
  * Defines a human-readable, accessor, author-localized description for
@@ -1 +1 @@
1
- {"version":3,"file":"igniteui-angular-badge.mjs","sources":["../../../projects/igniteui-angular/badge/src/badge/badge.component.ts","../../../projects/igniteui-angular/badge/src/badge/badge.component.html","../../../projects/igniteui-angular/badge/src/badge/badge.module.ts","../../../projects/igniteui-angular/badge/src/igniteui-angular-badge.ts"],"sourcesContent":["import { booleanAttribute, Component, HostBinding, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\nlet NEXT_ID = 0;\n\n/**\n * Determines the igxBadge type\n */\nexport const IgxBadgeType = {\n PRIMARY: 'primary',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error'\n} as const;\nexport type IgxBadgeType = (typeof IgxBadgeType)[keyof typeof IgxBadgeType];\n/**\n * Badge provides visual notifications used to decorate avatars, menus, etc.\n *\n * @igxModule IgxBadgeModule\n *\n * @igxTheme igx-badge-theme\n *\n * @igxKeywords badge, icon, notification\n *\n * @igxGroup Data Entry & Display\n *\n * @remarks\n * The Ignite UI Badge is used to decorate avatars, navigation menus, or other components in the\n * application when visual notification is needed. They are usually designed as icons with a predefined\n * style to communicate information, success, warnings, or errors.\n *\n * @example\n * ```html\n * <div class=\"avatar-badge-container\">\n * <igx-avatar icon=\"person\" shape=\"circle\" size=\"small\"></igx-avatar>\n * <igx-badge icon=\"check\" type=\"success\" shape=\"square\"></igx-badge>\n * </div>\n * ```\n */\n@Component({\n selector: 'igx-badge',\n styleUrl: 'badge.component.css',\n templateUrl: 'badge.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent]\n})\nexport class IgxBadgeComponent {\n\n /**\n * Sets/gets the `id` of the badge.\n *\n * @remarks\n * If not set, the `id` will have value `\"igx-badge-0\"`.\n *\n * @example\n * ```html\n * <igx-badge id=\"igx-badge-2\"></igx-badge>\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-badge-${NEXT_ID++}`;\n\n /**\n * Sets/gets the type of the badge.\n *\n * @remarks\n * Allowed values are `primary`, `info`, `success`, `warning`, `error`.\n * Providing an invalid value won't display a badge.\n *\n * @example\n * ```html\n * <igx-badge type=\"success\"></igx-badge>\n * ```\n */\n @Input()\n public type: string | IgxBadgeType = IgxBadgeType.PRIMARY;\n\n /**\n * Sets/gets the value to be displayed inside the badge.\n *\n * @remarks\n * If neither a `value` nor an `icon` is set the content of the badge will be empty.\n *\n * @example\n * ```html\n * <igx-badge value=\"11\"></igx-badge>\n * ```\n */\n @Input()\n public value: string | number = '';\n\n /**\n * Sets/gets an icon for the badge from the material icons set.\n *\n * @remarks\n * If neither a `value` nor an `icon` is set the content of the badge will be empty.\n * Providing an invalid value won't display anything.\n *\n * @example\n * ```html\n * <igx-badge icon=\"check\"></igx-badge>\n * ```\n */\n @Input()\n public icon!: string;\n\n /**\n * The name of the icon set. Used in case the icon is from a different icon set.\n */\n @Input()\n public iconSet!: string;\n\n /**\n * Sets/gets the role attribute value.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyBadge\", { read: IgxBadgeComponent })\n * public badge: IgxBadgeComponent;\n *\n * badge.role = 'status';\n * ```\n */\n @HostBinding('attr.role')\n public role = 'status';\n\n /**\n * Sets/gets the css class to use on the badge.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyBadge\", { read: IgxBadgeComponent })\n * public badge: IgxBadgeComponent;\n *\n * badge.cssClass = 'my-badge-class';\n * ```\n */\n @HostBinding('class.igx-badge')\n public cssClass = 'igx-badge';\n\n /**\n * Sets a square shape to the badge, if `shape` is set to `square`.\n * By default the shape of the badge is rounded.\n *\n * @example\n * ```html\n * <igx-badge shape=\"square\"></igx-badge>\n * ```\n */\n @Input()\n public shape: 'rounded' | 'square' = 'rounded';\n\n /** @hidden @internal */\n @HostBinding('class.igx-badge--square')\n public get _squareShape(): boolean {\n if (!this.dot) {\n return this.shape === 'square';\n }\n return undefined!;\n }\n\n /**\n * Sets/gets the aria-label attribute value.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyBadge\", { read: IgxBadgeComponent })\n * public badge: IgxBadgeComponent;\n *\n * badge.label = 'badge';\n * ```\n */\n @HostBinding('attr.aria-label')\n public label = 'badge';\n\n /**\n * Sets/gets whether the badge is outlined.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-badge outlined></igx-badge>\n * ```\n */\n @Input({transform: booleanAttribute})\n @HostBinding('class.igx-badge--outlined')\n public outlined = false;\n\n /**\n * Sets/gets whether the badge is displayed as a dot.\n * When true, the badge will be rendered as a minimal 8px indicator without any content.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-badge dot type=\"success\"></igx-badge>\n * ```\n */\n @Input({transform: booleanAttribute})\n @HostBinding('class.igx-badge--dot')\n public dot = false;\n\n /**\n * Defines a human-readable, accessor, author-localized description for\n * the `type` and the `icon` or `value` of the element.\n *\n * @hidden\n * @internal\n */\n @HostBinding('attr.aria-roledescription')\n public get roleDescription() {\n if (this.icon) {\n return this.type + ' type badge with icon type ' + this.icon;\n } else if (this.value || this.value === 0) {\n return this.type + ' badge type with value ' + this.value;\n }\n return this.type + ' badge type without value';\n }\n\n @HostBinding('class.igx-badge--info')\n public get infoClass() {\n return this.type === IgxBadgeType.INFO;\n }\n\n @HostBinding('class.igx-badge--success')\n public get successClass() {\n return this.type === IgxBadgeType.SUCCESS;\n }\n\n @HostBinding('class.igx-badge--warning')\n public get warningClass() {\n return this.type === IgxBadgeType.WARNING;\n }\n\n @HostBinding('class.igx-badge--error')\n public get errorClass() {\n return this.type === IgxBadgeType.ERROR;\n }\n}\n","@if (value || value === 0 && !icon) {\n <span class=\"igx-badge__value\">{{value}}</span>\n}\n@if (icon && !iconSet) {\n <igx-icon>{{icon}}</igx-icon>\n}\n@if (icon && iconSet) {\n <igx-icon [family]=\"iconSet\" [name]=\"icon\">{{icon}}</igx-icon>\n}\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { IgxBadgeComponent } from './badge.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n exports: [IgxBadgeComponent],\n imports: [IgxBadgeComponent]\n})\nexport class IgxBadgeModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"igniteui-angular-badge.mjs","sources":["../../../projects/igniteui-angular/badge/src/badge/badge.component.ts","../../../projects/igniteui-angular/badge/src/badge/badge.component.html","../../../projects/igniteui-angular/badge/src/badge/badge.module.ts","../../../projects/igniteui-angular/badge/src/igniteui-angular-badge.ts"],"sourcesContent":["import { booleanAttribute, Component, HostBinding, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\nlet NEXT_ID = 0;\n\n/**\n * Determines the igxBadge type\n */\nexport const IgxBadgeType = {\n PRIMARY: 'primary',\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error'\n} as const;\nexport type IgxBadgeType = (typeof IgxBadgeType)[keyof typeof IgxBadgeType];\n/**\n * Badge provides visual notifications used to decorate avatars, menus, etc.\n *\n * @igxModule IgxBadgeModule\n *\n * @igxTheme igx-badge-theme\n *\n * @igxKeywords badge, icon, notification\n *\n * @igxGroup Data Entry & Display\n *\n * @remarks\n * The Ignite UI Badge is used to decorate avatars, navigation menus, or other components in the\n * application when visual notification is needed. They are usually designed as icons with a predefined\n * style to communicate information, success, warnings, or errors.\n *\n * @example\n * ```html\n * <div class=\"avatar-badge-container\">\n * <igx-avatar icon=\"person\" shape=\"circle\" size=\"small\"></igx-avatar>\n * <igx-badge icon=\"check\" type=\"success\" shape=\"square\"></igx-badge>\n * </div>\n * ```\n */\n@Component({\n selector: 'igx-badge',\n styleUrl: 'badge.component.css',\n templateUrl: 'badge.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxIconComponent]\n})\nexport class IgxBadgeComponent {\n\n /**\n * Sets/gets the `id` of the badge.\n *\n * @remarks\n * If not set, the `id` will have value `\"igx-badge-0\"`.\n *\n * @example\n * ```html\n * <igx-badge id=\"igx-badge-2\"></igx-badge>\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-badge-${NEXT_ID++}`;\n\n /**\n * Sets/gets the type of the badge.\n *\n * @remarks\n * Allowed values are `primary`, `info`, `success`, `warning`, `error`.\n * Providing an invalid value won't display a badge.\n *\n * @example\n * ```html\n * <igx-badge type=\"success\"></igx-badge>\n * ```\n */\n @Input()\n public type: string | IgxBadgeType = IgxBadgeType.PRIMARY;\n\n /**\n * Sets/gets the value to be displayed inside the badge.\n *\n * @remarks\n * If neither a `value` nor an `icon` is set the content of the badge will be empty.\n *\n * @example\n * ```html\n * <igx-badge value=\"11\"></igx-badge>\n * ```\n */\n @Input()\n public value: string | number = '';\n\n /**\n * Sets/gets an icon for the badge from the material icons set.\n *\n * @remarks\n * If neither a `value` nor an `icon` is set the content of the badge will be empty.\n * Providing an invalid value won't display anything.\n *\n * @example\n * ```html\n * <igx-badge icon=\"check\"></igx-badge>\n * ```\n */\n @Input()\n public icon: string;\n\n /**\n * The name of the icon set. Used in case the icon is from a different icon set.\n */\n @Input()\n public iconSet: string;\n\n /**\n * Sets/gets the role attribute value.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyBadge\", { read: IgxBadgeComponent })\n * public badge: IgxBadgeComponent;\n *\n * badge.role = 'status';\n * ```\n */\n @HostBinding('attr.role')\n public role = 'status';\n\n /**\n * Sets/gets the css class to use on the badge.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyBadge\", { read: IgxBadgeComponent })\n * public badge: IgxBadgeComponent;\n *\n * badge.cssClass = 'my-badge-class';\n * ```\n */\n @HostBinding('class.igx-badge')\n public cssClass = 'igx-badge';\n\n /**\n * Sets a square shape to the badge, if `shape` is set to `square`.\n * By default the shape of the badge is rounded.\n *\n * @example\n * ```html\n * <igx-badge shape=\"square\"></igx-badge>\n * ```\n */\n @Input()\n public shape: 'rounded' | 'square' = 'rounded';\n\n /** @hidden @internal */\n @HostBinding('class.igx-badge--square')\n public get _squareShape(): boolean {\n if (!this.dot) {\n return this.shape === 'square';\n }\n }\n\n /**\n * Sets/gets the aria-label attribute value.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyBadge\", { read: IgxBadgeComponent })\n * public badge: IgxBadgeComponent;\n *\n * badge.label = 'badge';\n * ```\n */\n @HostBinding('attr.aria-label')\n public label = 'badge';\n\n /**\n * Sets/gets whether the badge is outlined.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-badge outlined></igx-badge>\n * ```\n */\n @Input({transform: booleanAttribute})\n @HostBinding('class.igx-badge--outlined')\n public outlined = false;\n\n /**\n * Sets/gets whether the badge is displayed as a dot.\n * When true, the badge will be rendered as a minimal 8px indicator without any content.\n * Default value is `false`.\n *\n * @example\n * ```html\n * <igx-badge dot type=\"success\"></igx-badge>\n * ```\n */\n @Input({transform: booleanAttribute})\n @HostBinding('class.igx-badge--dot')\n public dot = false;\n\n /**\n * Defines a human-readable, accessor, author-localized description for\n * the `type` and the `icon` or `value` of the element.\n *\n * @hidden\n * @internal\n */\n @HostBinding('attr.aria-roledescription')\n public get roleDescription() {\n if (this.icon) {\n return this.type + ' type badge with icon type ' + this.icon;\n } else if (this.value || this.value === 0) {\n return this.type + ' badge type with value ' + this.value;\n }\n return this.type + ' badge type without value';\n }\n\n @HostBinding('class.igx-badge--info')\n public get infoClass() {\n return this.type === IgxBadgeType.INFO;\n }\n\n @HostBinding('class.igx-badge--success')\n public get successClass() {\n return this.type === IgxBadgeType.SUCCESS;\n }\n\n @HostBinding('class.igx-badge--warning')\n public get warningClass() {\n return this.type === IgxBadgeType.WARNING;\n }\n\n @HostBinding('class.igx-badge--error')\n public get errorClass() {\n return this.type === IgxBadgeType.ERROR;\n }\n}\n","@if (value || value === 0 && !icon) {\n <span class=\"igx-badge__value\">{{value}}</span>\n}\n@if (icon && !iconSet) {\n <igx-icon>{{icon}}</igx-icon>\n}\n@if (icon && iconSet) {\n <igx-icon [family]=\"iconSet\" [name]=\"icon\">{{icon}}</igx-icon>\n}\n<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { IgxBadgeComponent } from './badge.component';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n exports: [IgxBadgeComponent],\n imports: [IgxBadgeComponent]\n})\nexport class IgxBadgeModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -286,11 +286,11 @@ class IgxBannerComponent {
286
286
  this.closed.emit(this._bannerEvent);
287
287
  }
288
288
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
289
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxBannerComponent, isStandalone: true, selector: "igx-banner", inputs: { animationSettings: "animationSettings", resourceStrings: "resourceStrings", expanded: "expanded" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing" }, host: { properties: { "class": "this.cssClass", "style.display": "this.displayStyle" } }, queries: [{ propertyName: "bannerIcon", first: true, predicate: IgxIconComponent, descendants: true }, { propertyName: "_bannerActionTemplate", first: true, predicate: IgxBannerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "_expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true, static: true }], ngImport: i0, template: "<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", styles: ["@layer ig.base{.igx-banner__actions>igx-banner-actions,.igx-banner__actions{display:flex;flex-wrap:wrap;align-self:flex-end;gap:.5rem}.igx-banner__actions>igx-banner-actions>a,.igx-banner__actions>a{display:inline-flex;align-items:center}.igx-banner__illustration,.igx-banner__message{display:flex;align-items:center}.igx-banner-host igx-expansion-panel-body{padding:0!important}.igx-banner{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--ig-size-large));display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:1rem .5rem;min-width:20rem;background:var(--banner-background);box-shadow:inset 0 -.0625rem 0 0 var(--banner-border-color);border-radius:var(--border-radius)}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-large))}.igx-banner__message{min-width:9.375rem;flex:1 0 0%;gap:1rem;padding:0 .5rem}.igx-banner__illustration{justify-content:center;color:var(--banner-illustration-color)}.igx-banner__text{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block:0;color:var(--banner-message-color);flex:1 0 0%}.igx-banner__text>*:not(hr){margin-block-start:0!important}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-banner{box-shadow:inset 0 0 0 .0625rem var(--banner-border-color);padding:1rem}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-medium))}.igx-banner__message{gap:.5rem;padding:initial}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-banner__text{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block:0}}}\n"], dependencies: [{ kind: "component", type: IgxExpansionPanelComponent, selector: "igx-expansion-panel", inputs: ["animationSettings", "id", "collapsed"], outputs: ["collapsedChange", "contentCollapsing", "contentCollapsed", "contentExpanding", "contentExpanded"] }, { kind: "component", type: IgxExpansionPanelBodyComponent, selector: "igx-expansion-panel-body", inputs: ["role", "label", "labelledBy"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
289
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxBannerComponent, isStandalone: true, selector: "igx-banner", inputs: { animationSettings: "animationSettings", resourceStrings: "resourceStrings", expanded: "expanded" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing" }, host: { properties: { "class": "this.cssClass", "style.display": "this.displayStyle" } }, queries: [{ propertyName: "bannerIcon", first: true, predicate: IgxIconComponent, descendants: true }, { propertyName: "_bannerActionTemplate", first: true, predicate: IgxBannerActionsDirective, descendants: true }], viewQueries: [{ propertyName: "_expansionPanel", first: true, predicate: ["expansionPanel"], descendants: true, static: true }], ngImport: i0, template: "<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()\">\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", styles: ["@layer ig.base{.igx-banner__actions>igx-banner-actions,.igx-banner__actions{display:flex;flex-wrap:wrap;align-self:flex-end;gap:.5rem}.igx-banner__actions>igx-banner-actions>a,.igx-banner__actions>a{display:inline-flex;align-items:center}.igx-banner__illustration,.igx-banner__message{display:flex;align-items:center}.igx-banner-host igx-expansion-panel-body{padding:0!important}.igx-banner{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--ig-size-large));display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:1rem .5rem;min-width:20rem;background:var(--banner-background);box-shadow:inset 0 -.0625rem 0 0 var(--banner-border-color);border-radius:var(--border-radius)}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-large))}.igx-banner__message{min-width:9.375rem;flex:1 0 0%;gap:1rem;padding:0 .5rem}.igx-banner__illustration{justify-content:center;color:var(--banner-illustration-color)}.igx-banner__text{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block:0;color:var(--banner-message-color);flex:1 0 0%}.igx-banner__text>*:not(hr){margin-block-start:0!important}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-banner{box-shadow:inset 0 0 0 .0625rem var(--banner-border-color);padding:1rem}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-medium))}.igx-banner__message{gap:.5rem;padding:initial}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-banner__text{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block:0}}}\n"], dependencies: [{ kind: "component", type: IgxExpansionPanelComponent, selector: "igx-expansion-panel", inputs: ["animationSettings", "id", "collapsed"], outputs: ["collapsedChange", "contentCollapsing", "contentCollapsed", "contentExpanding", "contentExpanded"] }, { kind: "component", type: IgxExpansionPanelBodyComponent, selector: "igx-expansion-panel-body", inputs: ["role", "label", "labelledBy"] }, { kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
290
290
  }
291
291
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: IgxBannerComponent, decorators: [{
292
292
  type: Component,
293
- args: [{ selector: 'igx-banner', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxExpansionPanelComponent, IgxExpansionPanelBodyComponent, IgxButtonDirective, IgxRippleDirective], template: "<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", styles: ["@layer ig.base{.igx-banner__actions>igx-banner-actions,.igx-banner__actions{display:flex;flex-wrap:wrap;align-self:flex-end;gap:.5rem}.igx-banner__actions>igx-banner-actions>a,.igx-banner__actions>a{display:inline-flex;align-items:center}.igx-banner__illustration,.igx-banner__message{display:flex;align-items:center}.igx-banner-host igx-expansion-panel-body{padding:0!important}.igx-banner{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--ig-size-large));display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:1rem .5rem;min-width:20rem;background:var(--banner-background);box-shadow:inset 0 -.0625rem 0 0 var(--banner-border-color);border-radius:var(--border-radius)}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-large))}.igx-banner__message{min-width:9.375rem;flex:1 0 0%;gap:1rem;padding:0 .5rem}.igx-banner__illustration{justify-content:center;color:var(--banner-illustration-color)}.igx-banner__text{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block:0;color:var(--banner-message-color);flex:1 0 0%}.igx-banner__text>*:not(hr){margin-block-start:0!important}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-banner{box-shadow:inset 0 0 0 .0625rem var(--banner-border-color);padding:1rem}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-medium))}.igx-banner__message{gap:.5rem;padding:initial}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-banner__text{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block:0}}}\n"] }]
293
+ args: [{ selector: 'igx-banner', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxExpansionPanelComponent, IgxExpansionPanelBodyComponent, IgxButtonDirective, IgxRippleDirective], template: "<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()\">\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", styles: ["@layer ig.base{.igx-banner__actions>igx-banner-actions,.igx-banner__actions{display:flex;flex-wrap:wrap;align-self:flex-end;gap:.5rem}.igx-banner__actions>igx-banner-actions>a,.igx-banner__actions>a{display:inline-flex;align-items:center}.igx-banner__illustration,.igx-banner__message{display:flex;align-items:center}.igx-banner-host igx-expansion-panel-body{padding:0!important}.igx-banner{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);--component-size: var(--ig-size, var(--ig-size-large));display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.5rem;padding:1rem .5rem;min-width:20rem;background:var(--banner-background);box-shadow:inset 0 -.0625rem 0 0 var(--banner-border-color);border-radius:var(--border-radius)}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-large))}.igx-banner__message{min-width:9.375rem;flex:1 0 0%;gap:1rem;padding:0 .5rem}.igx-banner__illustration{justify-content:center;color:var(--banner-illustration-color)}.igx-banner__text{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);margin-block:0;color:var(--banner-message-color);flex:1 0 0%}.igx-banner__text>*:not(hr){margin-block-start:0!important}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-banner{box-shadow:inset 0 0 0 .0625rem var(--banner-border-color);padding:1rem}.igx-banner igc-icon,.igx-banner igx-icon,.igx-banner igc-button,.igx-banner [igxButton]{--component-size: var(--ig-size, var(--ig-size-medium))}.igx-banner__message{gap:.5rem;padding:initial}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-banner__text{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block:0}}}\n"] }]
294
294
  }], ctorParameters: () => [], propDecorators: { bannerIcon: [{
295
295
  type: ContentChild,
296
296
  args: [IgxIconComponent]
@@ -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 = 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?: Event) {\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?: Event) {\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?: Event) {\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()\">\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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"}