igniteui-angular 22.1.0-beta.7 → 22.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/fesm2022/igniteui-angular-accordion.mjs +4 -4
- package/fesm2022/igniteui-angular-accordion.mjs.map +1 -1
- package/fesm2022/igniteui-angular-action-strip.mjs +48 -12
- package/fesm2022/igniteui-angular-action-strip.mjs.map +1 -1
- package/fesm2022/igniteui-angular-avatar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-badge.mjs +1 -0
- package/fesm2022/igniteui-angular-badge.mjs.map +1 -1
- package/fesm2022/igniteui-angular-banner.mjs +2 -2
- package/fesm2022/igniteui-angular-banner.mjs.map +1 -1
- package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +5 -4
- package/fesm2022/igniteui-angular-calendar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-card.mjs.map +1 -1
- package/fesm2022/igniteui-angular-carousel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-chips.mjs +18 -2
- package/fesm2022/igniteui-angular-chips.mjs.map +1 -1
- package/fesm2022/igniteui-angular-combo.mjs +6 -17
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +337 -16
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +15 -13
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs.map +1 -1
- package/fesm2022/igniteui-angular-directives.mjs +47 -45
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +2 -3
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +12 -23
- package/fesm2022/igniteui-angular-expansion-panel.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-core.mjs +220 -484
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +96 -117
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +19 -15
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs +2 -8
- package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +153 -75
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +36 -29
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs.map +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs +1 -1
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +3 -2
- package/fesm2022/igniteui-angular-navigation-drawer.mjs.map +1 -1
- package/fesm2022/igniteui-angular-paginator.mjs.map +1 -1
- package/fesm2022/igniteui-angular-progressbar.mjs +2 -5
- package/fesm2022/igniteui-angular-progressbar.mjs.map +1 -1
- package/fesm2022/igniteui-angular-query-builder.mjs +19 -18
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +1 -1
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +7 -10
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +3 -3
- package/fesm2022/igniteui-angular-slider.mjs.map +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs +1 -1
- package/fesm2022/igniteui-angular-splitter.mjs.map +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs +1 -1
- package/fesm2022/igniteui-angular-stepper.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tabs.mjs.map +1 -1
- package/fesm2022/igniteui-angular-time-picker.mjs +6 -3
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-tree.mjs +10 -8
- package/fesm2022/igniteui-angular-tree.mjs.map +1 -1
- package/migrations/migration-collection.json +10 -0
- package/migrations/update-21_0_0_import-migration/index.js +11 -5
- package/migrations/update-21_0_0_import-migration/index.spec.d.ts +1 -0
- package/migrations/update-21_0_0_import-migration/index.spec.js +175 -0
- package/migrations/update-21_1_0_import-migration/index.js +14 -5
- package/migrations/update-21_1_0_import-migration/index.spec.d.ts +1 -0
- package/migrations/update-21_1_0_import-migration/index.spec.js +146 -0
- package/migrations/update-22_1_0_chip-outline/changes/theme-changes.json +17 -0
- package/migrations/update-22_1_0_chip-outline/index.d.ts +3 -0
- package/migrations/update-22_1_0_chip-outline/index.js +18 -0
- package/migrations/update-22_1_0_chip-outline/index.spec.d.ts +1 -0
- package/migrations/update-22_1_0_chip-outline/index.spec.js +68 -0
- package/migrations/update-22_1_0_import-migration/index.d.ts +2 -0
- package/migrations/update-22_1_0_import-migration/index.js +228 -0
- package/migrations/update-22_1_0_import-migration/index.spec.d.ts +1 -0
- package/migrations/update-22_1_0_import-migration/index.spec.js +188 -0
- package/package.json +4 -4
- package/skills/igniteui-angular-components/SKILL.md +1 -0
- package/skills/igniteui-angular-figma-to-app/SKILL.md +1 -0
- package/skills/igniteui-angular-generate-from-image-design/SKILL.md +1 -0
- package/skills/igniteui-angular-grids/SKILL.md +1 -0
- package/skills/igniteui-angular-theming/SKILL.md +1 -0
- package/styles/igniteui-angular-dark.css +1 -1
- package/styles/igniteui-angular.css +1 -1
- package/styles/igniteui-bootstrap-dark.css +1 -1
- package/styles/igniteui-bootstrap-light.css +1 -1
- package/styles/igniteui-dark-green.css +1 -1
- package/styles/igniteui-fluent-dark-excel.css +1 -1
- package/styles/igniteui-fluent-dark-word.css +1 -1
- package/styles/igniteui-fluent-dark.css +1 -1
- package/styles/igniteui-fluent-light-excel.css +1 -1
- package/styles/igniteui-fluent-light-word.css +1 -1
- package/styles/igniteui-fluent-light.css +1 -1
- package/styles/igniteui-indigo-dark.css +1 -1
- package/styles/igniteui-indigo-light.css +1 -1
- package/styles/maps/igniteui-angular-dark.css.map +1 -1
- package/styles/maps/igniteui-angular.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
- package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
- package/styles/maps/igniteui-dark-green.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-dark.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
- package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
- package/styles/maps/igniteui-fluent-light.css.map +1 -1
- package/styles/maps/igniteui-indigo-dark.css.map +1 -1
- package/styles/maps/igniteui-indigo-light.css.map +1 -1
- package/types/igniteui-angular-action-strip.d.ts +15 -2
- package/types/igniteui-angular-avatar.d.ts +1 -1
- package/types/igniteui-angular-banner.d.ts +3 -3
- package/types/igniteui-angular-calendar.d.ts +9 -9
- package/types/igniteui-angular-card.d.ts +1 -1
- package/types/igniteui-angular-carousel.d.ts +9 -9
- package/types/igniteui-angular-chat.d.ts +1 -1
- package/types/igniteui-angular-chips.d.ts +17 -6
- package/types/igniteui-angular-combo.d.ts +13 -17
- package/types/igniteui-angular-core.d.ts +504 -202
- package/types/igniteui-angular-date-picker.d.ts +3 -3
- package/types/igniteui-angular-dialog.d.ts +4 -4
- package/types/igniteui-angular-directives.d.ts +59 -60
- package/types/igniteui-angular-drop-down.d.ts +16 -16
- package/types/igniteui-angular-expansion-panel.d.ts +6 -6
- package/types/igniteui-angular-grids-core.d.ts +796 -1053
- package/types/igniteui-angular-grids-grid.d.ts +267 -104
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +547 -68
- package/types/igniteui-angular-grids-lite.d.ts +18 -9
- package/types/igniteui-angular-grids-pivot-grid.d.ts +129 -94
- package/types/igniteui-angular-grids-tree-grid.d.ts +51 -5
- package/types/igniteui-angular-icon.d.ts +2 -2
- package/types/igniteui-angular-input-group.d.ts +4 -4
- package/types/igniteui-angular-list.d.ts +4 -4
- package/types/igniteui-angular-navigation-drawer.d.ts +3 -3
- package/types/igniteui-angular-progressbar.d.ts +0 -1
- package/types/igniteui-angular-query-builder.d.ts +9 -9
- package/types/igniteui-angular-radio.d.ts +1 -1
- package/types/igniteui-angular-select.d.ts +5 -5
- package/types/igniteui-angular-simple-combo.d.ts +2 -2
- package/types/igniteui-angular-slider.d.ts +4 -4
- package/types/igniteui-angular-splitter.d.ts +3 -3
- package/types/igniteui-angular-time-picker.d.ts +8 -8
- package/types/igniteui-angular-tree.d.ts +8 -8
package/README.md
CHANGED
|
@@ -50,6 +50,7 @@ This repository ships with **Copilot Skills** — structured knowledge files tha
|
|
|
50
50
|
| Data Grids | [`skills/igniteui-angular-grids/SKILL.md`](skills/igniteui-angular-grids/SKILL.md) | Data Grids (grid type selection, column config, sorting, filtering, selection, editing, grouping, paging, remote data, state persistence, Tree Grid, Hierarchical Grid, Grid Lite, Pivot Grid) |
|
|
51
51
|
| Theming & Styling | [`skills/igniteui-angular-theming/SKILL.md`](skills/igniteui-angular-theming/SKILL.md) | Theming & Styling (includes MCP server setup) |
|
|
52
52
|
| Generate From Image Design | [`skills/igniteui-angular-generate-from-image-design/SKILL.md`](skills/igniteui-angular-generate-from-image-design/SKILL.md) | Build Angular views from screenshots, mockups, and wireframes using Ignite UI components, theming MCP tools, and image-to-layout/component mapping guidance |
|
|
53
|
+
| Figma to App | [`skills/igniteui-angular-figma-to-app/SKILL.md`](skills/igniteui-angular-figma-to-app/SKILL.md) | Translate Figma app screens built with the Indigo.Design UI Kits (Material, Fluent, Bootstrap, Indigo) into Angular apps — 1:1 Figma component to Ignite UI control mapping, design token bridging, asset extraction, and visual validation against the original design |
|
|
53
54
|
|
|
54
55
|
#### How It Works
|
|
55
56
|
|
|
@@ -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());
|
|
269
|
+
this._enabledPanels.forEach(p => p.collapse(event));
|
|
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();
|
|
274
|
+
this._enabledPanels[i].collapse(event);
|
|
275
275
|
}
|
|
276
|
-
this._enabledPanels[this._enabledPanels.length - 1].expand();
|
|
276
|
+
this._enabledPanels[this._enabledPanels.length - 1].expand(event);
|
|
277
277
|
return;
|
|
278
278
|
}
|
|
279
|
-
this._enabledPanels.forEach(p => p.expand());
|
|
279
|
+
this._enabledPanels.forEach(p => p.expand(event));
|
|
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());\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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"}
|
|
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":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, TemplateRef, Directive, ViewContainerRef, Renderer2, ElementRef, ChangeDetectorRef, DestroyRef, booleanAttribute, HostBinding, ViewChild, Input, ContentChildren, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
2
|
+
import { inject, TemplateRef, Directive, ViewContainerRef, Renderer2, ElementRef, ChangeDetectorRef, DestroyRef, signal, booleanAttribute, HostBinding, ViewChild, Input, ContentChildren, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import { CloseScrollStrategy, getCurrentResourceStrings, ActionStripResourceStringsEN, trackByIdentity, onResourceChangeHandle, IgxActionStripActionsToken, IgxActionStripToken } from 'igniteui-angular/core';
|
|
4
4
|
import { IgxIconComponent } from 'igniteui-angular/icon';
|
|
5
5
|
import { IgxIconButtonDirective, IgxRippleDirective, IgxToggleActionDirective } from 'igniteui-angular/directives';
|
|
@@ -54,6 +54,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
54
54
|
* </igx-action-strip>
|
|
55
55
|
*/
|
|
56
56
|
class IgxActionStripComponent {
|
|
57
|
+
/* blazorSuppress */
|
|
58
|
+
/**
|
|
59
|
+
* Sets the context of an action strip.
|
|
60
|
+
* The context should be an instance of a @Component, that has element property.
|
|
61
|
+
* This element will be the placeholder of the action strip.
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```html
|
|
65
|
+
* <igx-action-strip [context]="cell"></igx-action-strip>
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
set context(value) {
|
|
69
|
+
this._context.set(value);
|
|
70
|
+
}
|
|
71
|
+
get context() {
|
|
72
|
+
return this._context();
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Gets/Sets the visibility of the Action Strip.
|
|
76
|
+
* Could be used to set if the Action Strip will be initially hidden.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```html
|
|
80
|
+
* <igx-action-strip [hidden]="false">
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
set hidden(value) {
|
|
84
|
+
this._hidden.set(value);
|
|
85
|
+
}
|
|
86
|
+
get hidden() {
|
|
87
|
+
return this._hidden();
|
|
88
|
+
}
|
|
57
89
|
/**
|
|
58
90
|
* Gets/Sets the resource strings.
|
|
59
91
|
*
|
|
@@ -84,6 +116,7 @@ class IgxActionStripComponent {
|
|
|
84
116
|
return false;
|
|
85
117
|
}
|
|
86
118
|
}
|
|
119
|
+
return undefined;
|
|
87
120
|
}
|
|
88
121
|
constructor() {
|
|
89
122
|
this._viewContainer = inject(ViewContainerRef);
|
|
@@ -91,16 +124,6 @@ class IgxActionStripComponent {
|
|
|
91
124
|
this.el = inject(ElementRef);
|
|
92
125
|
/* blazorSuppress */
|
|
93
126
|
this.cdr = inject(ChangeDetectorRef);
|
|
94
|
-
/**
|
|
95
|
-
* Gets/Sets the visibility of the Action Strip.
|
|
96
|
-
* Could be used to set if the Action Strip will be initially hidden.
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* ```html
|
|
100
|
-
* <igx-action-strip [hidden]="false">
|
|
101
|
-
* ```
|
|
102
|
-
*/
|
|
103
|
-
this.hidden = true;
|
|
104
127
|
/**
|
|
105
128
|
* Getter for menu overlay settings
|
|
106
129
|
*
|
|
@@ -109,6 +132,19 @@ class IgxActionStripComponent {
|
|
|
109
132
|
*/
|
|
110
133
|
this.menuOverlaySettings = { scrollStrategy: new CloseScrollStrategy() };
|
|
111
134
|
this._destroyRef = inject(DestroyRef);
|
|
135
|
+
/**
|
|
136
|
+
* `hidden` and `context` are held in signals so that the reads in the `display` host binding
|
|
137
|
+
* and in the action components' templates are tracked. Both are changed imperatively - from
|
|
138
|
+
* `show`/`hide`, and from the grid while it is rendering (e.g. `viewDetachHandler` hiding the
|
|
139
|
+
* strip as its row is detached) - and a plain field would leave those bindings stale, which
|
|
140
|
+
* surfaces as `NG0100` in dev mode and as an out-of-date strip in a zoneless app: a component's
|
|
141
|
+
* host binding is only re-evaluated when its parent view is refreshed, so marking this
|
|
142
|
+
* component for check is not enough.
|
|
143
|
+
*/
|
|
144
|
+
this._hidden = signal(true, /* @ts-ignore */
|
|
145
|
+
...(ngDevMode ? [{ debugName: "_hidden" }] : /* istanbul ignore next */ []));
|
|
146
|
+
this._context = signal(undefined, /* @ts-ignore */
|
|
147
|
+
...(ngDevMode ? [{ debugName: "_context" }] : /* istanbul ignore next */ []));
|
|
112
148
|
this._resourceStrings = null;
|
|
113
149
|
this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN);
|
|
114
150
|
/**
|
|
@@ -143,7 +179,7 @@ class IgxActionStripComponent {
|
|
|
143
179
|
* Getter for the 'display' property of the current action strip
|
|
144
180
|
*/
|
|
145
181
|
get display() {
|
|
146
|
-
return this.
|
|
182
|
+
return this._hidden() ? 'none' : 'flex';
|
|
147
183
|
}
|
|
148
184
|
/**
|
|
149
185
|
* @hidden
|
|
@@ -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 }\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
|
+
{"version":3,"file":"igniteui-angular-action-strip.mjs","sources":["../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.component.html","../../../projects/igniteui-angular/action-strip/src/action-strip/public_api.ts","../../../projects/igniteui-angular/action-strip/src/action-strip/action-strip.module.ts","../../../projects/igniteui-angular/action-strip/src/igniteui-angular-action-strip.ts"],"sourcesContent":["import {\n Component,\n Directive,\n HostBinding,\n Input,\n Renderer2,\n ViewContainerRef,\n ContentChildren,\n QueryList,\n ViewChild,\n TemplateRef,\n ChangeDetectorRef,\n AfterViewInit,\n ElementRef,\n booleanAttribute,\n inject,\n DestroyRef,\n AfterContentInit,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n signal\n} from '@angular/core';\n\n\nimport {\n ActionStripResourceStringsEN,\n CloseScrollStrategy,\n getCurrentResourceStrings,\n onResourceChangeHandle,\n IActionStripResourceStrings,\n IgxActionStripActionsToken,\n IgxActionStripToken,\n OverlaySettings\n} from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\nimport { IgxToggleActionDirective } from 'igniteui-angular/directives';\nimport { IgxRippleDirective } from 'igniteui-angular/directives';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { IgxIconButtonDirective } from 'igniteui-angular/directives';\nimport { trackByIdentity } from 'igniteui-angular/core';\nimport { IgxDropDownComponent, IgxDropDownItemComponent, IgxDropDownItemNavigationDirective } from 'igniteui-angular/drop-down';\n\n@Directive({\n selector: '[igxActionStripMenuItem]',\n standalone: true\n})\nexport class IgxActionStripMenuItemDirective {\n public templateRef = inject<TemplateRef<any>>(TemplateRef);\n}\n\n/* blazorElement */\n/* jsonAPIManageItemInMarkup */\n/* jsonAPIManageCollectionInMarkup */\n/* wcElementTag: igc-action-strip */\n/* blazorIndirectRender */\n/* singleInstanceIdentifier */\n/* contentParent: Grid */\n/* contentParent: TreeGrid */\n/* contentParent: RowIsland */\n/* contentParent: HierarchicalGrid */\n/**\n * Action Strip provides templatable area for one or more actions.\n *\n * @igxModule IgxActionStripModule\n *\n * @igxTheme igx-action-strip-theme\n *\n * @igxKeywords action, strip, actionStrip, pinning, editing\n *\n * @igxGroup Data Entry & Display\n *\n * @igxParent IgxGridComponent, IgxHierarchicalGridComponent, IgxTreeGridComponent, IgxRowIslandComponent, *\n *\n * @remarks\n * The Ignite UI Action Strip is a container, overlaying its parent container,\n * and displaying action buttons with action applicable to the parent component the strip is instantiated or shown for.\n *\n * @example\n * ```html\n * <igx-action-strip #actionStrip>\n * <igx-icon (click)=\"doSomeAction()\"></igx-icon>\n * </igx-action-strip>\n */\n@Component({\n selector: 'igx-action-strip',\n templateUrl: 'action-strip.component.html',\n styleUrl: 'action-strip.component.css',\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n IgxIconButtonDirective,\n IgxRippleDirective,\n IgxToggleActionDirective,\n IgxDropDownItemNavigationDirective,\n IgxIconComponent,\n IgxDropDownComponent,\n IgxDropDownItemComponent\n ],\n changeDetection: ChangeDetectionStrategy.Eager,\n providers: [{ provide: IgxActionStripToken, useExisting: IgxActionStripComponent }]\n})\nexport class IgxActionStripComponent implements IgxActionStripToken, AfterViewInit, AfterContentInit {\n private _viewContainer = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n protected el = inject(ElementRef);\n /* blazorSuppress */\n public cdr = inject(ChangeDetectorRef);\n\n\n /* blazorSuppress */\n /**\n * Sets the context of an action strip.\n * The context should be an instance of a @Component, that has element property.\n * This element will be the placeholder of the action strip.\n *\n * @example\n * ```html\n * <igx-action-strip [context]=\"cell\"></igx-action-strip>\n * ```\n */\n @Input()\n public set context(value: any) {\n this._context.set(value);\n }\n\n public get context(): any {\n return this._context();\n }\n\n /**\n * Menu Items ContentChildren inside the Action Strip\n *\n * @hidden\n * @internal\n */\n @ContentChildren(IgxActionStripMenuItemDirective)\n public _menuItems!: QueryList<IgxActionStripMenuItemDirective>;\n\n\n /* blazorInclude */\n /* contentChildren */\n /* blazorTreatAsCollection */\n /* blazorCollectionName: GridActionsBaseDirectiveCollection */\n /**\n * ActionButton as ContentChildren inside the Action Strip\n *\n * @hidden\n * @internal\n */\n @ContentChildren(IgxActionStripActionsToken)\n public actionButtons!: QueryList<IgxActionStripActionsToken>;\n\n /**\n * Gets/Sets the visibility of the Action Strip.\n * Could be used to set if the Action Strip will be initially hidden.\n *\n * @example\n * ```html\n * <igx-action-strip [hidden]=\"false\">\n * ```\n */\n @Input({ transform: booleanAttribute })\n public set hidden(value: boolean) {\n this._hidden.set(value);\n }\n\n public get hidden(): boolean {\n return this._hidden();\n }\n\n\n /**\n * Gets/Sets the resource strings.\n *\n * @remarks\n * By default it uses EN resources.\n */\n @Input()\n public set resourceStrings(value: IActionStripResourceStrings) {\n this._resourceStrings = Object.assign({}, this._resourceStrings, value);\n }\n\n public get resourceStrings(): IActionStripResourceStrings {\n return this._resourceStrings || this._defaultResourceStrings;\n }\n\n /**\n * Hide or not the Action Strip based on if it is a menu.\n *\n * @hidden\n * @internal\n */\n public get hideOnRowLeave(): boolean {\n if (this.menu.items.length === 0) {\n return true;\n } else if (this.menu.items.length > 0) {\n if (this.menu.collapsed) {\n return true;\n } else {\n return false;\n }\n }\n return undefined!;\n }\n\n /**\n * Reference to the menu\n *\n * @hidden\n * @internal\n */\n @ViewChild('dropdown')\n public menu!: IgxDropDownComponent;\n\n /**\n * Getter for menu overlay settings\n *\n * @hidden\n * @internal\n */\n public menuOverlaySettings: OverlaySettings = { scrollStrategy: new CloseScrollStrategy() };\n\n private _destroyRef = inject(DestroyRef);\n /**\n * `hidden` and `context` are held in signals so that the reads in the `display` host binding\n * and in the action components' templates are tracked. Both are changed imperatively - from\n * `show`/`hide`, and from the grid while it is rendering (e.g. `viewDetachHandler` hiding the\n * strip as its row is detached) - and a plain field would leave those bindings stale, which\n * surfaces as `NG0100` in dev mode and as an out-of-date strip in a zoneless app: a component's\n * host binding is only re-evaluated when its parent view is refreshed, so marking this\n * component for check is not enough.\n */\n private _hidden = signal(true);\n private _context = signal<any>(undefined);\n private _resourceStrings: IActionStripResourceStrings = null!;\n private _defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN);\n private _originalParent!: HTMLElement;\n\n constructor() {\n onResourceChangeHandle(this._destroyRef, () => {\n this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN, false);\n }, this);\n }\n\n /**\n * Menu Items list.\n *\n * @hidden\n * @internal\n */\n public get menuItems() {\n const actions: any[] = [];\n this.actionButtons.forEach(button => {\n if (button.asMenuItems) {\n const children = button.buttons;\n if (children) {\n children.toArray().forEach(x => actions.push(x));\n }\n }\n });\n return [... this._menuItems.toArray(), ...actions];\n }\n\n\n /**\n * Getter for the 'display' property of the current action strip\n */\n @HostBinding('style.display')\n private get display(): string {\n return this._hidden() ? 'none' : 'flex';\n }\n\n /**\n * Host `attr.class` binding.\n */\n @HostBinding('class.igx-action-strip')\n protected hostClass = 'igx-action-strip';\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterContentInit() {\n this.actionButtons.forEach(button => {\n button.strip = this;\n });\n this.actionButtons.changes.subscribe(() => {\n this.actionButtons.forEach(button => {\n button.strip = this;\n });\n });\n }\n\n /**\n * @hidden\n * @internal\n */\n public ngAfterViewInit() {\n this.menu.selectionChanging.subscribe(($event) => {\n const newSelection = ($event.newSelection as any).elementRef.nativeElement;\n let allButtons: any[] = [];\n this.actionButtons.forEach(actionButtons => {\n if (actionButtons.asMenuItems) {\n allButtons = [...allButtons, ...actionButtons.buttons.toArray()];\n }\n });\n const button = allButtons.find(x => newSelection.contains(x.container.nativeElement));\n if (button) {\n button.actionClick.emit();\n }\n });\n this._originalParent = this._viewContainer.element.nativeElement?.parentElement;\n }\n\n /**\n * Showing the Action Strip and appending it the specified context element.\n *\n * @param context\n * @example\n * ```typescript\n * this.actionStrip.show(row);\n * ```\n */\n public show(context?: any): void {\n this.hidden = false;\n if (!context) {\n return;\n }\n // when shown for different context make sure the menu won't stay opened\n if (this.context !== context) {\n this.closeMenu();\n }\n this.context = context;\n if (this.context && this.context.element) {\n this.renderer.appendChild(context.element.nativeElement, this._viewContainer.element.nativeElement);\n }\n this.cdr.detectChanges();\n }\n\n /**\n * Hiding the Action Strip and removing it from its current context element.\n *\n * @example\n * ```typescript\n * this.actionStrip.hide();\n * ```\n */\n public hide(): void {\n this.hidden = true;\n this.closeMenu();\n if (this._originalParent) {\n // D.P. fix(elements) don't detach native DOM, instead move back. Might not matter for Angular, but Elements will destroy\n this.renderer.appendChild(this._originalParent, this._viewContainer.element.nativeElement);\n } else if (this.context && this.context.element) {\n this.renderer.removeChild(this.context.element.nativeElement, this._viewContainer.element.nativeElement);\n }\n }\n\n /** pin swapping w/ unpin resets the menuItems collection */\n protected trackMenuItem = trackByIdentity;\n\n /**\n * Close the menu if opened\n *\n * @hidden\n * @internal\n */\n private closeMenu(): void {\n if (this.menu && !this.menu.collapsed) {\n this.menu.close();\n }\n }\n}\n","<div class=\"igx-action-strip__actions\">\n <ng-content #content></ng-content>\n @if (menuItems.length > 0) {\n <button\n type=\"button\"\n igxIconButton=\"flat\"\n igxRipple\n [igxToggleAction]=\"dropdown\"\n [overlaySettings]=\"menuOverlaySettings\"\n (click)=\"$event.stopPropagation()\"\n [title]=\"resourceStrings.igx_action_strip_button_more_title\"\n [igxDropDownItemNavigation]=\"dropdown\"\n >\n <igx-icon family=\"default\" name=\"more_vert\"></igx-icon>\n </button>\n }\n <igx-drop-down #dropdown>\n @for (item of menuItems; track trackMenuItem(item)) {\n <igx-drop-down-item\n class=\"igx-action-strip__menu-item\"\n >\n <div class=\"igx-drop-down__item-template\">\n <ng-container\n *ngTemplateOutlet=\"\n item.templateRef;\n context: { $implicit: item }\n \"\n ></ng-container>\n </div>\n </igx-drop-down-item>\n }\n </igx-drop-down>\n</div>\n","import { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\nexport { IgxActionStripComponent, IgxActionStripMenuItemDirective } from './action-strip.component';\n\n/* Action-strip outside of grid directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_ACTION_STRIP_DIRECTIVES = [\n IgxActionStripComponent,\n IgxActionStripMenuItemDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_ACTION_STRIP_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [\n ...IGX_ACTION_STRIP_DIRECTIVES\n ],\n exports: [\n ...IGX_ACTION_STRIP_DIRECTIVES\n ],\n})\nexport class IgxActionStripModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxActionStripComponent","i1.IgxActionStripMenuItemDirective"],"mappings":"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"}
|
|
@@ -1 +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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"}
|
|
@@ -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 }\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 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":";;;;AAGA,IAAI,OAAO,GAAG,CAAC;AAEf;;AAEG;AACI,MAAM,YAAY,GAAG;AACxB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE;;AAGX;;;;;;;;;;;;;;;;;;;;;;;AAuBG;MASU,iBAAiB,CAAA;AAR9B,IAAA,WAAA,GAAA;AAUG;;;;;;;;;;AAUG;AAGK,QAAA,IAAA,CAAA,EAAE,GAAG,CAAA,UAAA,EAAa,OAAO,EAAE,EAAE;AAErC;;;;;;;;;;;AAWG;AAEK,QAAA,IAAA,CAAA,IAAI,GAA0B,YAAY,CAAC,OAAO;AAE1D;;;;;;;;;;AAUG;QAEK,IAAA,CAAA,KAAK,GAAoB,EAAE;AAuBlC;;;;;;;;;;AAUG;QAEI,IAAA,CAAA,IAAI,GAAG,QAAQ;AAEtB;;;;;;;;;;AAUG;QAEI,IAAA,CAAA,QAAQ,GAAG,WAAW;AAE7B;;;;;;;;AAQG;QAEI,IAAA,CAAA,KAAK,GAAyB,SAAS;AAW9C;;;;;;;;;;AAUG;QAEI,IAAA,CAAA,KAAK,GAAG,OAAO;AAEtB;;;;;;;;AAQG;QAGI,IAAA,CAAA,QAAQ,GAAG,KAAK;AAEvB;;;;;;;;;AASG;QAGI,IAAA,CAAA,GAAG,GAAG,KAAK;AAsCrB,IAAA;;AArFG,IAAA,IACW,YAAY,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACX,YAAA,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAClC;AACA,QAAA,OAAO,SAAU;IACrB;AA2CA;;;;;;AAMG;AACH,IAAA,IACW,eAAe,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,OAAO,IAAI,CAAC,IAAI,GAAG,6BAA6B,GAAG,IAAI,CAAC,IAAI;QAChE;aAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;YACvC,OAAO,IAAI,CAAC,IAAI,GAAG,yBAAyB,GAAG,IAAI,CAAC,KAAK;QAC7D;AACA,QAAA,OAAO,IAAI,CAAC,IAAI,GAAG,2BAA2B;IAClD;AAEA,IAAA,IACW,SAAS,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;IAC1C;AAEA,IAAA,IACW,YAAY,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO;IAC7C;AAEA,IAAA,IACW,YAAY,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO;IAC7C;AAEA,IAAA,IACW,UAAU,GAAA;AACjB,QAAA,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK;IAC3C;8GAhMS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,oLA2IP,gBAAgB,CAAA,EAAA,GAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAchB,gBAAgB,CAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,2BAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,gBAAA,EAAA,0BAAA,EAAA,mBAAA,EAAA,0BAAA,EAAA,mBAAA,EAAA,wBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzMvC,kSAUA,g0LDoCc,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAEjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;+BACI,WAAW,EAAA,aAAA,EAGN,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,kSAAA,EAAA,MAAA,EAAA,CAAA,wwLAAA,CAAA,EAAA;;sBAe1B,WAAW;uBAAC,SAAS;;sBACrB;;sBAeA;;sBAcA;;sBAeA;;sBAMA;;sBAcA,WAAW;uBAAC,WAAW;;sBAcvB,WAAW;uBAAC,iBAAiB;;sBAY7B;;sBAIA,WAAW;uBAAC,yBAAyB;;sBAmBrC,WAAW;uBAAC,iBAAiB;;sBAY7B,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;;sBACnC,WAAW;uBAAC,2BAA2B;;sBAavC,KAAK;uBAAC,EAAC,SAAS,EAAE,gBAAgB,EAAC;;sBACnC,WAAW;uBAAC,sBAAsB;;sBAUlC,WAAW;uBAAC,2BAA2B;;sBAUvC,WAAW;uBAAC,uBAAuB;;sBAKnC,WAAW;uBAAC,0BAA0B;;sBAKtC,WAAW;uBAAC,0BAA0B;;sBAKtC,WAAW;uBAAC,wBAAwB;;;AE1OzC;;;AAGG;MAKU,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,OAAA,EAAA,CAFb,iBAAiB,CAAA,EAAA,OAAA,EAAA,CADjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAFb,iBAAiB,CAAA,EAAA,CAAA,CAAA;;2FAElB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,iBAAiB;AAC9B,iBAAA;;;ACVD;;AAEG;;;;"}
|
|
@@ -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()\">\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($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 }); }
|
|
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()\">\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($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"] }]
|
|
294
294
|
}], ctorParameters: () => [], propDecorators: { bannerIcon: [{
|
|
295
295
|
type: ContentChild,
|
|
296
296
|
args: [IgxIconComponent]
|