igniteui-angular 22.1.4 → 22.2.0-rc.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 +2 -2
- package/combo/README.md +19 -0
- package/drop-down/README.md +40 -4
- package/fesm2022/igniteui-angular-accordion.mjs +7 -7
- package/fesm2022/igniteui-angular-action-strip.mjs +10 -10
- package/fesm2022/igniteui-angular-avatar.mjs +7 -7
- package/fesm2022/igniteui-angular-badge.mjs +7 -7
- package/fesm2022/igniteui-angular-banner.mjs +10 -10
- package/fesm2022/igniteui-angular-bottom-nav.mjs +22 -22
- package/fesm2022/igniteui-angular-button-group.mjs +12 -13
- package/fesm2022/igniteui-angular-button-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-calendar.mjs +61 -61
- package/fesm2022/igniteui-angular-card.mjs +31 -31
- package/fesm2022/igniteui-angular-carousel.mjs +22 -22
- package/fesm2022/igniteui-angular-chat-extras.mjs +6 -6
- package/fesm2022/igniteui-angular-chat.mjs +12 -12
- package/fesm2022/igniteui-angular-checkbox.mjs +7 -7
- package/fesm2022/igniteui-angular-chips.mjs +10 -10
- package/fesm2022/igniteui-angular-combo.mjs +268 -120
- package/fesm2022/igniteui-angular-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-core.mjs +188 -59
- package/fesm2022/igniteui-angular-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-date-picker.mjs +71 -80
- package/fesm2022/igniteui-angular-date-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-dialog.mjs +13 -13
- package/fesm2022/igniteui-angular-directives.mjs +321 -457
- package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
- package/fesm2022/igniteui-angular-drop-down.mjs +331 -104
- package/fesm2022/igniteui-angular-drop-down.mjs.map +1 -1
- package/fesm2022/igniteui-angular-expansion-panel.mjs +28 -28
- package/fesm2022/igniteui-angular-grids-core.mjs +552 -516
- package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-grid.mjs +79 -80
- package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +59 -46
- package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-lite.mjs +12 -12
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +113 -86
- package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs +57 -57
- package/fesm2022/igniteui-angular-grids-tree-grid.mjs.map +1 -1
- package/fesm2022/igniteui-angular-icon.mjs +10 -10
- package/fesm2022/igniteui-angular-input-group.mjs +47 -61
- package/fesm2022/igniteui-angular-input-group.mjs.map +1 -1
- package/fesm2022/igniteui-angular-list.mjs +40 -40
- package/fesm2022/igniteui-angular-navbar.mjs +13 -13
- package/fesm2022/igniteui-angular-navigation-drawer.mjs +16 -16
- package/fesm2022/igniteui-angular-paginator.mjs +19 -19
- package/fesm2022/igniteui-angular-progressbar.mjs +19 -19
- package/fesm2022/igniteui-angular-query-builder.mjs +23 -23
- package/fesm2022/igniteui-angular-query-builder.mjs.map +1 -1
- package/fesm2022/igniteui-angular-radio.mjs +59 -35
- package/fesm2022/igniteui-angular-radio.mjs.map +1 -1
- package/fesm2022/igniteui-angular-select.mjs +35 -43
- package/fesm2022/igniteui-angular-select.mjs.map +1 -1
- package/fesm2022/igniteui-angular-simple-combo.mjs +44 -33
- package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
- package/fesm2022/igniteui-angular-slider.mjs +28 -28
- package/fesm2022/igniteui-angular-snackbar.mjs +7 -7
- package/fesm2022/igniteui-angular-splitter.mjs +13 -13
- package/fesm2022/igniteui-angular-stepper.mjs +34 -34
- package/fesm2022/igniteui-angular-switch.mjs +7 -7
- package/fesm2022/igniteui-angular-tabs.mjs +34 -34
- package/fesm2022/igniteui-angular-time-picker.mjs +29 -38
- package/fesm2022/igniteui-angular-time-picker.mjs.map +1 -1
- package/fesm2022/igniteui-angular-toast.mjs +7 -7
- package/fesm2022/igniteui-angular-tree.mjs +28 -28
- package/fesm2022/igniteui-angular-virtual-scroll.mjs +1257 -0
- package/fesm2022/igniteui-angular-virtual-scroll.mjs.map +1 -0
- package/fesm2022/igniteui-angular.mjs +1 -0
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/input-group/README.md +2 -0
- package/lib/core/styles/components/scrollbar/scrollbar-component.scss +0 -2
- package/lib/core/styles/components/scrollbar/scrollbar-theme.scss +23 -51
- package/lib/grids/core/src/column-actions/themes/_derived.scss +3 -3
- package/lib/grids/core/src/filtering/excel-style/themes/_derived.scss +3 -3
- package/lib/grids/themes/_derived.scss +3 -3
- package/lib/query-builder/src/query-builder/themes/_derived.scss +3 -3
- package/migrations/migration-collection.json +10 -0
- package/migrations/update-22_2_0/changes/theme-changes.json +77 -0
- package/migrations/update-22_2_0/index.d.ts +3 -0
- package/migrations/update-22_2_0/index.js +18 -0
- package/migrations/update-22_2_0/index.spec.d.ts +1 -0
- package/migrations/update-22_2_0/index.spec.js +88 -0
- package/migrations/update-22_2_0_grid-summary-borders/changes/theme-changes.json +17 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.d.ts +3 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.js +64 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.spec.d.ts +1 -0
- package/migrations/update-22_2_0_grid-summary-borders/index.spec.js +100 -0
- package/package.json +6 -2
- package/schematics/tsconfig.tsbuildinfo +1 -1
- package/simple-combo/README.md +3 -0
- package/skills/igniteui-angular-components/references/form-controls.md +58 -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-calendar.d.ts +1 -1
- package/types/igniteui-angular-combo.d.ts +55 -12
- package/types/igniteui-angular-core.d.ts +64 -11
- package/types/igniteui-angular-date-picker.d.ts +3 -4
- package/types/igniteui-angular-directives.d.ts +50 -164
- package/types/igniteui-angular-drop-down.d.ts +76 -4
- package/types/igniteui-angular-grids-core.d.ts +63 -28
- package/types/igniteui-angular-grids-grid.d.ts +2 -7
- package/types/igniteui-angular-grids-hierarchical-grid.d.ts +5 -4
- package/types/igniteui-angular-grids-pivot-grid.d.ts +11 -5
- package/types/igniteui-angular-grids-tree-grid.d.ts +1 -1
- package/types/igniteui-angular-icon.d.ts +1 -1
- package/types/igniteui-angular-input-group.d.ts +1 -2
- package/types/igniteui-angular-query-builder.d.ts +1 -1
- package/types/igniteui-angular-radio.d.ts +16 -1
- package/types/igniteui-angular-select.d.ts +1 -2
- package/types/igniteui-angular-simple-combo.d.ts +7 -0
- package/types/igniteui-angular-stepper.d.ts +1 -1
- package/types/igniteui-angular-time-picker.d.ts +1 -2
- package/types/igniteui-angular-tree.d.ts +3 -3
- package/types/igniteui-angular-virtual-scroll.d.ts +408 -0
- package/types/igniteui-angular.d.ts +1 -0
- package/virtual-scroll/README.md +332 -0
|
@@ -11,10 +11,10 @@ class IgxBottomNavContentComponent extends IgxTabContentDirective {
|
|
|
11
11
|
/** @hidden */
|
|
12
12
|
this.defaultClass = true;
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxBottomNavContentComponent, isStandalone: true, selector: "igx-bottom-nav-content", host: { properties: { "class.igx-bottom-nav__panel": "this.defaultClass" } }, providers: [{ provide: IgxTabContentBase, useExisting: IgxBottomNavContentComponent }], usesInheritance: true, ngImport: i0, template: "@if (tab.selected || tab.previous) {\n <ng-content></ng-content>\n}\n", changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavContentComponent, decorators: [{
|
|
18
18
|
type: Component,
|
|
19
19
|
args: [{ selector: 'igx-bottom-nav-content', encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabContentBase, useExisting: IgxBottomNavContentComponent }], changeDetection: ChangeDetectionStrategy.Eager, imports: [], template: "@if (tab.selected || tab.previous) {\n <ng-content></ng-content>\n}\n" }]
|
|
20
20
|
}], propDecorators: { defaultClass: [{
|
|
@@ -36,10 +36,10 @@ class IgxBottomNavHeaderComponent extends IgxTabHeaderDirective {
|
|
|
36
36
|
get cssClassDisabled() {
|
|
37
37
|
return this.tab.disabled;
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: IgxBottomNavHeaderComponent, isStandalone: true, selector: "igx-bottom-nav-header", host: { properties: { "class.igx-bottom-nav__menu-item--selected": "this.cssClassSelected", "class.igx-bottom-nav__menu-item--disabled": "this.cssClassDisabled", "class.igx-bottom-nav__menu-item": "this.cssClass" } }, providers: [{ provide: IgxTabHeaderBase, useExisting: IgxBottomNavHeaderComponent }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavHeaderComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ selector: 'igx-bottom-nav-header', encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabHeaderBase, useExisting: IgxBottomNavHeaderComponent }], changeDetection: ChangeDetectionStrategy.Eager, standalone: true, template: "<ng-content></ng-content>\n" }]
|
|
45
45
|
}], propDecorators: { cssClassSelected: [{
|
|
@@ -54,10 +54,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
54
54
|
}] } });
|
|
55
55
|
|
|
56
56
|
class IgxBottomNavItemComponent extends IgxTabItemDirective {
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.
|
|
57
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: IgxBottomNavItemComponent, isStandalone: true, selector: "igx-bottom-nav-item", providers: [{ provide: IgxTabItemDirective, useExisting: IgxBottomNavItemComponent }], usesInheritance: true, ngImport: i0, template: "<ng-template #headerTemplate>\n <ng-content select=\"igx-bottom-nav-header\"></ng-content>\n</ng-template>\n<ng-template #panelTemplate>\n <ng-content select=\"igx-bottom-nav-content\"></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavItemComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
62
|
args: [{ selector: 'igx-bottom-nav-item', encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabItemDirective, useExisting: IgxBottomNavItemComponent }], changeDetection: ChangeDetectionStrategy.Eager, standalone: true, template: "<ng-template #headerTemplate>\n <ng-content select=\"igx-bottom-nav-header\"></ng-content>\n</ng-template>\n<ng-template #panelTemplate>\n <ng-content select=\"igx-bottom-nav-content\"></ng-content>\n</ng-template>\n" }]
|
|
63
63
|
}] });
|
|
@@ -109,10 +109,10 @@ class IgxBottomNavComponent extends IgxTabsDirective {
|
|
|
109
109
|
getNextTabId() {
|
|
110
110
|
return NEXT_BOTTOM_NAV_ITEM_ID++;
|
|
111
111
|
}
|
|
112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxBottomNavComponent, isStandalone: true, selector: "igx-bottom-nav", host: { properties: { "class.igx-bottom-nav": "this.hostClass" } }, providers: [{ provide: IgxTabsBase, useExisting: IgxBottomNavComponent }], usesInheritance: true, ngImport: i0, template: "@for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n}\n\n<div\n #tablist\n role=\"tablist\"\n class=\"igx-bottom-nav__menu igx-bottom-nav__menu--bottom\"\n aria-orientation=\"horizontal\"\n>\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n }\n</div>\n", styles: ["@layer ig.base{.igx-bottom-nav__panel{display:block}.igx-bottom-nav__panel:focus{outline-style:none}.igx-bottom-nav__panel:empty{display:none}.igx-bottom-nav__menu{display:flex;position:fixed;justify-content:center;align-items:center;inset-inline-start:0;inset-inline-end:0;height:3.5rem;background:var(--background);border-top:.0625rem solid var(--border-color);overflow:hidden;z-index:8}.igx-bottom-nav__menu--top{inset-block-start:0;inset-block-end:inherit;box-shadow:var(--elevation)}.igx-bottom-nav__menu--bottom{inset-block-start:inherit;inset-block-end:0;box-shadow:var(--elevation)}.igx-bottom-nav__menu-item{display:flex;position:relative;flex-flow:column nowrap;flex:1;gap:.25rem;align-items:center;justify-content:center;min-width:5rem;max-width:10.5rem;height:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;padding:0 .75rem;-webkit-tap-highlight-color:rgba(0,0,0,0);outline-style:none;color:var(--label-color)}.igx-bottom-nav__menu-item igx-icon{--component-size: 3}.igx-bottom-nav__menu-item [igxBottomNavHeaderIcon]{display:flex;position:relative;justify-content:center;color:var(--icon-color);padding:0 .5rem;height:1.5rem;transform:translateZ(0);transition:transform .15s cubic-bezier(.455,.03,.515,.955);z-index:1}.igx-bottom-nav__menu-item [igxBottomNavHeaderLabel]{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:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--label-color);max-width:100%;text-align:center;transform:translateZ(0);transition:transform .15s cubic-bezier(.455,.03,.515,.955);z-index:1}.igx-bottom-nav__menu-item--selected{transition:color .15s cubic-bezier(.455,.03,.515,.955),opacity .25s cubic-bezier(.455,.03,.515,.955)}.igx-bottom-nav__menu-item--selected [igxBottomNavHeaderIcon]{color:var(--icon-selected-color);inset-block-start:-.125rem;transform:translateY(-2px)}.igx-bottom-nav__menu-item--selected [igxBottomNavHeaderLabel]{color:var(--label-selected-color);transform:translateY(-2px) scale(1.166667)}.igx-bottom-nav__menu-item--disabled{cursor:default;pointer-events:none;opacity:.5}.igx-bottom-nav__menu-item--disabled [igxBottomNavHeaderIcon]{color:var(--icon-disabled-color)}.igx-bottom-nav__menu-item--disabled [igxBottomNavHeaderLabel]{color:var(--label-disabled-color)}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-bottom-nav__menu-item{--ig-icon-size: 1rem}.igx-bottom-nav__menu-item [igxBottomNavHeaderIcon],.igx-bottom-nav__menu-item [igxBottomNavHeaderLabel]{transform:unset;transition:none}.igx-bottom-nav__menu-item [igxBottomNavHeaderIcon]{padding:unset;height:auto}.igx-bottom-nav__menu-item--disabled{opacity:unset}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
114
114
|
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavComponent, decorators: [{
|
|
116
116
|
type: Component,
|
|
117
117
|
args: [{ selector: 'igx-bottom-nav', encapsulation: ViewEncapsulation.None, providers: [{ provide: IgxTabsBase, useExisting: IgxBottomNavComponent }], changeDetection: ChangeDetectionStrategy.Eager, imports: [NgTemplateOutlet], template: "@for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.panelTemplate\"></ng-container>\n}\n\n<div\n #tablist\n role=\"tablist\"\n class=\"igx-bottom-nav__menu igx-bottom-nav__menu--bottom\"\n aria-orientation=\"horizontal\"\n>\n @for (tab of items; track tab; let i = $index) {\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\n }\n</div>\n", styles: ["@layer ig.base{.igx-bottom-nav__panel{display:block}.igx-bottom-nav__panel:focus{outline-style:none}.igx-bottom-nav__panel:empty{display:none}.igx-bottom-nav__menu{display:flex;position:fixed;justify-content:center;align-items:center;inset-inline-start:0;inset-inline-end:0;height:3.5rem;background:var(--background);border-top:.0625rem solid var(--border-color);overflow:hidden;z-index:8}.igx-bottom-nav__menu--top{inset-block-start:0;inset-block-end:inherit;box-shadow:var(--elevation)}.igx-bottom-nav__menu--bottom{inset-block-start:inherit;inset-block-end:0;box-shadow:var(--elevation)}.igx-bottom-nav__menu-item{display:flex;position:relative;flex-flow:column nowrap;flex:1;gap:.25rem;align-items:center;justify-content:center;min-width:5rem;max-width:10.5rem;height:100%;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:hidden;padding:0 .75rem;-webkit-tap-highlight-color:rgba(0,0,0,0);outline-style:none;color:var(--label-color)}.igx-bottom-nav__menu-item igx-icon{--component-size: 3}.igx-bottom-nav__menu-item [igxBottomNavHeaderIcon]{display:flex;position:relative;justify-content:center;color:var(--icon-color);padding:0 .5rem;height:1.5rem;transform:translateZ(0);transition:transform .15s cubic-bezier(.455,.03,.515,.955);z-index:1}.igx-bottom-nav__menu-item [igxBottomNavHeaderLabel]{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:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--label-color);max-width:100%;text-align:center;transform:translateZ(0);transition:transform .15s cubic-bezier(.455,.03,.515,.955);z-index:1}.igx-bottom-nav__menu-item--selected{transition:color .15s cubic-bezier(.455,.03,.515,.955),opacity .25s cubic-bezier(.455,.03,.515,.955)}.igx-bottom-nav__menu-item--selected [igxBottomNavHeaderIcon]{color:var(--icon-selected-color);inset-block-start:-.125rem;transform:translateY(-2px)}.igx-bottom-nav__menu-item--selected [igxBottomNavHeaderLabel]{color:var(--label-selected-color);transform:translateY(-2px) scale(1.166667)}.igx-bottom-nav__menu-item--disabled{cursor:default;pointer-events:none;opacity:.5}.igx-bottom-nav__menu-item--disabled [igxBottomNavHeaderIcon]{color:var(--icon-disabled-color)}.igx-bottom-nav__menu-item--disabled [igxBottomNavHeaderLabel]{color:var(--label-disabled-color)}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-bottom-nav__menu-item{--ig-icon-size: 1rem}.igx-bottom-nav__menu-item [igxBottomNavHeaderIcon],.igx-bottom-nav__menu-item [igxBottomNavHeaderLabel]{transform:unset;transition:none}.igx-bottom-nav__menu-item [igxBottomNavHeaderIcon]{padding:unset;height:auto}.igx-bottom-nav__menu-item--disabled{opacity:unset}}}\n"] }]
|
|
118
118
|
}], propDecorators: { hostClass: [{
|
|
@@ -121,10 +121,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
121
121
|
}] } });
|
|
122
122
|
|
|
123
123
|
class IgxBottomNavHeaderLabelDirective {
|
|
124
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
125
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
124
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavHeaderLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
125
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxBottomNavHeaderLabelDirective, isStandalone: true, selector: "[igxBottomNavHeaderLabel],igx-bottom-nav-header-label", hostDirectives: [{ directive: i1.IgxNoTypographyDirective }], ngImport: i0 }); }
|
|
126
126
|
}
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavHeaderLabelDirective, decorators: [{
|
|
128
128
|
type: Directive,
|
|
129
129
|
args: [{
|
|
130
130
|
selector: '[igxBottomNavHeaderLabel],igx-bottom-nav-header-label',
|
|
@@ -133,10 +133,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImpor
|
|
|
133
133
|
}]
|
|
134
134
|
}] });
|
|
135
135
|
class IgxBottomNavHeaderIconDirective {
|
|
136
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
137
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.
|
|
136
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavHeaderIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
137
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: IgxBottomNavHeaderIconDirective, isStandalone: true, selector: "[igxBottomNavHeaderIcon],igx-bottom-nav-header-icon", ngImport: i0 }); }
|
|
138
138
|
}
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavHeaderIconDirective, decorators: [{
|
|
140
140
|
type: Directive,
|
|
141
141
|
args: [{
|
|
142
142
|
selector: '[igxBottomNavHeaderIcon],igx-bottom-nav-header-icon',
|
|
@@ -159,11 +159,11 @@ const IGX_BOTTOM_NAV_DIRECTIVES = [
|
|
|
159
159
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
160
160
|
*/
|
|
161
161
|
class IgxBottomNavModule {
|
|
162
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
163
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.
|
|
164
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
163
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavModule, imports: [IgxBottomNavComponent, IgxBottomNavItemComponent, IgxBottomNavHeaderComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderLabelDirective, IgxBottomNavHeaderIconDirective], exports: [IgxBottomNavComponent, IgxBottomNavItemComponent, IgxBottomNavHeaderComponent, IgxBottomNavContentComponent, IgxBottomNavHeaderLabelDirective, IgxBottomNavHeaderIconDirective] }); }
|
|
164
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavModule }); }
|
|
165
165
|
}
|
|
166
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxBottomNavModule, decorators: [{
|
|
167
167
|
type: NgModule,
|
|
168
168
|
args: [{
|
|
169
169
|
imports: [
|
|
@@ -176,7 +176,7 @@ class IgxButtonGroupComponent {
|
|
|
176
176
|
}
|
|
177
177
|
set selectionMode(selectionMode) {
|
|
178
178
|
if (this.viewButtons && selectionMode !== this._selectionMode) {
|
|
179
|
-
this.buttons.forEach((
|
|
179
|
+
this.buttons.forEach((_, i) => {
|
|
180
180
|
this.deselectButton(i);
|
|
181
181
|
});
|
|
182
182
|
this._selectionMode = selectionMode;
|
|
@@ -277,8 +277,8 @@ class IgxButtonGroupComponent {
|
|
|
277
277
|
if (index >= this.buttons.length || index < 0) {
|
|
278
278
|
return;
|
|
279
279
|
}
|
|
280
|
-
|
|
281
|
-
|
|
280
|
+
this.buttons[index].selected = true;
|
|
281
|
+
this.updateSelected(index);
|
|
282
282
|
}
|
|
283
283
|
/**
|
|
284
284
|
* @hidden
|
|
@@ -300,7 +300,6 @@ class IgxButtonGroupComponent {
|
|
|
300
300
|
this.buttons.forEach((_, i) => {
|
|
301
301
|
if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {
|
|
302
302
|
this.deselectButton(i);
|
|
303
|
-
this.updateDeselected(i);
|
|
304
303
|
}
|
|
305
304
|
});
|
|
306
305
|
}
|
|
@@ -334,8 +333,8 @@ class IgxButtonGroupComponent {
|
|
|
334
333
|
if (index >= this.buttons.length || index < 0) {
|
|
335
334
|
return;
|
|
336
335
|
}
|
|
337
|
-
|
|
338
|
-
|
|
336
|
+
this.buttons[index].selected = false;
|
|
337
|
+
this.updateDeselected(index);
|
|
339
338
|
}
|
|
340
339
|
/**
|
|
341
340
|
* @hidden
|
|
@@ -442,10 +441,10 @@ class IgxButtonGroupComponent {
|
|
|
442
441
|
this.updateDeselected(index);
|
|
443
442
|
}
|
|
444
443
|
}
|
|
445
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
446
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: IgxButtonGroupComponent, isStandalone: true, selector: "igx-buttongroup", inputs: { id: "id", itemContentCssClass: "itemContentCssClass", multiSelection: "multiSelection", selectionMode: "selectionMode", values: "values", disabled: ["disabled", "disabled", booleanAttribute], alignment: "alignment" }, outputs: { selected: "selected", deselected: "deselected" }, host: { properties: { "attr.id": "this.id", "class.igx-button-group": "this.cssClass", "style.zIndex": "this.zIndex", "attr.role": "this.role", "class.igx-button-group--vertical": "this.isVertical" } }, queries: [{ propertyName: "templateButtons", predicate: IgxButtonDirective }], viewQueries: [{ propertyName: "viewButtons", predicate: IgxButtonDirective, descendants: true }], ngImport: i0, template: "<div class=\"igx-button-group__buttons-container\">\n @for (button of values; track button) {\n <button\n type=\"button\"\n igxButton=\"flat\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n @if (button.icon) {\n <igx-icon>{{ button.icon }}</igx-icon>\n }\n @if (button.label) {\n <span class=\"igx-button-group__button-text\">{{ button.label }}</span>\n }\n </span>\n </button>\n }\n <ng-content></ng-content>\n</div>\n", styles: ["@layer ig.base{.igx-button-group{--item-min-width: 2.625rem;--ig-icon-size: 1.125rem;--z-item-elevated: 2}.igx-button-group__buttons-container{display:flex;border-radius:var(--border-radius);box-shadow:var(--elevation)}.igx-button-group button{margin-top:0;margin-inline-end:0;margin-bottom:0}.igx-button-group__item{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom);text-align:center;border:.0625rem solid var(--item-border-color);color:var(--item-text-color);background:var(--item-background);min-width:var(--item-min-width);display:flex;flex:1 0 0%;justify-content:center;align-items:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:0}.igx-button-group__item igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton]:hover{z-index:1;color:var(--item-hover-text-color);background:var(--item-hover-background);border-color:var(--item-hover-border-color)}.igx-button-group__item[igxButton]:hover igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item[igxButton]:active{z-index:var(--z-item-elevated);color:var(--item-hover-text-color);background:var(--item-active-background);border-color:var(--item-active-border-color)}.igx-button-group__item[igxButton]:active igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item[igxButton]{border-radius:0;background:var(--item-background);color:var(--item-text-color)}.igx-button-group__item[igxButton] igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton][disabled=true]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}.igx-button-group__item[igxButton][disabled=true] igx-icon{color:var(--disabled-text-color)}.igx-button-group__item[igxButton].igx-button--focused{z-index:var(--z-item-elevated);color:var(--item-focused-text-color);background:var(--item-focused-background);border-color:var(--item-focused-border-color)}.igx-button-group__item[igxButton].igx-button--focused igx-icon{color:var(--item-focused-text-color)}.igx-button-group__item[igxButton].igx-button--focused:hover{background:var(--item-focused-hover-background);border-color:var(--item-focused-hover-border-color);color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:hover igx-icon{color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:active{background:var(--item-active-background);border-color:var(--item-active-border-color);color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:active igx-icon{color:var(--item-focused-hover-text-color)}.igx-button-group__item:not(:nth-child(1)){margin-inline-start:-.0625rem}.igx-button-group__item:first-of-type{border-start-start-radius:inherit;border-end-start-radius:inherit}.igx-button-group__item:last-of-type{border-start-end-radius:inherit;border-end-end-radius:inherit}.igx-button-group__item--selected{color:var(--item-selected-text-color);background:var(--item-selected-background);border-color:var(--item-selected-border-color);position:relative;z-index:calc(var(--z-item-elevated) + 1)}.igx-button-group__item--selected[igxButton]{background:var(--item-selected-background);border-color:var(--item-selected-border-color);color:var(--item-selected-text-color)}.igx-button-group__item--selected[igxButton] igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton]:hover{border-color:var(--item-selected-hover-border-color);color:var(--item-selected-hover-text-color);background:var(--item-selected-hover-background)}.igx-button-group__item--selected[igxButton]:hover igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton]:active{border-color:var(--item-selected-active-border-color);color:var(--item-selected-hover-text-color);background:var(--item-selected-active-background)}.igx-button-group__item--selected[igxButton]:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{background:var(--item-selected-focus-background);border-color:var(--item-selected-hover-border-color);color:var(--item-selected-text-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover{color:var(--item-selected-hover-text-color);background:var(--item-selected-focus-hover-background);border-color:var(--item-selected-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:active{background:var(--item-selected-active-background);color:var(--item-selected-hover-text-color);border-color:var(--item-selected-active-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton][disabled=true]{color:var(--disabled-selected-text-color);background:var(--disabled-selected-background);border-color:var(--disabled-selected-border-color)}.igx-button-group__item--selected[igxButton][disabled=true] igx-icon{color:var(--disabled-selected-icon-color)}.igx-button-group__item-content{display:flex;align-items:center;flex-flow:row nowrap;min-width:0}.igx-button-group__item-content *~*{margin-inline-start:.625rem}.igx-button-group__button-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.igx-button-group--vertical .igx-button-group__buttons-container{flex-flow:column}.igx-button-group--vertical .igx-button-group__item{width:100%}.igx-button-group--vertical .igx-button-group__item:not(:nth-child(1)){margin-top:-.0625rem!important;margin-inline-start:0}.igx-button-group--vertical .igx-button-group__item:first-of-type{border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:0}.igx-button-group--vertical .igx-button-group__item:last-of-type{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:inherit}}@layer ig.material{@container style(--ig-theme: material){.igx-button-group__item--selected[igxButton].igx-button--focused{color:var(--item-selected-hover-text-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-hover-icon-color)}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-button-group__item[igxButton].igx-button--focused{box-shadow:0 0 0 .25rem var(--idle-shadow-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{box-shadow:0 0 0 .25rem var(--selected-shadow-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-button-group__item igx-icon{--ig-icon-size: 1.125rem}.igx-button-group__item[igxButton].igx-button--focused{border-color:var(--item-border-color)}.igx-button-group__item[igxButton].igx-button--focused:hover{border-color:var(--item-focused-hover-border-color)}.igx-button-group__item[igxButton].igx-button--focused:after{content:\"\";position:absolute;inset-block-start:.125rem;inset-inline-start:.125rem;pointer-events:none;width:calc(100% - .25rem);height:calc(100% - .25rem);box-shadow:0 0 0 .0625rem var(--item-focused-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{border-color:var(--item-selected-hover-border-color)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-button-group{--item-min-width: rem(32px)}.igx-button-group__item{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);padding-inline:max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-button-group__item igx-icon{--ig-icon-size: 1rem}.igx-button-group__item:hover{z-index:1}.igx-button-group__item:active{z-index:2}.igx-button-group__item[igxButton].igx-button--focused{box-shadow:0 0 0 .1875rem var(--idle-shadow-color)}.igx-button-group__item[igxButton].igx-button--focused igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton].igx-button--focused:hover igx-icon,.igx-button-group__item[igxButton].igx-button--focused:active igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{box-shadow:0 0 0 .1875rem var(--selected-shadow-color);border-color:var(--item-selected-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover,.igx-button-group__item--selected[igxButton].igx-button--focused:active{border-color:var(--item-selected-hover-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover igx-icon,.igx-button-group__item--selected[igxButton].igx-button--focused:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton][disabled=true]{border:none}}}\n"], dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
444
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxButtonGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
445
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: IgxButtonGroupComponent, isStandalone: true, selector: "igx-buttongroup", inputs: { id: "id", itemContentCssClass: "itemContentCssClass", multiSelection: "multiSelection", selectionMode: "selectionMode", values: "values", disabled: ["disabled", "disabled", booleanAttribute], alignment: "alignment" }, outputs: { selected: "selected", deselected: "deselected" }, host: { properties: { "attr.id": "this.id", "class.igx-button-group": "this.cssClass", "style.zIndex": "this.zIndex", "attr.role": "this.role", "class.igx-button-group--vertical": "this.isVertical" } }, queries: [{ propertyName: "templateButtons", predicate: IgxButtonDirective }], viewQueries: [{ propertyName: "viewButtons", predicate: IgxButtonDirective, descendants: true }], ngImport: i0, template: "<div class=\"igx-button-group__buttons-container\">\n @for (button of values; track button) {\n <button\n type=\"button\"\n igxButton=\"flat\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n @if (button.icon) {\n <igx-icon>{{ button.icon }}</igx-icon>\n }\n @if (button.label) {\n <span class=\"igx-button-group__button-text\">{{ button.label }}</span>\n }\n </span>\n </button>\n }\n <ng-content></ng-content>\n</div>\n", styles: ["@layer ig.base{.igx-button-group{--item-min-width: 2.625rem;--ig-icon-size: 1.125rem;--z-item-elevated: 2}.igx-button-group__buttons-container{display:flex;border-radius:var(--border-radius);box-shadow:var(--elevation)}.igx-button-group button{margin-top:0;margin-inline-end:0;margin-bottom:0}.igx-button-group__item{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom);text-align:center;border:.0625rem solid var(--item-border-color);color:var(--item-text-color);background:var(--item-background);min-width:var(--item-min-width);display:flex;flex:1 0 0%;justify-content:center;align-items:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:0}.igx-button-group__item igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton]:hover{z-index:1;color:var(--item-hover-text-color);background:var(--item-hover-background);border-color:var(--item-hover-border-color)}.igx-button-group__item[igxButton]:hover igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item[igxButton]:active{z-index:var(--z-item-elevated);color:var(--item-hover-text-color);background:var(--item-active-background);border-color:var(--item-active-border-color)}.igx-button-group__item[igxButton]:active igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item[igxButton]{border-radius:0;background:var(--item-background);color:var(--item-text-color)}.igx-button-group__item[igxButton] igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton][disabled=true]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}.igx-button-group__item[igxButton][disabled=true] igx-icon{color:var(--disabled-text-color)}.igx-button-group__item[igxButton].igx-button--focused{z-index:var(--z-item-elevated);color:var(--item-focused-text-color);background:var(--item-focused-background);border-color:var(--item-focused-border-color)}.igx-button-group__item[igxButton].igx-button--focused igx-icon{color:var(--item-focused-text-color)}.igx-button-group__item[igxButton].igx-button--focused:hover{background:var(--item-focused-hover-background);border-color:var(--item-focused-hover-border-color);color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:hover igx-icon{color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:active{background:var(--item-active-background);border-color:var(--item-active-border-color);color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:active igx-icon{color:var(--item-focused-hover-text-color)}.igx-button-group__item:not(:nth-child(1)){margin-inline-start:-.0625rem}.igx-button-group__item:first-of-type{border-start-start-radius:inherit;border-end-start-radius:inherit}.igx-button-group__item:last-of-type{border-start-end-radius:inherit;border-end-end-radius:inherit}.igx-button-group__item--selected{color:var(--item-selected-text-color);background:var(--item-selected-background);border-color:var(--item-selected-border-color);position:relative;z-index:calc(var(--z-item-elevated) + 1)}.igx-button-group__item--selected[igxButton]{background:var(--item-selected-background);border-color:var(--item-selected-border-color);color:var(--item-selected-text-color)}.igx-button-group__item--selected[igxButton] igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton]:hover{border-color:var(--item-selected-hover-border-color);color:var(--item-selected-hover-text-color);background:var(--item-selected-hover-background)}.igx-button-group__item--selected[igxButton]:hover igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton]:active{border-color:var(--item-selected-active-border-color);color:var(--item-selected-hover-text-color);background:var(--item-selected-active-background)}.igx-button-group__item--selected[igxButton]:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{background:var(--item-selected-focus-background);border-color:var(--item-selected-hover-border-color);color:var(--item-selected-text-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover{color:var(--item-selected-hover-text-color);background:var(--item-selected-focus-hover-background);border-color:var(--item-selected-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:active{background:var(--item-selected-active-background);color:var(--item-selected-hover-text-color);border-color:var(--item-selected-active-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton][disabled=true]{color:var(--disabled-selected-text-color);background:var(--disabled-selected-background);border-color:var(--disabled-selected-border-color)}.igx-button-group__item--selected[igxButton][disabled=true] igx-icon{color:var(--disabled-selected-icon-color)}.igx-button-group__item-content{display:flex;align-items:center;flex-flow:row nowrap;min-width:0}.igx-button-group__item-content *~*{margin-inline-start:.625rem}.igx-button-group__button-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.igx-button-group--vertical .igx-button-group__buttons-container{flex-flow:column}.igx-button-group--vertical .igx-button-group__item{width:100%}.igx-button-group--vertical .igx-button-group__item:not(:nth-child(1)){margin-top:-.0625rem!important;margin-inline-start:0}.igx-button-group--vertical .igx-button-group__item:first-of-type{border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:0}.igx-button-group--vertical .igx-button-group__item:last-of-type{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:inherit}}@layer ig.material{@container style(--ig-theme: material){.igx-button-group__item--selected[igxButton].igx-button--focused{color:var(--item-selected-hover-text-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-hover-icon-color)}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-button-group__item[igxButton].igx-button--focused{box-shadow:0 0 0 .25rem var(--idle-shadow-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{box-shadow:0 0 0 .25rem var(--selected-shadow-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-button-group__item igx-icon{--ig-icon-size: 1.125rem}.igx-button-group__item[igxButton].igx-button--focused{border-color:var(--item-border-color)}.igx-button-group__item[igxButton].igx-button--focused:hover{border-color:var(--item-focused-hover-border-color)}.igx-button-group__item[igxButton].igx-button--focused:after{content:\"\";position:absolute;inset-block-start:.125rem;inset-inline-start:.125rem;pointer-events:none;width:calc(100% - .25rem);height:calc(100% - .25rem);box-shadow:0 0 0 .0625rem var(--item-focused-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{border-color:var(--item-selected-hover-border-color)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-button-group{--item-min-width: rem(32px)}.igx-button-group__item{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);padding-inline:max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-button-group__item igx-icon{--ig-icon-size: 1rem}.igx-button-group__item:hover{z-index:1}.igx-button-group__item:active{z-index:2}.igx-button-group__item[igxButton].igx-button--focused{box-shadow:0 0 0 .1875rem var(--idle-shadow-color)}.igx-button-group__item[igxButton].igx-button--focused igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton].igx-button--focused:hover igx-icon,.igx-button-group__item[igxButton].igx-button--focused:active igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{box-shadow:0 0 0 .1875rem var(--selected-shadow-color);border-color:var(--item-selected-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover,.igx-button-group__item--selected[igxButton].igx-button--focused:active{border-color:var(--item-selected-hover-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover igx-icon,.igx-button-group__item--selected[igxButton].igx-button--focused:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton][disabled=true]{border:none}}}\n"], dependencies: [{ kind: "directive", type: IgxButtonDirective, selector: "[igxButton]", inputs: ["selected", "igxButton", "igxLabel"], outputs: ["buttonSelected"] }, { kind: "directive", type: IgxRippleDirective, selector: "[igxRipple]", inputs: ["igxRippleTarget", "igxRipple", "igxRippleDuration", "igxRippleCentered", "igxRippleDisabled"] }, { kind: "component", type: IgxIconComponent, selector: "igx-icon", inputs: ["ariaHidden", "family", "name", "active"] }], changeDetection: i0.ChangeDetectionStrategy.Eager, encapsulation: i0.ViewEncapsulation.None }); }
|
|
447
446
|
}
|
|
448
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
447
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxButtonGroupComponent, decorators: [{
|
|
449
448
|
type: Component,
|
|
450
449
|
args: [{ selector: 'igx-buttongroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Eager, imports: [IgxButtonDirective, IgxRippleDirective, IgxIconComponent], template: "<div class=\"igx-button-group__buttons-container\">\n @for (button of values; track button) {\n <button\n type=\"button\"\n igxButton=\"flat\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n @if (button.icon) {\n <igx-icon>{{ button.icon }}</igx-icon>\n }\n @if (button.label) {\n <span class=\"igx-button-group__button-text\">{{ button.label }}</span>\n }\n </span>\n </button>\n }\n <ng-content></ng-content>\n</div>\n", styles: ["@layer ig.base{.igx-button-group{--item-min-width: 2.625rem;--ig-icon-size: 1.125rem;--z-item-elevated: 2}.igx-button-group__buttons-container{display:flex;border-radius:var(--border-radius);box-shadow:var(--elevation)}.igx-button-group button{margin-top:0;margin-inline-end:0;margin-bottom:0}.igx-button-group__item{font-family:var(--ig-button-font-family, var(--ig-font-family));font-size:var(--ig-button-font-size);font-weight:var(--ig-button-font-weight);font-style:var(--ig-button-font-style);line-height:var(--ig-button-line-height);letter-spacing:var(--ig-button-letter-spacing);text-transform:var(--ig-button-text-transform);margin-top:var(--ig-button-margin-top);margin-bottom:var(--ig-button-margin-bottom);text-align:center;border:.0625rem solid var(--item-border-color);color:var(--item-text-color);background:var(--item-background);min-width:var(--item-min-width);display:flex;flex:1 0 0%;justify-content:center;align-items:center;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;z-index:0}.igx-button-group__item igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton]:hover{z-index:1;color:var(--item-hover-text-color);background:var(--item-hover-background);border-color:var(--item-hover-border-color)}.igx-button-group__item[igxButton]:hover igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item[igxButton]:active{z-index:var(--z-item-elevated);color:var(--item-hover-text-color);background:var(--item-active-background);border-color:var(--item-active-border-color)}.igx-button-group__item[igxButton]:active igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item[igxButton]{border-radius:0;background:var(--item-background);color:var(--item-text-color)}.igx-button-group__item[igxButton] igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton][disabled=true]{color:var(--disabled-text-color);background:var(--disabled-background-color);border-color:var(--item-disabled-border)}.igx-button-group__item[igxButton][disabled=true] igx-icon{color:var(--disabled-text-color)}.igx-button-group__item[igxButton].igx-button--focused{z-index:var(--z-item-elevated);color:var(--item-focused-text-color);background:var(--item-focused-background);border-color:var(--item-focused-border-color)}.igx-button-group__item[igxButton].igx-button--focused igx-icon{color:var(--item-focused-text-color)}.igx-button-group__item[igxButton].igx-button--focused:hover{background:var(--item-focused-hover-background);border-color:var(--item-focused-hover-border-color);color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:hover igx-icon{color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:active{background:var(--item-active-background);border-color:var(--item-active-border-color);color:var(--item-focused-hover-text-color)}.igx-button-group__item[igxButton].igx-button--focused:active igx-icon{color:var(--item-focused-hover-text-color)}.igx-button-group__item:not(:nth-child(1)){margin-inline-start:-.0625rem}.igx-button-group__item:first-of-type{border-start-start-radius:inherit;border-end-start-radius:inherit}.igx-button-group__item:last-of-type{border-start-end-radius:inherit;border-end-end-radius:inherit}.igx-button-group__item--selected{color:var(--item-selected-text-color);background:var(--item-selected-background);border-color:var(--item-selected-border-color);position:relative;z-index:calc(var(--z-item-elevated) + 1)}.igx-button-group__item--selected[igxButton]{background:var(--item-selected-background);border-color:var(--item-selected-border-color);color:var(--item-selected-text-color)}.igx-button-group__item--selected[igxButton] igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton]:hover{border-color:var(--item-selected-hover-border-color);color:var(--item-selected-hover-text-color);background:var(--item-selected-hover-background)}.igx-button-group__item--selected[igxButton]:hover igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton]:active{border-color:var(--item-selected-active-border-color);color:var(--item-selected-hover-text-color);background:var(--item-selected-active-background)}.igx-button-group__item--selected[igxButton]:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{background:var(--item-selected-focus-background);border-color:var(--item-selected-hover-border-color);color:var(--item-selected-text-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover{color:var(--item-selected-hover-text-color);background:var(--item-selected-focus-hover-background);border-color:var(--item-selected-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:active{background:var(--item-selected-active-background);color:var(--item-selected-hover-text-color);border-color:var(--item-selected-active-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton][disabled=true]{color:var(--disabled-selected-text-color);background:var(--disabled-selected-background);border-color:var(--disabled-selected-border-color)}.igx-button-group__item--selected[igxButton][disabled=true] igx-icon{color:var(--disabled-selected-icon-color)}.igx-button-group__item-content{display:flex;align-items:center;flex-flow:row nowrap;min-width:0}.igx-button-group__item-content *~*{margin-inline-start:.625rem}.igx-button-group__button-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:100%}.igx-button-group--vertical .igx-button-group__buttons-container{flex-flow:column}.igx-button-group--vertical .igx-button-group__item{width:100%}.igx-button-group--vertical .igx-button-group__item:not(:nth-child(1)){margin-top:-.0625rem!important;margin-inline-start:0}.igx-button-group--vertical .igx-button-group__item:first-of-type{border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-start-radius:0;border-end-end-radius:0}.igx-button-group--vertical .igx-button-group__item:last-of-type{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:inherit;border-end-end-radius:inherit}}@layer ig.material{@container style(--ig-theme: material){.igx-button-group__item--selected[igxButton].igx-button--focused{color:var(--item-selected-hover-text-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-hover-icon-color)}}}@layer ig.bootstrap{@container style(--ig-theme: bootstrap){.igx-button-group__item[igxButton].igx-button--focused{box-shadow:0 0 0 .25rem var(--idle-shadow-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{box-shadow:0 0 0 .25rem var(--selected-shadow-color)}}}@layer ig.fluent{@container style(--ig-theme: fluent){.igx-button-group__item igx-icon{--ig-icon-size: 1.125rem}.igx-button-group__item[igxButton].igx-button--focused{border-color:var(--item-border-color)}.igx-button-group__item[igxButton].igx-button--focused:hover{border-color:var(--item-focused-hover-border-color)}.igx-button-group__item[igxButton].igx-button--focused:after{content:\"\";position:absolute;inset-block-start:.125rem;inset-inline-start:.125rem;pointer-events:none;width:calc(100% - .25rem);height:calc(100% - .25rem);box-shadow:0 0 0 .0625rem var(--item-focused-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{border-color:var(--item-selected-hover-border-color)}}}@layer ig.indigo{@container style(--ig-theme: indigo){.igx-button-group{--item-min-width: rem(32px)}.igx-button-group__item{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);padding-inline:max(var(--is-large, 1)*max(.625rem,-1 * .625rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(.5rem,-1 * .5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(.375rem,-1 * .375rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}.igx-button-group__item igx-icon{--ig-icon-size: 1rem}.igx-button-group__item:hover{z-index:1}.igx-button-group__item:active{z-index:2}.igx-button-group__item[igxButton].igx-button--focused{box-shadow:0 0 0 .1875rem var(--idle-shadow-color)}.igx-button-group__item[igxButton].igx-button--focused igx-icon{color:var(--item-icon-color)}.igx-button-group__item[igxButton].igx-button--focused:hover igx-icon,.igx-button-group__item[igxButton].igx-button--focused:active igx-icon{color:var(--item-hover-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused{box-shadow:0 0 0 .1875rem var(--selected-shadow-color);border-color:var(--item-selected-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused igx-icon{color:var(--item-selected-icon-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover,.igx-button-group__item--selected[igxButton].igx-button--focused:active{border-color:var(--item-selected-hover-border-color)}.igx-button-group__item--selected[igxButton].igx-button--focused:hover igx-icon,.igx-button-group__item--selected[igxButton].igx-button--focused:active igx-icon{color:var(--item-selected-hover-icon-color)}.igx-button-group__item--selected[igxButton][disabled=true]{border:none}}}\n"] }]
|
|
451
450
|
}], propDecorators: { id: [{
|
|
@@ -502,11 +501,11 @@ const IGX_BUTTON_GROUP_DIRECTIVES = [
|
|
|
502
501
|
* IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components
|
|
503
502
|
*/
|
|
504
503
|
class IgxButtonGroupModule {
|
|
505
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.
|
|
506
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.
|
|
507
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.
|
|
504
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxButtonGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
505
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: IgxButtonGroupModule, imports: [IgxButtonGroupComponent, i2.IgxButtonDirective], exports: [IgxButtonGroupComponent, i2.IgxButtonDirective] }); }
|
|
506
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxButtonGroupModule, imports: [IgxButtonGroupComponent] }); }
|
|
508
507
|
}
|
|
509
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.
|
|
508
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: IgxButtonGroupModule, decorators: [{
|
|
510
509
|
type: NgModule,
|
|
511
510
|
args: [{
|
|
512
511
|
imports: [...IGX_BUTTON_GROUP_DIRECTIVES],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"igniteui-angular-button-group.mjs","sources":["../../../projects/igniteui-angular/button-group/src/button-group/button-group.component.ts","../../../projects/igniteui-angular/button-group/src/button-group/button-group-content.component.html","../../../projects/igniteui-angular/button-group/src/button-group/public_api.ts","../../../projects/igniteui-angular/button-group/src/button-group/button-group.module.ts","../../../projects/igniteui-angular/button-group/src/igniteui-angular-button-group.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ContentChildren,\n ChangeDetectorRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n QueryList,\n Renderer2,\n ViewChildren,\n OnDestroy,\n ElementRef,\n booleanAttribute,\n inject,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { IgxButtonDirective } from 'igniteui-angular/directives';\nimport { IgxRippleDirective } from 'igniteui-angular/directives';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { IBaseEventArgs } from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\n/**\n * Determines the Button Group alignment\n */\nexport const ButtonGroupAlignment = {\n horizontal: 'horizontal',\n vertical: 'vertical'\n} as const;\nexport type ButtonGroupAlignment = typeof ButtonGroupAlignment[keyof typeof ButtonGroupAlignment];\n\nlet NEXT_ID = 0;\n\n/**\n * **Ignite UI for Angular Button Group** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/buttongroup.html)\n *\n * The Ignite UI Button Group displays a group of buttons either vertically or horizontally. The group supports\n * single, multi and singleRequired selection.\n *\n * Example:\n * ```html\n * <igx-buttongroup selectionMode=\"multi\" [values]=\"fontOptions\">\n * </igx-buttongroup>\n * ```\n * The `fontOptions` value shown above is defined as:\n * ```typescript\n * this.fontOptions = [\n * { icon: 'format_bold', selected: false },\n * { icon: 'format_italic', selected: false },\n * { icon: 'format_underlined', selected: false }];\n * ```\n */\n@Component({\n selector: 'igx-buttongroup',\n templateUrl: 'button-group-content.component.html',\n styleUrl: 'buttongroup-content.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxButtonDirective, IgxRippleDirective, IgxIconComponent]\n})\nexport class IgxButtonGroupComponent implements AfterViewInit, OnDestroy {\n private _cdr = inject(ChangeDetectorRef);\n private _renderer = inject(Renderer2);\n private _el = inject(ElementRef);\n\n /**\n * A collection containing all buttons inside the button group.\n */\n public get buttons(): IgxButtonDirective[] {\n return [...this.viewButtons.toArray(), ...this.templateButtons.toArray()];\n }\n\n /**\n * Gets/Sets the value of the `id` attribute. If not set it will be automatically generated.\n * ```html\n * <igx-buttongroup [id]=\"'igx-dialog-56'\" [selectionMode]=\"'multi'\" [values]=\"alignOptions\">\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-buttongroup-${NEXT_ID++}`;\n\n /** @hidden @internal */\n @HostBinding('class.igx-button-group')\n public cssClass = 'igx-button-group';\n\n /** @hidden @internal */\n\n /**\n * @hidden\n */\n @HostBinding('style.zIndex')\n public zIndex = 0;\n\n /**\n * Sets/gets the role attribute value.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyButtonGroup\", { read: IgxButtonGroupComponent })\n * public badge: IgxButtonGroupComponent;\n *\n * buttonGroup.role = 'group';\n * ```\n */\n @HostBinding('attr.role')\n public role = 'group';\n\n /**\n * Allows you to set a style using the `itemContentCssClass` input.\n * The value should be the CSS class name that will be applied to the button group.\n * ```typescript\n * public style1 = \"styleClass\";\n * //..\n * ```\n * ```html\n * <igx-buttongroup [itemContentCssClass]=\"style1\" [selectionMode]=\"'multi'\" [values]=\"alignOptions\">\n * ```\n */\n @Input()\n public set itemContentCssClass(value: string) {\n this._itemContentCssClass = value || this._itemContentCssClass;\n }\n\n /**\n * Returns the CSS class of the item content of the button group.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * public buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let buttonSelect = this.buttonG.itemContentCssClass;\n * }\n * ```\n */\n public get itemContentCssClass(): string {\n return this._itemContentCssClass;\n }\n\n /**\n * Enables selecting multiple buttons. By default, multi-selection is false.\n *\n * @deprecated in version 16.1.0. Use the `selectionMode` property instead.\n */\n @Input()\n public get multiSelection() {\n if (this.selectionMode === 'multi') {\n return true;\n } else {\n return false;\n }\n }\n public set multiSelection(selectionMode: boolean) {\n if (selectionMode) {\n this.selectionMode = 'multi';\n } else {\n this.selectionMode = 'single';\n }\n }\n\n /**\n * Gets/Sets the selection mode to 'single', 'singleRequired' or 'multi' of the buttons. By default, the selection mode is 'single'.\n * ```html\n * <igx-buttongroup [selectionMode]=\"'multi'\" [alignment]=\"alignment\"></igx-buttongroup>\n * ```\n */\n @Input()\n public get selectionMode() {\n return this._selectionMode;\n }\n public set selectionMode(selectionMode: 'single' | 'singleRequired' | 'multi') {\n if (this.viewButtons && selectionMode !== this._selectionMode) {\n this.buttons.forEach((_b, i) => {\n this.deselectButton(i);\n });\n this._selectionMode = selectionMode;\n } else {\n this._selectionMode = selectionMode;\n }\n }\n\n /**\n * Property that configures the buttons in the button group using a collection of `Button` objects.\n * ```typescript\n * public ngOnInit() {\n * this.cities = [\n * new Button({\n * label: \"Sofia\"\n * }),\n * new Button({\n * label: \"London\"\n * }),\n * new Button({\n * label: \"New York\",\n * selected: true\n * }),\n * new Button({\n * label: \"Tokyo\"\n * })\n * ];\n * }\n * //..\n * ```\n * ```html\n * <igx-buttongroup [selectionMode]=\"'single'\" [values]=\"cities\"></igx-buttongroup>\n * ```\n */\n @Input() public values: any;\n\n /**\n * Disables the `igx-buttongroup` component. By default it's false.\n * ```html\n * <igx-buttongroup [disabled]=\"true\" [selectionMode]=\"'multi'\" [values]=\"fontOptions\"></igx-buttongroup>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n\n if (this.viewButtons && this.templateButtons) {\n this.buttons.forEach((b) => (b.disabled = this._disabled));\n }\n }\n }\n\n /**\n * Allows you to set the button group alignment.\n * Available options are `ButtonGroupAlignment.horizontal` (default) and `ButtonGroupAlignment.vertical`.\n * ```typescript\n * public alignment = ButtonGroupAlignment.vertical;\n * //..\n * ```\n * ```html\n * <igx-buttongroup [selectionMode]=\"'single'\" [values]=\"cities\" [alignment]=\"alignment\"></igx-buttongroup>\n * ```\n */\n @Input()\n public set alignment(value: ButtonGroupAlignment) {\n this._isVertical = value === ButtonGroupAlignment.vertical;\n }\n /**\n * Returns the alignment of the `igx-buttongroup`.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * public buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let buttonAlignment = this.buttonG.alignment;\n * }\n * ```\n */\n public get alignment(): ButtonGroupAlignment {\n return this._isVertical ? ButtonGroupAlignment.vertical : ButtonGroupAlignment.horizontal;\n }\n\n /**\n * An @Ouput property that emits an event when a button is selected.\n * ```typescript\n * @ViewChild(\"toast\")\n * private toast: IgxToastComponent;\n * public selectedHandler(buttongroup) {\n * this.toast.open()\n * }\n * //...\n * ```\n * ```html\n * <igx-buttongroup #MyChild [selectionMode]=\"'multi'\" (selected)=\"selectedHandler($event)\"></igx-buttongroup>\n * <igx-toast #toast>You have made a selection!</igx-toast>\n * ```\n */\n @Output()\n public selected = new EventEmitter<IButtonGroupEventArgs>();\n\n /**\n * An @Ouput property that emits an event when a button is deselected.\n * ```typescript\n * @ViewChild(\"toast\")\n * private toast: IgxToastComponent;\n * public deselectedHandler(buttongroup){\n * this.toast.open()\n * }\n * //...\n * ```\n * ```html\n * <igx-buttongroup> #MyChild [selectionMode]=\"'multi'\" (deselected)=\"deselectedHandler($event)\"></igx-buttongroup>\n * <igx-toast #toast>You have deselected a button!</igx-toast>\n * ```\n */\n @Output()\n public deselected = new EventEmitter<IButtonGroupEventArgs>();\n\n @ViewChildren(IgxButtonDirective) private viewButtons!: QueryList<IgxButtonDirective>;\n @ContentChildren(IgxButtonDirective) private templateButtons!: QueryList<IgxButtonDirective>;\n\n /**\n * Returns true if the `igx-buttongroup` alignment is vertical.\n * Note that in order for the accessor to work correctly the property should be set explicitly.\n * ```html\n * <igx-buttongroup #MyChild [alignment]=\"alignment\" [values]=\"alignOptions\">\n * ```\n * ```typescript\n * //...\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let orientation = this.buttonG.isVertical;\n * }\n * ```\n */\n @HostBinding('class.igx-button-group--vertical')\n public get isVertical(): boolean {\n return this._isVertical;\n }\n\n /**\n * @hidden\n */\n public selectedIndexes: number[] = [];\n\n protected buttonClickNotifier$ = new Subject<void>();\n protected queryListNotifier$ = new Subject<void>();\n\n private _isVertical!: boolean;\n private _itemContentCssClass!: string;\n private _disabled = false;\n private _selectionMode: 'single' | 'singleRequired' | 'multi' = 'single';\n\n private mutationObserver!: MutationObserver;\n private observerConfig: MutationObserverInit = {\n attributeFilter: [\"data-selected\"],\n childList: true,\n subtree: true,\n };\n\n /**\n * Gets the selected button/buttons.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let selectedButton = this.buttonG.selectedButtons;\n * }\n * ```\n */\n public get selectedButtons(): IgxButtonDirective[] {\n return this.buttons.filter((_, i) => this.selectedIndexes.indexOf(i) !== -1);\n }\n\n /**\n * Selects a button by its index.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * this.buttonG.selectButton(2);\n * this.cdr.detectChanges();\n * }\n * ```\n *\n * @memberOf {@link IgxButtonGroupComponent}\n */\n public selectButton(index: number) {\n if (index >= this.buttons.length || index < 0) {\n return;\n }\n\n const button = this.buttons[index];\n button.select();\n }\n\n /**\n * @hidden\n * @internal\n */\n public updateSelected(index: number) {\n const button = this.buttons[index];\n\n if (this.selectedIndexes.indexOf(index) === -1) {\n this.selectedIndexes.push(index);\n }\n\n this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');\n this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');\n\n const indexInViewButtons = this.viewButtons.toArray().indexOf(button);\n if (indexInViewButtons !== -1) {\n this.values[indexInViewButtons].selected = true;\n }\n\n // deselect other buttons if selectionMode is not multi\n if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {\n this.buttons.forEach((_, i) => {\n if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {\n this.deselectButton(i);\n this.updateDeselected(i);\n }\n });\n }\n\n }\n\n public updateDeselected(index: number) {\n const button = this.buttons[index];\n if (this.selectedIndexes.indexOf(index) !== -1) {\n this.selectedIndexes.splice(this.selectedIndexes.indexOf(index), 1);\n }\n\n this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'false');\n this._renderer.removeClass(button.nativeElement, 'igx-button-group__item--selected');\n\n const indexInViewButtons = this.viewButtons.toArray().indexOf(button);\n if (indexInViewButtons !== -1) {\n this.values[indexInViewButtons].selected = false;\n }\n }\n\n /**\n * Deselects a button by its index.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * this.buttonG.deselectButton(2);\n * this.cdr.detectChanges();\n * }\n * ```\n *\n * @memberOf {@link IgxButtonGroupComponent}\n */\n public deselectButton(index: number) {\n if (index >= this.buttons.length || index < 0) {\n return;\n }\n\n const button = this.buttons[index];\n button.deselect();\n }\n\n /**\n * @hidden\n */\n public ngAfterViewInit() {\n const initButtons = () => {\n // Cancel any existing buttonClick subscriptions\n this.buttonClickNotifier$.next();\n\n this.selectedIndexes.splice(0, this.selectedIndexes.length);\n\n // initial configuration\n this.buttons.forEach((button, index) => {\n const buttonElement = button.nativeElement;\n this._renderer.addClass(buttonElement, 'igx-button-group__item');\n\n if (this.disabled) {\n button.disabled = true;\n }\n\n if (button.selected) {\n this.updateSelected(index);\n }\n\n button.buttonClick.pipe(takeUntil(this.buttonClickNotifier$)).subscribe((_) => this._clickHandler(index));\n });\n };\n\n this.mutationObserver = this.setMutationsObserver()!;\n\n this.viewButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => {\n this.mutationObserver.disconnect();\n initButtons();\n this.mutationObserver?.observe(this._el.nativeElement, this.observerConfig);\n });\n this.templateButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => {\n this.mutationObserver.disconnect();\n initButtons();\n this.mutationObserver?.observe(this._el.nativeElement, this.observerConfig);\n });\n\n initButtons();\n this._cdr.detectChanges();\n this.mutationObserver?.observe(this._el.nativeElement, this.observerConfig);\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this.buttonClickNotifier$.next();\n this.buttonClickNotifier$.complete();\n\n this.queryListNotifier$.next();\n this.queryListNotifier$.complete();\n\n this.mutationObserver?.disconnect();\n }\n\n /**\n * @hidden\n */\n public _clickHandler(index: number) {\n const button = this.buttons[index];\n const args: IButtonGroupEventArgs = { owner: this, button, index };\n\n if (this.selectionMode !== 'multi') {\n this.buttons.forEach((b, i) => {\n if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {\n this.deselected.emit({ owner: this, button: b, index: i });\n }\n });\n }\n\n if (this.selectedIndexes.indexOf(index) === -1) {\n this.selectButton(index);\n this.selected.emit(args);\n } else {\n if (this.selectionMode !== 'singleRequired') {\n this.deselectButton(index);\n this.deselected.emit(args);\n }\n }\n }\n\n private setMutationsObserver() {\n if (typeof MutationObserver !== 'undefined') {\n return new MutationObserver((records, observer) => {\n // Stop observing while handling changes\n observer.disconnect();\n\n const updatedButtons = this.getUpdatedButtons(records);\n\n if (updatedButtons.length > 0) {\n updatedButtons.forEach((button) => {\n const index = this.buttons.map((b) => b.nativeElement).indexOf(button);\n\n this.updateButtonSelectionState(index);\n });\n }\n\n // Watch for changes again\n observer.observe(this._el.nativeElement, this.observerConfig);\n });\n }\n }\n\n private getUpdatedButtons(records: MutationRecord[]) {\n const updated: HTMLButtonElement[] = [];\n\n records\n .filter((x) => x.type === 'attributes')\n .reduce((prev, curr) => {\n prev.push(\n curr.target as HTMLButtonElement\n );\n return prev;\n }, updated);\n\n return updated;\n }\n\n private updateButtonSelectionState(index: number) {\n if (this.buttons[index].selected) {\n this.updateSelected(index);\n } else {\n this.updateDeselected(index);\n }\n }\n}\n\nexport interface IButtonGroupEventArgs extends IBaseEventArgs {\n owner: IgxButtonGroupComponent;\n button: IgxButtonDirective;\n index: number;\n}\n","<div class=\"igx-button-group__buttons-container\">\n @for (button of values; track button) {\n <button\n type=\"button\"\n igxButton=\"flat\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n @if (button.icon) {\n <igx-icon>{{ button.icon }}</igx-icon>\n }\n @if (button.label) {\n <span class=\"igx-button-group__button-text\">{{ button.label }}</span>\n }\n </span>\n </button>\n }\n <ng-content></ng-content>\n</div>\n","import { IgxButtonDirective } from 'igniteui-angular/directives';\nimport { IgxButtonGroupComponent } from './button-group.component';\n\nexport * from './button-group.component';\n\n/* Button group directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_BUTTON_GROUP_DIRECTIVES = [\n IgxButtonGroupComponent,\n IgxButtonDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_BUTTON_GROUP_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * @deprecated\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [...IGX_BUTTON_GROUP_DIRECTIVES],\n exports: [...IGX_BUTTON_GROUP_DIRECTIVES]\n})\nexport class IgxButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxButtonGroupComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"igniteui-angular-button-group.mjs","sources":["../../../projects/igniteui-angular/button-group/src/button-group/button-group.component.ts","../../../projects/igniteui-angular/button-group/src/button-group/button-group-content.component.html","../../../projects/igniteui-angular/button-group/src/button-group/public_api.ts","../../../projects/igniteui-angular/button-group/src/button-group/button-group.module.ts","../../../projects/igniteui-angular/button-group/src/igniteui-angular-button-group.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ContentChildren,\n ChangeDetectorRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n QueryList,\n Renderer2,\n ViewChildren,\n OnDestroy,\n ElementRef,\n booleanAttribute,\n inject,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { IgxButtonDirective } from 'igniteui-angular/directives';\nimport { IgxRippleDirective } from 'igniteui-angular/directives';\n\nimport { takeUntil } from 'rxjs/operators';\nimport { IBaseEventArgs } from 'igniteui-angular/core';\nimport { IgxIconComponent } from 'igniteui-angular/icon';\n\n/**\n * Determines the Button Group alignment\n */\nexport const ButtonGroupAlignment = {\n horizontal: 'horizontal',\n vertical: 'vertical'\n} as const;\nexport type ButtonGroupAlignment = typeof ButtonGroupAlignment[keyof typeof ButtonGroupAlignment];\n\nlet NEXT_ID = 0;\n\n/**\n * **Ignite UI for Angular Button Group** -\n * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/buttongroup.html)\n *\n * The Ignite UI Button Group displays a group of buttons either vertically or horizontally. The group supports\n * single, multi and singleRequired selection.\n *\n * Example:\n * ```html\n * <igx-buttongroup selectionMode=\"multi\" [values]=\"fontOptions\">\n * </igx-buttongroup>\n * ```\n * The `fontOptions` value shown above is defined as:\n * ```typescript\n * this.fontOptions = [\n * { icon: 'format_bold', selected: false },\n * { icon: 'format_italic', selected: false },\n * { icon: 'format_underlined', selected: false }];\n * ```\n */\n@Component({\n selector: 'igx-buttongroup',\n templateUrl: 'button-group-content.component.html',\n styleUrl: 'buttongroup-content.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [IgxButtonDirective, IgxRippleDirective, IgxIconComponent]\n})\nexport class IgxButtonGroupComponent implements AfterViewInit, OnDestroy {\n private _cdr = inject(ChangeDetectorRef);\n private _renderer = inject(Renderer2);\n private _el = inject(ElementRef);\n\n /**\n * A collection containing all buttons inside the button group.\n */\n public get buttons(): IgxButtonDirective[] {\n return [...this.viewButtons.toArray(), ...this.templateButtons.toArray()];\n }\n\n /**\n * Gets/Sets the value of the `id` attribute. If not set it will be automatically generated.\n * ```html\n * <igx-buttongroup [id]=\"'igx-dialog-56'\" [selectionMode]=\"'multi'\" [values]=\"alignOptions\">\n * ```\n */\n @HostBinding('attr.id')\n @Input()\n public id = `igx-buttongroup-${NEXT_ID++}`;\n\n /** @hidden @internal */\n @HostBinding('class.igx-button-group')\n public cssClass = 'igx-button-group';\n\n /** @hidden @internal */\n\n /**\n * @hidden\n */\n @HostBinding('style.zIndex')\n public zIndex = 0;\n\n /**\n * Sets/gets the role attribute value.\n *\n * @example\n * ```typescript\n * @ViewChild(\"MyButtonGroup\", { read: IgxButtonGroupComponent })\n * public badge: IgxButtonGroupComponent;\n *\n * buttonGroup.role = 'group';\n * ```\n */\n @HostBinding('attr.role')\n public role = 'group';\n\n /**\n * Allows you to set a style using the `itemContentCssClass` input.\n * The value should be the CSS class name that will be applied to the button group.\n * ```typescript\n * public style1 = \"styleClass\";\n * //..\n * ```\n * ```html\n * <igx-buttongroup [itemContentCssClass]=\"style1\" [selectionMode]=\"'multi'\" [values]=\"alignOptions\">\n * ```\n */\n @Input()\n public set itemContentCssClass(value: string) {\n this._itemContentCssClass = value || this._itemContentCssClass;\n }\n\n /**\n * Returns the CSS class of the item content of the button group.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * public buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let buttonSelect = this.buttonG.itemContentCssClass;\n * }\n * ```\n */\n public get itemContentCssClass(): string {\n return this._itemContentCssClass;\n }\n\n /**\n * Enables selecting multiple buttons. By default, multi-selection is false.\n *\n * @deprecated in version 16.1.0. Use the `selectionMode` property instead.\n */\n @Input()\n public get multiSelection() {\n if (this.selectionMode === 'multi') {\n return true;\n } else {\n return false;\n }\n }\n public set multiSelection(selectionMode: boolean) {\n if (selectionMode) {\n this.selectionMode = 'multi';\n } else {\n this.selectionMode = 'single';\n }\n }\n\n /**\n * Gets/Sets the selection mode to 'single', 'singleRequired' or 'multi' of the buttons. By default, the selection mode is 'single'.\n * ```html\n * <igx-buttongroup [selectionMode]=\"'multi'\" [alignment]=\"alignment\"></igx-buttongroup>\n * ```\n */\n @Input()\n public get selectionMode() {\n return this._selectionMode;\n }\n public set selectionMode(selectionMode: 'single' | 'singleRequired' | 'multi') {\n if (this.viewButtons && selectionMode !== this._selectionMode) {\n this.buttons.forEach((_, i) => {\n this.deselectButton(i);\n });\n this._selectionMode = selectionMode;\n } else {\n this._selectionMode = selectionMode;\n }\n }\n\n /**\n * Property that configures the buttons in the button group using a collection of `Button` objects.\n * ```typescript\n * public ngOnInit() {\n * this.cities = [\n * new Button({\n * label: \"Sofia\"\n * }),\n * new Button({\n * label: \"London\"\n * }),\n * new Button({\n * label: \"New York\",\n * selected: true\n * }),\n * new Button({\n * label: \"Tokyo\"\n * })\n * ];\n * }\n * //..\n * ```\n * ```html\n * <igx-buttongroup [selectionMode]=\"'single'\" [values]=\"cities\"></igx-buttongroup>\n * ```\n */\n @Input() public values: any;\n\n /**\n * Disables the `igx-buttongroup` component. By default it's false.\n * ```html\n * <igx-buttongroup [disabled]=\"true\" [selectionMode]=\"'multi'\" [values]=\"fontOptions\"></igx-buttongroup>\n * ```\n */\n @Input({ transform: booleanAttribute })\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n\n if (this.viewButtons && this.templateButtons) {\n this.buttons.forEach((b) => (b.disabled = this._disabled));\n }\n }\n }\n\n /**\n * Allows you to set the button group alignment.\n * Available options are `ButtonGroupAlignment.horizontal` (default) and `ButtonGroupAlignment.vertical`.\n * ```typescript\n * public alignment = ButtonGroupAlignment.vertical;\n * //..\n * ```\n * ```html\n * <igx-buttongroup [selectionMode]=\"'single'\" [values]=\"cities\" [alignment]=\"alignment\"></igx-buttongroup>\n * ```\n */\n @Input()\n public set alignment(value: ButtonGroupAlignment) {\n this._isVertical = value === ButtonGroupAlignment.vertical;\n }\n /**\n * Returns the alignment of the `igx-buttongroup`.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * public buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let buttonAlignment = this.buttonG.alignment;\n * }\n * ```\n */\n public get alignment(): ButtonGroupAlignment {\n return this._isVertical ? ButtonGroupAlignment.vertical : ButtonGroupAlignment.horizontal;\n }\n\n /**\n * An @Ouput property that emits an event when a button is selected.\n * ```typescript\n * @ViewChild(\"toast\")\n * private toast: IgxToastComponent;\n * public selectedHandler(buttongroup) {\n * this.toast.open()\n * }\n * //...\n * ```\n * ```html\n * <igx-buttongroup #MyChild [selectionMode]=\"'multi'\" (selected)=\"selectedHandler($event)\"></igx-buttongroup>\n * <igx-toast #toast>You have made a selection!</igx-toast>\n * ```\n */\n @Output()\n public selected = new EventEmitter<IButtonGroupEventArgs>();\n\n /**\n * An @Ouput property that emits an event when a button is deselected.\n * ```typescript\n * @ViewChild(\"toast\")\n * private toast: IgxToastComponent;\n * public deselectedHandler(buttongroup){\n * this.toast.open()\n * }\n * //...\n * ```\n * ```html\n * <igx-buttongroup> #MyChild [selectionMode]=\"'multi'\" (deselected)=\"deselectedHandler($event)\"></igx-buttongroup>\n * <igx-toast #toast>You have deselected a button!</igx-toast>\n * ```\n */\n @Output()\n public deselected = new EventEmitter<IButtonGroupEventArgs>();\n\n @ViewChildren(IgxButtonDirective) private viewButtons!: QueryList<IgxButtonDirective>;\n @ContentChildren(IgxButtonDirective) private templateButtons!: QueryList<IgxButtonDirective>;\n\n /**\n * Returns true if the `igx-buttongroup` alignment is vertical.\n * Note that in order for the accessor to work correctly the property should be set explicitly.\n * ```html\n * <igx-buttongroup #MyChild [alignment]=\"alignment\" [values]=\"alignOptions\">\n * ```\n * ```typescript\n * //...\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let orientation = this.buttonG.isVertical;\n * }\n * ```\n */\n @HostBinding('class.igx-button-group--vertical')\n public get isVertical(): boolean {\n return this._isVertical;\n }\n\n /**\n * @hidden\n */\n public selectedIndexes: number[] = [];\n\n protected buttonClickNotifier$ = new Subject<void>();\n protected queryListNotifier$ = new Subject<void>();\n\n private _isVertical!: boolean;\n private _itemContentCssClass!: string;\n private _disabled = false;\n private _selectionMode: 'single' | 'singleRequired' | 'multi' = 'single';\n\n private mutationObserver!: MutationObserver;\n private observerConfig: MutationObserverInit = {\n attributeFilter: [\"data-selected\"],\n childList: true,\n subtree: true,\n };\n\n /**\n * Gets the selected button/buttons.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * let selectedButton = this.buttonG.selectedButtons;\n * }\n * ```\n */\n public get selectedButtons(): IgxButtonDirective[] {\n return this.buttons.filter((_, i) => this.selectedIndexes.indexOf(i) !== -1);\n }\n\n /**\n * Selects a button by its index.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * this.buttonG.selectButton(2);\n * this.cdr.detectChanges();\n * }\n * ```\n *\n * @memberOf {@link IgxButtonGroupComponent}\n */\n public selectButton(index: number) {\n if (index >= this.buttons.length || index < 0) {\n return;\n }\n\n this.buttons[index].selected = true;\n this.updateSelected(index);\n }\n\n /**\n * @hidden\n * @internal\n */\n public updateSelected(index: number) {\n const button = this.buttons[index];\n\n if (this.selectedIndexes.indexOf(index) === -1) {\n this.selectedIndexes.push(index);\n }\n\n this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'true');\n this._renderer.addClass(button.nativeElement, 'igx-button-group__item--selected');\n\n const indexInViewButtons = this.viewButtons.toArray().indexOf(button);\n if (indexInViewButtons !== -1) {\n this.values[indexInViewButtons].selected = true;\n }\n\n // deselect other buttons if selectionMode is not multi\n if (this.selectionMode !== 'multi' && this.selectedIndexes.length > 1) {\n this.buttons.forEach((_, i) => {\n if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {\n this.deselectButton(i);\n }\n });\n }\n\n }\n\n public updateDeselected(index: number) {\n const button = this.buttons[index];\n if (this.selectedIndexes.indexOf(index) !== -1) {\n this.selectedIndexes.splice(this.selectedIndexes.indexOf(index), 1);\n }\n\n this._renderer.setAttribute(button.nativeElement, 'aria-pressed', 'false');\n this._renderer.removeClass(button.nativeElement, 'igx-button-group__item--selected');\n\n const indexInViewButtons = this.viewButtons.toArray().indexOf(button);\n if (indexInViewButtons !== -1) {\n this.values[indexInViewButtons].selected = false;\n }\n }\n\n /**\n * Deselects a button by its index.\n * ```typescript\n * @ViewChild(\"MyChild\")\n * private buttonG: IgxButtonGroupComponent;\n * ngAfterViewInit(){\n * this.buttonG.deselectButton(2);\n * this.cdr.detectChanges();\n * }\n * ```\n *\n * @memberOf {@link IgxButtonGroupComponent}\n */\n public deselectButton(index: number) {\n if (index >= this.buttons.length || index < 0) {\n return;\n }\n\n this.buttons[index].selected = false;\n this.updateDeselected(index);\n }\n\n /**\n * @hidden\n */\n public ngAfterViewInit() {\n const initButtons = () => {\n // Cancel any existing buttonClick subscriptions\n this.buttonClickNotifier$.next();\n\n this.selectedIndexes.splice(0, this.selectedIndexes.length);\n\n // initial configuration\n this.buttons.forEach((button, index) => {\n const buttonElement = button.nativeElement;\n this._renderer.addClass(buttonElement, 'igx-button-group__item');\n\n if (this.disabled) {\n button.disabled = true;\n }\n\n if (button.selected) {\n this.updateSelected(index);\n }\n\n button.buttonClick.pipe(takeUntil(this.buttonClickNotifier$)).subscribe((_) => this._clickHandler(index));\n });\n };\n\n this.mutationObserver = this.setMutationsObserver()!;\n\n this.viewButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => {\n this.mutationObserver.disconnect();\n initButtons();\n this.mutationObserver?.observe(this._el.nativeElement, this.observerConfig);\n });\n this.templateButtons.changes.pipe(takeUntil(this.queryListNotifier$)).subscribe(() => {\n this.mutationObserver.disconnect();\n initButtons();\n this.mutationObserver?.observe(this._el.nativeElement, this.observerConfig);\n });\n\n initButtons();\n this._cdr.detectChanges();\n this.mutationObserver?.observe(this._el.nativeElement, this.observerConfig);\n }\n\n /**\n * @hidden\n */\n public ngOnDestroy() {\n this.buttonClickNotifier$.next();\n this.buttonClickNotifier$.complete();\n\n this.queryListNotifier$.next();\n this.queryListNotifier$.complete();\n\n this.mutationObserver?.disconnect();\n }\n\n /**\n * @hidden\n */\n public _clickHandler(index: number) {\n const button = this.buttons[index];\n const args: IButtonGroupEventArgs = { owner: this, button, index };\n\n if (this.selectionMode !== 'multi') {\n this.buttons.forEach((b, i) => {\n if (i !== index && this.selectedIndexes.indexOf(i) !== -1) {\n this.deselected.emit({ owner: this, button: b, index: i });\n }\n });\n }\n\n if (this.selectedIndexes.indexOf(index) === -1) {\n this.selectButton(index);\n this.selected.emit(args);\n } else {\n if (this.selectionMode !== 'singleRequired') {\n this.deselectButton(index);\n this.deselected.emit(args);\n }\n }\n }\n\n private setMutationsObserver() {\n if (typeof MutationObserver !== 'undefined') {\n return new MutationObserver((records, observer) => {\n // Stop observing while handling changes\n observer.disconnect();\n\n const updatedButtons = this.getUpdatedButtons(records);\n\n if (updatedButtons.length > 0) {\n updatedButtons.forEach((button) => {\n const index = this.buttons.map((b) => b.nativeElement).indexOf(button);\n\n this.updateButtonSelectionState(index);\n });\n }\n\n // Watch for changes again\n observer.observe(this._el.nativeElement, this.observerConfig);\n });\n }\n }\n\n private getUpdatedButtons(records: MutationRecord[]) {\n const updated: HTMLButtonElement[] = [];\n\n records\n .filter((x) => x.type === 'attributes')\n .reduce((prev, curr) => {\n prev.push(\n curr.target as HTMLButtonElement\n );\n return prev;\n }, updated);\n\n return updated;\n }\n\n private updateButtonSelectionState(index: number) {\n if (this.buttons[index].selected) {\n this.updateSelected(index);\n } else {\n this.updateDeselected(index);\n }\n }\n}\n\nexport interface IButtonGroupEventArgs extends IBaseEventArgs {\n owner: IgxButtonGroupComponent;\n button: IgxButtonDirective;\n index: number;\n}\n","<div class=\"igx-button-group__buttons-container\">\n @for (button of values; track button) {\n <button\n type=\"button\"\n igxButton=\"flat\"\n [selected]=\"button.selected\"\n [attr.data-togglable]=\"button.togglable\"\n [disabled]=\"disabled || button.disabled\"\n [igxLabel]=\"button.label\"\n [igxRipple]=\"button.ripple\"\n >\n <span class=\"igx-button-group__item-content {{ itemContentCssClass }}\">\n @if (button.icon) {\n <igx-icon>{{ button.icon }}</igx-icon>\n }\n @if (button.label) {\n <span class=\"igx-button-group__button-text\">{{ button.label }}</span>\n }\n </span>\n </button>\n }\n <ng-content></ng-content>\n</div>\n","import { IgxButtonDirective } from 'igniteui-angular/directives';\nimport { IgxButtonGroupComponent } from './button-group.component';\n\nexport * from './button-group.component';\n\n/* Button group directives collection for ease-of-use import in standalone components scenario */\nexport const IGX_BUTTON_GROUP_DIRECTIVES = [\n IgxButtonGroupComponent,\n IgxButtonDirective\n] as const;\n","import { NgModule } from '@angular/core';\nimport { IGX_BUTTON_GROUP_DIRECTIVES } from './public_api';\n\n/**\n * @hidden\n * @deprecated\n * IMPORTANT: The following is NgModule exported for backwards-compatibility before standalone components\n */\n@NgModule({\n imports: [...IGX_BUTTON_GROUP_DIRECTIVES],\n exports: [...IGX_BUTTON_GROUP_DIRECTIVES]\n})\nexport class IgxButtonGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.IgxButtonGroupComponent"],"mappings":"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"}
|